mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-25 10:44:59 +06:00
224b4dea98
* mitosis:datagrok: fix typo'd inconsistent brace arrangement (thank you @cari66ean) * mitosis:datagrok: add makefile argument MITOSIS_DATAGROK_SLOWUART * mitosis:datagrok: return backspace to opposite space, use TT(), more - move backspace back to its position opposite space - move del to red+backspace - move tab back to tap-leftshift - move printscreen/scrolllock/pause to blue+left pinky column - use TT() instead of MO() to stick a layer on if wanted - indentation that my text editor wants - default to no audio; i can enable it at compile time. * mitosis:datagrok: modularize features, add default layer rotator key * mitosis: add MITOSIS_DATAGROK_BOTTOMSPACE makefile argument * mitosis:datagrok: README improvements; document new features * mitosis:datagrok: dot. not "number pad dot." in numbers layer * mitosis:datagrok remove unnecessary _user audio code * mitosis:datagrok: return to MO() for red/blue, keep TT() for purple in this way, the LED still updates quickly when red or blue is pressed, but we can still lock the purple layer on for 10-key numpad operation with red+tapping blue. * mitosis:datagrok: add colemak and dvorak default layers * mitosis:datagrok update readme re: available default layouts * mitosis: remove unneeded code that was overriding led_set_user also, add some comments * mitosis:datagrok: updated led setting code for new layers also, place into led_set_user where it belongs, not matrix_scan_user. * mitosis:datagrok: update LEDs when setting the default layer maybe this should go into default_layer_set? * mitosis:datagrok update readme with new imgur links + other improvements * mitosis:datagrok fix typo in image urls * mitosis:datagrok remove useless #include (ty @drashna) * mitosis:datagrok undo unnecessary change to quantum/quantum.h i can put the extern float definition in my own keymap code. (ty @drashna) * mitosis:datagrok move customized layout to my keymap no need to modify keyboard-level mitosis.h. (ty @drashna) * mitosis:datagrok update comment describing my led indicator logic * datagrok:mitosis update readme to document LED indicator.
67 lines
2.7 KiB
C
67 lines
2.7 KiB
C
#ifndef MITOSIS_H
|
|
#define MITOSIS_H
|
|
|
|
#include "quantum.h"
|
|
#include "matrix.h"
|
|
#include "backlight.h"
|
|
#include <stddef.h>
|
|
|
|
#define red_led_off PORTF |= (1<<5)
|
|
#define red_led_on PORTF &= ~(1<<5)
|
|
#define blu_led_off PORTF |= (1<<4)
|
|
#define blu_led_on PORTF &= ~(1<<4)
|
|
#define grn_led_off PORTD |= (1<<1)
|
|
#define grn_led_on PORTD &= ~(1<<1)
|
|
|
|
#define set_led_off red_led_off; grn_led_off; blu_led_off
|
|
#define set_led_red red_led_on; grn_led_off; blu_led_off
|
|
#define set_led_blue red_led_off; grn_led_off; blu_led_on
|
|
#define set_led_green red_led_off; grn_led_on; blu_led_off
|
|
#define set_led_yellow red_led_on; grn_led_on; blu_led_off
|
|
#define set_led_magenta red_led_on; grn_led_off; blu_led_on
|
|
#define set_led_cyan red_led_off; grn_led_on; blu_led_on
|
|
#define set_led_white red_led_on; grn_led_on; blu_led_on
|
|
|
|
/*
|
|
#define LED_B 5
|
|
#define LED_R 6
|
|
#define LED_G 7
|
|
|
|
#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
|
|
#define red_led_on PORTF |= (1<<LED_R)
|
|
#define red_led_off PORTF &= ~(1<<LED_R)
|
|
#define grn_led_on PORTF |= (1<<LED_G)
|
|
#define grn_led_off PORTF &= ~(1<<LED_G)
|
|
#define blu_led_on PORTF |= (1<<LED_B)
|
|
#define blu_led_off PORTF &= ~(1<<LED_B)
|
|
|
|
#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
|
|
#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
|
|
#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
|
|
#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
|
|
#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
|
|
#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
*/
|
|
|
|
// This a shortcut to help you visually see your layout.
|
|
// The first section contains all of the arguments
|
|
// The second converts the arguments into a two-dimensional array
|
|
#define LAYOUT( \
|
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
|
|
k31, k32, k33, k34, k35, k36, k37, k38, \
|
|
k41, k42, k43, k44, k45, k46, k47, k48 \
|
|
) \
|
|
{ \
|
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
|
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
|
{ KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, KC_NO }, \
|
|
{ KC_NO, k41, k42, k43, k44, k45, k46, k47, k48, KC_NO } \
|
|
}
|
|
#endif
|