1 #include QMK_KEYBOARD_H
2 #include "keymap_dvorak.h"
3 #include "sendstring_dvorak.h"
4 #include "keymap_plover.h"
5 #include "keymap_plover_dvorak.h"
8 #define SCTL(kc) LSFT(LCTL(kc))
41 qk_tap_dance_action_t tap_dance_actions[] = {
42 [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CLCK)
46 enum custom_keycodes {
47 PLACEHOLDER = SAFE_RANGE, // can always be here
48 RGB_GREEN // to set default RGB layer as green once
51 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
53 * ,--------------------------------------------------. ,--------------------------------------------------.
54 * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
55 * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
56 * | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
57 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
58 * | 14 | 15 | 16 | 17 | 18 | 19 |------| |------| 52 | 53 | 54 | 55 | 56 | 57 |
59 * |--------+------+------+------+------+------| 26 | | 58 |------+------+------+------+------+--------|
60 * | 20 | 21 | 22 | 23 | 24 | 25 | | | | 59 | 60 | 61 | 62 | 63 | 64 |
61 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
62 * | 27 | 28 | 29 | 30 | 31 | | 65 | 66 | 67 | 68 | 69 |
63 * `----------------------------------' `----------------------------------'
64 * ,-------------. ,-------------.
65 * | 32 | 33 | | 70 | 71 |
66 * ,------+------+------| |------+------+------.
67 * | | | 34 | | 72 | | |
68 * | 35 | 36 |------| |------| 74 | 75 |
69 * | | | 37 | | 73 | | |
70 * `--------------------' `--------------------'
72 [DVORAK_US] = LAYOUT_ergodox(
74 KC_ESC, KC_LABK, KC_LCBR, KC_LBRC, KC_LPRN, KC_EXLM, KC_AMPR,
75 KC_TAB, KC_QUOT, SCMD_T(KC_COMM), MEH_T(KC_DOT), ALL_T(KC_P), KC_Y, KC_AT,
76 KC_EQL, CTL_T(KC_A), SFT_T(KC_O), LT(NUMPAD_US, KC_E), LT(ARROWS_US, KC_U), KC_I,
77 KC_BSLS, ALGR_T(KC_SCLN), ALT_T(KC_Q), LT(MEDIA_FN, KC_J), GUI_T(KC_K), KC_X, KC_PERC,
78 MO(MEH_FN), TG(LAYERS_US), KC_CIRC, KC_PLUS, KC_COLN,
83 KC_SPC, KC_BSPC, KC_END,
86 KC_PIPE, KC_QUES, KC_RPRN, KC_RBRC, KC_RCBR, KC_RABK, KC_ASTR,
87 KC_HASH, KC_F, ALL_T(KC_G), MEH_T(KC_C), SCMD_T(KC_R), KC_L, KC_SLSH,
88 KC_D, LT(MOUSE_US, KC_H), LT(HYPER_FN, KC_T), SFT_T(KC_N), CTL_T(KC_S), KC_MINS,
89 KC_DLR, KC_B, GUI_T(KC_M), LT(MEDIA_FN, KC_W), ALT_T(KC_V), ALGR_T(KC_Z), KC_GRV,
90 KC_DQUO, KC_UNDS, KC_TILD, TG(DVORAK_DV), MO(MEH_FN_PLUS),
95 KC_PGDN, KC_DEL, KC_ENT
98 [PLOVER_US] = LAYOUT_ergodox(
100 XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_BTN3, GUI_T(KC_NO),
101 KC_ESC, KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_BTN5, PV_NUM,
102 KC_TAB, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR,
103 KC_CLCK, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR,
104 MO(MEH_FN), TG(LAYERS_US), PV_NUM, PV_NUM, PV_NUM,
112 KC_MS_ACCEL2, KC_MS_ACCEL1, KC_MS_ACCEL0, KC_UP, KC_APPLICATION, XXXXXXX, KC_MS_WH_UP,
113 PV_NUM, KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_MS_WH_DOWN,
114 PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD,
115 PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ,
116 PV_NUM, PV_NUM, PV_NUM, PV_NUM, MO(MEH_FN_PLUS),
121 KC_PGDOWN, PV_E, PV_U
124 [GAMING_US] = LAYOUT_ergodox(
126 KC_ESCAPE, GUI_T(KC_MINS), KC_I, KC_O, KC_P, ALGR_T(KC_EQL), KC_T,
127 KC_TAB, KC_LALT, KC_Q, KC_W, KC_E, ALL_T(KC_R), KC_G,
128 LT(MOUSE_US, KC_GRV), KC_LCTRL, KC_A, KC_S, KC_D, MEH_T(KC_F),
129 KC_BSLS, KC_LSHIFT, KC_Z, KC_X, KC_C, SCMD_T(KC_V), KC_M,
130 MO(MEH_FN), TG(LAYERS_US), KC_COMM, KC_DOT, KC_LBRC,
133 MO(MEDIA_FN), KC_NLCK,
135 KC_SPACE, KC_ENTER, KC_BSPACE,
138 KC_QUOT, KC_Y, KC_K, KC_U, KC_KP_7, KC_KP_8, KC_KP_9,
139 KC_MS_WH_UP, KC_H, KC_J, KC_L, KC_KP_4, KC_KP_2, KC_KP_6,
140 KC_B, KC_MS_UP, KC_N, KC_KP_1, KC_KP_5, KC_KP_3,
141 KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_UP, KC_KP_0, KC_SLASH,
142 KC_RBRC, KC_LEFT, KC_DOWN, KC_RIGHT, MO(MEH_FN_PLUS),
145 KC_MS_BTN5, MO(HYPER_FN),
147 KC_MS_BTN3, KC_MS_BTN2, KC_MS_BTN1
150 [ARROWS_US] = LAYOUT_ergodox(
152 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
153 XXXXXXX, SCMD_T(KC_NO), MEH_T(KC_NO), ALL_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
154 XXXXXXX, KC_LCTRL, KC_LSHIFT, XXXXXXX, _______, XXXXXXX,
155 XXXXXXX, KC_RALT, KC_LALT, GUI_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
156 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
161 KC_SPACE, KC_BSPACE, KC_END,
164 LGUI(KC_X), XXXXXXX, LCTL(KC_X), KC_MS_WH_UP, XXXXXXX, XXXXXXX, XXXXXXX,
165 LGUI(KC_C), XXXXXXX, LCTL(KC_C), KC_UP, SCTL(KC_C), LCTL(KC_Z), LGUI(KC_Z),
166 KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_APPLICATION,
167 LGUI(KC_V), XXXXXXX, LCTL(KC_V), KC_MS_WH_DOWN, SCTL(KC_V), LCTL(KC_Y), SGUI(KC_Z),
168 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK,
173 KC_PGDOWN, KC_DELETE, KC_ENTER
176 [MOUSE_US] = LAYOUT_ergodox(
178 XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_UP, LCTL(KC_X), XXXXXXX, LGUI(KC_X),
179 LGUI(KC_Z), LCTL(KC_Z), SCTL(KC_C), KC_MS_UP, LCTL(KC_C), KC_MS_BTN4, LGUI(KC_C),
180 KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_RIGHT,
181 LGUI(KC_Z), LCTL(KC_Y), SCTL(KC_V), KC_MS_WH_DOWN, LCTL(KC_V), KC_MS_BTN5, LGUI(KC_V),
182 KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
187 KC_MS_BTN1, KC_MS_BTN2, XXXXXXX,
190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
191 XXXXXXX, XXXXXXX, XXXXXXX, ALL_T(KC_NO), MEH_T(KC_NO), SCMD_T(KC_NO), XXXXXXX,
192 XXXXXXX, _______, KC_MS_ACCEL1, KC_LSHIFT, KC_LCTRL, KC_MS_ACCEL2,
193 XXXXXXX, XXXXXXX, XXXXXXX, GUI_T(KC_NO), KC_LALT, KC_RALT, XXXXXXX,
194 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
199 XXXXXXX, XXXXXXX, KC_MS_ACCEL0
202 [NUMPAD_US] = LAYOUT_ergodox(
204 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
205 XXXXXXX, XXXXXXX, GUI_T(KC_NO), XXXXXXX, ALL_T(KC_NO), XXXXXXX, XXXXXXX,
206 _______, KC_LCTRL, KC_LSHIFT, _______, MEH_T(KC_NO), XXXXXXX,
207 XXXXXXX, KC_RALT, KC_LALT, XXXXXXX, SCMD_T(KC_NO), XXXXXXX, XXXXXXX,
208 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
213 KC_SPACE, KC_BSPACE, KC_END,
216 KC_X, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F,
217 KC_O, KC_I, KC_1, KC_2, KC_3, KC_SLSH, KC_PERC,
218 KC_M, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS,
219 KC_L, KC_J, KC_7, KC_8, KC_9, KC_ASTR, KC_CIRC,
220 KC_DOT, KC_0, KC_COMM, KC_UNDS, KC_BSLS,
225 KC_PGDOWN, KC_DELETE, KC_ENTER
228 [LAYERS_US] = LAYOUT_ergodox(
230 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
231 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
232 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
233 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
234 XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
239 XXXXXXX, XXXXXXX, XXXXXXX,
242 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
243 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
244 XXXXXXX, TO(DVORAK_US), TO(PLOVER_US), TO(GAMING_US), XXXXXXX, XXXXXXX,
245 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
246 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
251 XXXXXXX, XXXXXXX, XXXXXXX
254 [DVORAK_DV] = LAYOUT_ergodox(
256 KC_ESC, DV_LABK, DV_LCBR, DV_LBRC, DV_LPRN, DV_EXLM, DV_AMPR,
257 KC_TAB, DV_QUOT, SCMD_T(DV_COMM), MEH_T(DV_DOT), ALL_T(DV_P), DV_Y, DV_AT,
258 DV_EQL, CTL_T(DV_A), SFT_T(DV_O), LT(NUMPAD_DV, DV_E), LT(ARROWS_DV, DV_U), DV_I,
259 DV_BSLS, ALGR_T(DV_SCLN), ALT_T(DV_Q), LT(MEDIA_FN, DV_J), GUI_T(DV_K), DV_X, DV_PERC,
260 MO(MEH_FN), TG(LAYERS_DV), DV_CIRC, DV_PLUS, DV_COLN,
265 KC_SPC, KC_BSPC, KC_END,
268 DV_PIPE, DV_QUES, DV_RPRN, DV_RBRC, DV_RCBR, DV_RABK, DV_ASTR,
269 DV_HASH, DV_F, ALL_T(DV_G), MEH_T(DV_C), SCMD_T(DV_R), DV_L, DV_SLSH,
270 DV_D, LT(MOUSE_DV, DV_H), LT(HYPER_FN, DV_T), SFT_T(DV_N), CTL_T(DV_S), DV_MINS,
271 DV_DLR, DV_B, GUI_T(DV_M), LT(MEDIA_FN, DV_W), ALT_T(DV_V), ALGR_T(DV_Z), DV_GRV,
272 DV_DQUO, DV_UNDS, DV_TILD, _______, MO(MEH_FN_PLUS),
277 KC_PGDN, KC_DEL, KC_ENT
280 [PLOVER_DV] = LAYOUT_ergodox(
282 XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_BTN3, GUI_T(KC_NO),
283 KC_ESC, KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_BTN5, PD_NUM,
284 KC_TAB, PD_LS, PD_LT, PD_LP, PD_LH, PD_STAR,
285 KC_CLCK, PD_LS, PD_LK, PD_LW, PD_LR, PD_STAR, PD_STAR,
286 MO(MEH_FN), TG(LAYERS_DV), PD_NUM, PD_NUM, PD_NUM,
294 KC_MS_ACCEL2, KC_MS_ACCEL1, KC_MS_ACCEL0, KC_UP, KC_APPLICATION, XXXXXXX, KC_MS_WH_UP,
295 PD_NUM, KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_MS_WH_DOWN,
296 PD_STAR, PD_RF, PD_RP, PD_RL, PD_RT, PD_RD,
297 PD_STAR, PD_STAR, PD_RR, PD_RB, PD_RG, PD_RS, PD_RZ,
298 PD_NUM, PD_NUM, PD_NUM, PD_NUM, MO(MEH_FN_PLUS),
303 KC_PGDOWN, PD_E, PD_U
306 [GAMING_DV] = LAYOUT_ergodox(
308 KC_ESCAPE, GUI_T(DV_MINS), DV_I, DV_O, DV_P, ALGR_T(DV_EQL), DV_T,
309 KC_TAB, KC_LALT, DV_Q, DV_W, DV_E, ALL_T(DV_R), DV_G,
310 LT(MOUSE_DV, DV_GRV), KC_LCTRL, DV_A, DV_S, DV_D, MEH_T(DV_F),
311 DV_BSLS, KC_LSHIFT, DV_Z, DV_X, DV_C, SCMD_T(DV_V), DV_M,
312 MO(MEH_FN), TG(LAYERS_DV), DV_COMM, DV_DOT, DV_LBRC,
315 MO(MEDIA_FN), KC_NLCK,
317 KC_SPACE, KC_ENTER, KC_BSPACE,
320 DV_QUOT, DV_Y, DV_K, DV_U, KC_KP_7, KC_KP_8, KC_KP_9,
321 KC_MS_WH_UP, DV_H, DV_J, DV_L, KC_KP_4, KC_KP_2, KC_KP_6,
322 DV_B, KC_MS_UP, DV_N, KC_KP_1, KC_KP_5, KC_KP_3,
323 KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_UP, KC_KP_0, DV_SLSH,
324 DV_RBRC, KC_LEFT, KC_DOWN, KC_RIGHT, MO(MEH_FN_PLUS),
327 KC_MS_BTN5, MO(HYPER_FN),
329 KC_MS_BTN3, KC_MS_BTN2, KC_MS_BTN1
332 [ARROWS_DV] = LAYOUT_ergodox(
334 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
335 XXXXXXX, SCMD_T(KC_NO), MEH_T(KC_NO), ALL_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
336 XXXXXXX, KC_LCTRL, KC_LSHIFT, XXXXXXX, _______, XXXXXXX,
337 XXXXXXX, KC_RALT, KC_LALT, GUI_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
338 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
343 KC_SPACE, KC_BSPACE, KC_END,
346 LGUI(DV_X), XXXXXXX, LCTL(DV_X), KC_MS_WH_UP, XXXXXXX, XXXXXXX, XXXXXXX,
347 LGUI(DV_C), XXXXXXX, LCTL(DV_C), KC_UP, SCTL(DV_C), LCTL(DV_Z), LGUI(DV_Z),
348 KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_APPLICATION,
349 LGUI(DV_V), XXXXXXX, LCTL(DV_V), KC_MS_WH_DOWN, SCTL(DV_V), LCTL(DV_Y), SGUI(DV_Z),
350 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK,
355 KC_PGDOWN, KC_DELETE, KC_ENTER
358 [MOUSE_DV] = LAYOUT_ergodox(
360 XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_UP, LCTL(DV_X), XXXXXXX, LGUI(DV_X),
361 LGUI(DV_Z), LCTL(DV_Z), SCTL(DV_C), KC_MS_UP, LCTL(DV_C), KC_MS_BTN4, LGUI(DV_C),
362 KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_RIGHT,
363 LGUI(DV_Z), LCTL(DV_Y), SCTL(DV_V), KC_MS_WH_DOWN, LCTL(DV_V), KC_MS_BTN5, LGUI(DV_V),
364 KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
369 KC_MS_BTN1, KC_MS_BTN2, XXXXXXX,
372 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
373 XXXXXXX, XXXXXXX, XXXXXXX, ALL_T(KC_NO), MEH_T(KC_NO), SCMD_T(KC_NO), XXXXXXX,
374 XXXXXXX, _______, KC_MS_ACCEL1, KC_LSHIFT, KC_LCTRL, KC_MS_ACCEL2,
375 XXXXXXX, XXXXXXX, XXXXXXX, GUI_T(KC_NO), KC_LALT, KC_RALT, XXXXXXX,
376 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
381 XXXXXXX, XXXXXXX, KC_MS_ACCEL0
384 [NUMPAD_DV] = LAYOUT_ergodox(
386 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
387 XXXXXXX, XXXXXXX, GUI_T(KC_NO), XXXXXXX, ALL_T(KC_NO), XXXXXXX, XXXXXXX,
388 _______, KC_LCTRL, KC_LSHIFT, _______, MEH_T(KC_NO), XXXXXXX,
389 XXXXXXX, KC_RALT, KC_LALT, XXXXXXX, SCMD_T(KC_NO), XXXXXXX, XXXXXXX,
390 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
395 KC_SPACE, KC_BSPACE, KC_END,
398 DV_X, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F,
399 DV_O, DV_I, DV_1, DV_2, DV_3, DV_SLSH, DV_PERC,
400 DV_M, DV_4, DV_5, DV_6, DV_PLUS, DV_MINS,
401 DV_L, DV_J, DV_7, DV_8, DV_9, DV_ASTR, DV_CIRC,
402 DV_DOT, DV_0, DV_COMM, DV_UNDS, DV_BSLS,
407 KC_PGDOWN, KC_DELETE, KC_ENTER
410 [LAYERS_DV] = LAYOUT_ergodox(
412 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
413 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
414 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
415 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
416 XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
421 XXXXXXX, XXXXXXX, XXXXXXX,
424 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
425 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
426 XXXXXXX, TO(DVORAK_DV), TO(PLOVER_DV), TO(GAMING_DV), XXXXXXX, XXXXXXX,
427 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
428 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
433 XXXXXXX, XXXXXXX, XXXXXXX
436 [MEDIA_FN] = LAYOUT_ergodox(
438 KC_AUDIO_VOL_DOWN, KC_AUDIO_MUTE, RGB_TOG, XXXXXXX, KC_MAIL, KC_FIND, KC_WWW_REFRESH,
439 KC_MEDIA_PREV_TRACK, KC_F9, KC_F7, KC_F5, KC_F3, KC_F1, KC_WWW_HOME,
440 KC_PAUSE, KC_F19, KC_F17, KC_F15, KC_F13, KC_F11,
441 RGB_HUD, XXXXXXX, XXXXXXX, _______, KC_F23, KC_F21, KC_WWW_BACK,
442 RGB_VAD, KC_CLCK, KC_PSCREEN, XXXXXXX, MO(FIRMWARE),
447 XXXXXXX, XXXXXXX, KC_MEDIA_EJECT,
450 KC_WWW_FAVORITES, KC_MY_COMPUTER, KC_CALCULATOR, XXXXXXX, RGB_MOD, RGB_M_P, KC_AUDIO_VOL_UP,
451 KC_WWW_SEARCH, KC_F2, KC_F4, KC_F6, KC_F8, KC_F10, KC_MEDIA_NEXT_TRACK,
452 KC_F12, KC_F14, KC_F16, KC_F18, KC_F20, KC_MEDIA_PLAY_PAUSE,
453 KC_WWW_FORWARD, KC_F22, KC_F24, _______, XXXXXXX, XXXXXXX, RGB_HUI,
454 KC_SYSTEM_POWER, XXXXXXX, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, RGB_VAI,
459 RGB_GREEN, XXXXXXX, XXXXXXX
462 [HYPER_FN] = LAYOUT_ergodox(
464 XXXXXXX, HYPR(KC_F1), HYPR(KC_F2), HYPR(KC_F3), HYPR(KC_F4), HYPR(KC_F5), XXXXXXX,
465 XXXXXXX, HYPR(KC_F6), HYPR(KC_F7), HYPR(KC_F8), HYPR(KC_F9), HYPR(KC_F10), XXXXXXX,
466 XXXXXXX, HYPR(KC_F11), HYPR(KC_F12), HYPR(KC_F13), HYPR(KC_F14), HYPR(KC_F15),
467 XXXXXXX, HYPR(KC_F16), HYPR(KC_F17), HYPR(KC_F18), HYPR(KC_F19), HYPR(KC_F20), XXXXXXX,
468 XXXXXXX, HYPR(KC_F21), HYPR(KC_F22), HYPR(KC_F23), HYPR(KC_F24),
473 XXXXXXX, XXXXXXX, XXXXXXX,
476 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
477 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
478 XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
479 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
480 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
485 XXXXXXX, XXXXXXX, XXXXXXX
488 [MEH_FN] = LAYOUT_ergodox(
490 LCA(KC_F11), LCA(KC_F9), LCA(KC_F7), LCA(KC_F5), LCA(KC_F3), LCA(KC_F1), XXXXXXX,
491 LCAG(KC_F11), LCAG(KC_F9), LCAG(KC_F7), LCAG(KC_F5), LCAG(KC_F3), LCAG(KC_F1), XXXXXXX,
492 MEH(KC_F11), MEH(KC_F9), MEH(KC_F7), MEH(KC_F5), MEH(KC_F3), MEH(KC_F1),
493 SGUI(KC_F11), SGUI(KC_F9), SGUI(KC_F7), SGUI(KC_F5), SGUI(KC_F3), SGUI(KC_F1), XXXXXXX,
494 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
499 XXXXXXX, XXXXXXX, XXXXXXX,
502 XXXXXXX, LCA(KC_F2), LCA(KC_F4), LCA(KC_F6), LCA(KC_F8), LCA(KC_F10), LCA(KC_F12),
503 XXXXXXX, LCAG(KC_F2), LCAG(KC_F4), LCAG(KC_F6), LCAG(KC_F8), LCAG(KC_F10), LCAG(KC_F12),
504 MEH(KC_F2), MEH(KC_F4), MEH(KC_F6), MEH(KC_F8), MEH(KC_F10), MEH(KC_F12),
505 XXXXXXX, SGUI(KC_F2), SGUI(KC_F4), SGUI(KC_F6), SGUI(KC_F8), SGUI(KC_F10), SGUI(KC_F12),
506 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
511 XXXXXXX, XXXXXXX, XXXXXXX
514 [MEH_FN_PLUS] = LAYOUT_ergodox(
516 LCA(KC_F23), LCA(KC_F21), LCA(KC_F19), LCA(KC_F17), LCA(KC_F15), LCA(KC_F13), XXXXXXX,
517 LCAG(KC_F23), LCAG(KC_F21), LCAG(KC_F19), LCAG(KC_F17), LCAG(KC_F15), LCAG(KC_F13), XXXXXXX,
518 MEH(KC_F23), MEH(KC_F21), MEH(KC_F19), MEH(KC_F17), MEH(KC_F15), MEH(KC_F13),
519 SGUI(KC_F23), SGUI(KC_F21), SGUI(KC_F19), SGUI(KC_F17), SGUI(KC_F15), SGUI(KC_F13), XXXXXXX,
520 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
525 XXXXXXX, XXXXXXX, XXXXXXX,
528 XXXXXXX, LCA(KC_F14), LCA(KC_F16), LCA(KC_F18), LCA(KC_F20), LCA(KC_F22), LCA(KC_F24),
529 XXXXXXX, LCAG(KC_F14), LCAG(KC_F16), LCAG(KC_F18), LCAG(KC_F20), LCAG(KC_F22), LCAG(KC_F24),
530 MEH(KC_F14), MEH(KC_F16), MEH(KC_F18), MEH(KC_F20), MEH(KC_F22), MEH(KC_F24),
531 XXXXXXX, SGUI(KC_F14), SGUI(KC_F16), SGUI(KC_F18), SGUI(KC_F20), SGUI(KC_F22), SGUI(KC_F24),
532 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
537 XXXXXXX, XXXXXXX, XXXXXXX
540 [FIRMWARE] = LAYOUT_ergodox(
542 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
543 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
544 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
545 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
546 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
551 RESET, XXXXXXX, XXXXXXX,
554 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
555 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
556 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
557 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
558 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
563 XXXXXXX, XXXXXXX, EEP_RST
568 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
571 if (record->event.pressed) {
572 #ifdef RGBLIGHT_ENABLE
575 rgblight_sethsv_red();
582 if (record->event.pressed) {
584 ergodox_right_led_1_on();
587 ergodox_right_led_1_off();
595 if (record->event.pressed) {
597 ergodox_right_led_2_on();
600 ergodox_right_led_2_off();
608 if (record->event.pressed) {
609 if (!(SCROLL_LOCK)) {
610 ergodox_right_led_3_on();
613 ergodox_right_led_3_off();
619 if (record->event.pressed) {
628 if (record->event.pressed) {
637 if (record->event.pressed) {
646 if (record->event.pressed) {
659 uint32_t layer_state_set_user(uint32_t state) {
660 uint8_t layer = biton32(state);
664 rgblight_sethsv_noeeprom_red();
665 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
670 rgblight_sethsv_noeeprom_red();
671 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
676 rgblight_sethsv_noeeprom_red();
677 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
682 rgblight_sethsv_noeeprom_blue();
683 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
688 rgblight_sethsv_noeeprom_blue();
689 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
694 rgblight_sethsv_noeeprom_blue();
695 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
700 rgblight_sethsv_noeeprom_cyan();
701 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
706 rgblight_sethsv_noeeprom_green();
707 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
711 rgblight_sethsv_noeeprom_green();
712 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
717 rgblight_sethsv_noeeprom_green();
718 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
723 rgblight_sethsv_noeeprom_blue();
724 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
729 rgblight_sethsv_noeeprom_blue();
730 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
735 rgblight_sethsv_noeeprom_blue();
736 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
741 rgblight_sethsv_noeeprom_cyan();
742 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
747 rgblight_sethsv_noeeprom_yellow();
748 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
753 rgblight_sethsv_noeeprom_magenta();
754 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
759 rgblight_sethsv_noeeprom_magenta();
760 rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 4);
765 rgblight_sethsv_noeeprom_magenta();
766 rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 5);
771 rgblight_sethsv_noeeprom_pink();
772 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);