1 #include QMK_KEYBOARD_H
6 //Following line allows macro to read current RGB settings
7 extern rgblight_config_t rgblight_config
;
10 extern uint8_t is_master
;
12 // Each layer gets a name for readability, which is then used in the keymap matrix below.
13 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
14 // Layer names don't all need to be of the same length, obviously, and you can also skip them
15 // entirely and just use numbers.
26 enum custom_keycodes
{
40 qk_tap_dance_action_t tap_dance_actions
[] = {
41 [TD_ESFL
] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC
, _FLOCK
),
42 [TD_ESQW
] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC
, _QWERTY
),
45 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
46 [_QWERTY
] = LAYOUT_with_setta21( \
47 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
48 TG(_MOUSE
),TD(TD_ESFL
), KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, JP_MINS
, KC_BSPC
,LT(_LOWER
, KC_P0
),KC_P1
, KC_P4
, KC_P7
,KC_NLCK
, KC_ESC
, \
49 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
50 TG(_BROWSER
), KC_TAB
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, JP_LBRC
, JP_RBRC
, KC_P2
, KC_P5
, KC_P8
,KC_PSLS
, KC_F2
, \
51 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
52 KC_LCTRL
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, JP_MINS
, JP_BSLS
, KC_ENT
,LT(_RAISE
, KC_PDOT
),KC_P3
,KC_P6
, KC_P9
,KC_PAST
, KC_EQL
, \
53 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
54 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, JP_COMM
, JP_DOT
, JP_SLSH
, KC_UP
, KC_RSFT
, KC_PENT
, KC_PPLS
,KC_PMNS
, KC_DEL
, \
55 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
56 KC_ZKHK
, LGUI_T(KC_MHEN
),LT(_LOWER
,KC_ENT
), KC_BSPC
, KC_DEL
,LT(_RAISE
,KC_SPC
),ALT_T(KC_HENK
),KC_LEFT
,KC_DOWN
,KC_RIGHT \
57 //`-----------------------------------------------------------------------------------------------------------------------------------'
60 [_MOUSE
] = LAYOUT_with_setta21( \
61 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
62 TG(_MOUSE
), _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
,_______
, \
63 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
64 XXXXXXX
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
, \
65 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
66 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
,_______
, \
67 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
68 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_BTN1
, KC_MS_U
, KC_BTN2
, _______
, _______
,_______
,_______
, \
69 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
70 _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_MS_L
, KC_MS_D
, KC_MS_R \
71 //`-----------------------------------------------------------------------------------------------------------------------------------'
74 [_BROWSER
] = LAYOUT_with_setta21( \
75 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
76 XXXXXXX
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
,_______
, \
77 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
78 TG(_BROWSER
), _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_PGUP
, _______
,_______
,_______
,_______
,_______
, \
79 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
80 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_PGDN
, _______
,_______
,_______
,_______
,_______
,_______
, \
81 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
82 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,LCTL(LSFT(KC_T
)),KC_UP
,LCTL(KC_W
), _______
, _______
,_______
,_______
, \
83 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
84 _______
, _______
, _______
, _______
, _______
, _______
, _______
,LCTL(LSFT(KC_TAB
)),KC_DOWN
,LCTL(KC_TAB
) \
85 //`-----------------------------------------------------------------------------------------------------------------------------------'
88 [_FLOCK
] = LAYOUT_with_setta21( \
89 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
90 _______
,TD(TD_ESQW
),KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, _______
,_______
,_______
,_______
,_______
,_______
, \
91 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
92 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
, \
93 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
94 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
,_______
,_______
,_______
, \
95 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
96 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
, \
97 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
98 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______ \
99 //`-----------------------------------------------------------------------------------------------------------------------------------'
102 [_LOWER
] = LAYOUT_with_setta21( \
103 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
104 _______
, KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, MO(_LOWER
),XXXXXXX
,KC_LEFT
,XXXXXXX
,XXXXXXX
, KC_ESC
, \
105 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
106 _______
, JP_QUOT
, JP_EXLM
, JP_QUES
, JP_LBRC
, JP_RBRC
, JP_TILD
, KC_P6
, KC_P7
, KC_P8
, KC_P9
, JP_ASTR
, JP_SLSH
, XXXXXXX
, KC_DOWN
,KC_DOWN
, KC_UP
,KC_PSLS
, KC_F2
, \
107 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
108 JP_QUOT
, JP_HASH
, JP_DQT
, JP_LPRN
, JP_RPRN
, JP_AT
, XXXXXXX
, KC_P4
, KC_P5
, KC_P6
, JP_MINS
, JP_EQL
, KC_ENT
, MO(_RAISE
),XXXXXXX
,KC_RIGHT
,XXXXXXX
,KC_PAST
,KC_EQL
, \
109 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
110 JP_CIRC
, JP_PERC
, JP_AMPR
, JP_SCLN
, JP_COLN
, JP_PIPE
, KC_P0
, KC_P1
, KC_P2
, KC_P3
, JP_PLUS
, KC_UP
, KC_RSFT
, KC_PENT
, KC_PPLS
,KC_PMNS
, KC_DEL
, \
111 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
112 KC_ZKHK
, _______
, MO(_LOWER
), _______
, _______
, MO(_RAISE
), JP_DOT
, KC_LEFT
, KC_DOWN
, KC_RIGHT \
113 //`-----------------------------------------------------------------------------------------------------------------------------------'
116 [_RAISE
] = LAYOUT_with_setta21( \
117 //,--------------------------------------------------------------| |--------------------------------------------------------------. |------------------------------------------------|
118 _______
, KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, _______
, KC_F11
, KC_F4
, KC_F7
,SEND_MIN
, KC_ESC
, \
119 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
120 _______
, KC_TAB
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, XXXXXXX
, XXXXXXX
, KC_UP
, XXXXXXX
, KC_PGUP
, XXXXXXX
, XXXXXXX
, KC_F12
, KC_F5
, KC_F8
,SEND_MAX
, KC_F2
, \
121 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
122 LCTL_T(KC_F11
), XXXXXXX
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, XXXXXXX
, KC_LEFT
, KC_DOWN
,KC_RIGHT
, XXXXXXX
, XXXXXXX
, _______
, _______
, KC_F3
, KC_F6
, KC_F9
,SEND_CIF
, KC_EQL
, \
123 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
124 SFT_T(KC_F12
), KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, KC_PGDN
, _______
, _______
, KC_RPRN
, SEND_SUM
,SEND_AVE
, KC_DEL
, \
125 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
126 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______ \
127 //`-----------------------------------------------------------------------------------------------------------------------------------'
131 [_ADJUST
] = LAYOUT_with_setta21( /* Base */
132 //,--------------------------------------------------------------| |--------------------------------------------------------------. |-----------------------------------------------|
133 _______
, RESET
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, _______
,RGB_VAD
,RGB_HUD
,RGB_SAD
,XXXXXXX
,_______
, \
134 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
135 _______
, _______
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, RGB_RST
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
, RGB_VAI
,RGB_HUI
,RGB_SAI
,XXXXXXX
,_______
, \
136 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
137 _______
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, RGB_TOG
, RGB_MOD
, XXXXXXX
,LCA(KC_DEL
),LALT(KC_PSCR
),KC_PSCR
,XXXXXXX
, _______
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,_______
, \
138 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
139 _______
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, RGB_VAD
, RGB_VAI
, RGB_HUD
, RGB_HUI
, RGB_SAD
, RGB_SAI
, XXXXXXX
, RGB_MOD
, RGB_TOG
,_______
,_______
, \
140 // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
141 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______ \
142 //`-----------------------------------------------------------------------------------------------------------------------------------'
146 //A description for expressing the layer position in LED mode.
147 layer_state_t
layer_state_set_user(layer_state_t state
) {
148 state
= update_tri_layer_state(state
, _RAISE
, _LOWER
, _ADJUST
);
149 #ifdef RGBLIGHT_ENABLE
150 switch (get_highest_layer(state
)) {
152 rgblight_sethsv_at(HSV_RED
, 0);
155 rgblight_sethsv_at(HSV_RED
, 1);
158 rgblight_sethsv_range(HSV_YELLOW
, 0, 2);
161 rgblight_sethsv_range(HSV_BLUE
, 0, 2);
164 rgblight_sethsv_range(HSV_RED
, 0, 2);
167 rgblight_sethsv_range(HSV_PURPLE
, 0, 2);
169 default: // for any other layers, or the default layer
170 rgblight_sethsv_range( 0, 0, 0, 0, 2);
173 rgblight_set_effect_range( 2, 6);
178 int RGB_current_mode
;
179 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
184 if (record
->event
.pressed
) {
185 SEND_STRING("=SUM(");
189 if (record
->event
.pressed
) {
190 SEND_STRING("=AVERAGE(");
194 if (record
->event
.pressed
) {
195 SEND_STRING("=COUNTIF(");
199 if (record
->event
.pressed
) {
200 SEND_STRING("=MAX(");
204 if (record
->event
.pressed
) {
205 SEND_STRING("=MIN(");
208 #ifdef RGBLIGHT_ENABLE
210 if (record
->event
.pressed
) {
211 rgblight_mode(RGB_current_mode
);
213 RGB_current_mode
= rgblight_config
.mode
;
217 if (record
->event
.pressed
) {
218 eeconfig_update_rgblight_default();
220 RGB_current_mode
= rgblight_config
.mode
;
232 void matrix_init_user(void) {