aboutsummaryrefslogtreecommitdiff
path: root/layouts/community/ergodox/drashna/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community/ergodox/drashna/keymap.c')
-rw-r--r--layouts/community/ergodox/drashna/keymap.c219
1 files changed, 45 insertions, 174 deletions
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 600e29020..430328fed 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -56,145 +56,33 @@ bool skip_leds = false;
56 KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ 56 KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \
57 ) 57 )
58 58
59#define LAYOUT_ergodox_pretty_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__) 59#define LAYOUT_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__)
60 60
61 61
62 62
63const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 63const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
64/* Keymap 0: QWERTY Layer 64 [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
65 * 65 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
66 * 66 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
67 * ,--------------------------------------------------. ,--------------------------------------------------. 67 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
68 * | = + | 1 ! | 2 @ | 3 # | 4 $ | 5 % | TG(4)| | TG(4)| 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | 68 ),
69 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 69
70 * | TAB | Q | W | E | R | T | TG(3)| |TG(3) | Y | U | I | O | P | \ | | 70 [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
71 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 71 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
72 * | Bksp | A | S | D | F | G |------| |------| H | J | K | L | ; | ' " | 72 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
73 * |--------+------+------+------+------+------| TG(2)| | TG(2)|------+------+------+------+------+--------| 73 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
74 * | Shift | Z | X | C | V | B | | | | N | M | , < | . > | ? / | Shift | 74 ),
75 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 75 [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
76 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB | 76 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
77 * `----------------------------------' `----------------------------------' 77 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
78 * ,--------------. ,--------------. 78 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
79 * |Alt/Ap| Win | | Alt |Ctl/Esc| 79 ),
80 * ,------|------|-------| |------+-------+------. 80
81 * | | | Home | | PgUp | | | 81 [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
82 * | Space| Bksp |-------| |------| DEL |Enter | 82 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
83 * | | | End | | PgDn | | | 83 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
84 * `---------------------' `---------------------' 84 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
85 */ 85 ),
86 [_QWERTY] = LAYOUT_ergodox_pretty_base_wrapper(
87 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
88 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
89 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
90 ),
91/* Keymap 0: COLEMAK layer
92 *
93 * ,--------------------------------------------------. ,--------------------------------------------------.
94 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
95 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
96 * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ |
97 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
98 * | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
99 * |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
100 * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
101 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
102 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
103 * `----------------------------------' `----------------------------------'
104 * ,-------------. ,-------------.
105 * | App | LGui | | Alt |Ctrl/Esc|
106 * ,------|------|------| |------+--------+------.
107 * | | | Home | | PgUp | | |
108 * | Space|Backsp|------| |------| Tab |Enter |
109 * | |ace | End | | PgDn | | |
110 * `--------------------' `----------------------'
111 */
112// If it accepts an argument (i.e, is a function), it doesn't need KC_.
113// Otherwise, it needs KC_*
114 [_COLEMAK] = LAYOUT_ergodox_pretty_base_wrapper(
115 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
116 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
117 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
118 ),
119/* Keymap 0: DVORAK Layout
120 *
121 * ,--------------------------------------------------. ,--------------------------------------------------.
122 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | \ |
123 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
124 * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
125 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
126 * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - |
127 * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
128 * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
129 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
130 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
131 * `----------------------------------' `----------------------------------'
132 * ,-------------. ,-------------.
133 * | App | LGui | | Alt |Ctrl/Esc|
134 * ,------|------|------| |------+--------+------.
135 * | | | Home | | PgUp | | |
136 * | Space|Backsp|------| |------| Tab |Enter |
137 * | |ace | End | | PgDn | | |
138 * `--------------------' `----------------------'
139 */
140// If it accepts an argument (i.e, is a function), it doesn't need KC_.
141// Otherwise, it needs KC_*
142 [_DVORAK] = LAYOUT_ergodox_pretty_base_wrapper(
143 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
144 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
145 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
146 ),
147/* Keymap 0: WORKMAN layer
148 *
149 * ,--------------------------------------------------. ,--------------------------------------------------.
150 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
151 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
152 * | Del | Q | D | R | W | B | L1 | | L1 | J | F | U | P | ; | \ |
153 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
154 * | BkSp | A | S | H | T | D |------| |------| Y | N | E | O | I | ' |
155 * |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
156 * | LShift |Z/Ctrl| X | M | C | V | | | | K | L | , | . |//Ctrl| RShift |
157 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
158 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
159 * `----------------------------------' `----------------------------------'
160 * ,-------------. ,-------------.
161 * | App | LGui | | Alt |Ctrl/Esc|
162 * ,------|------|------| |------+--------+------.
163 * | | | Home | | PgUp | | |
164 * | Space|Backsp|------| |------| Tab |Enter |
165 * | |ace | End | | PgDn | | |
166 * `--------------------' `----------------------'
167 */
168
169 [_WORKMAN] = LAYOUT_ergodox_pretty_base_wrapper(
170 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
171 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
172 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
173 ),
174
175 [_NORMAN] = LAYOUT_ergodox_pretty_base_wrapper(
176 _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
177 _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
178 _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
179 ),
180
181 [_MALTRON] = LAYOUT_ergodox_pretty_base_wrapper(
182 _________________MALTRON_L1________________, _________________MALTRON_R1________________,
183 _________________MALTRON_L2________________, _________________MALTRON_R2________________,
184 _________________MALTRON_L3________________, _________________MALTRON_R3________________
185 ),
186
187 [_EUCALYN] = LAYOUT_ergodox_pretty_base_wrapper(
188 _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
189 _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
190 _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
191 ),
192
193 [_CARPLAX] = LAYOUT_ergodox_pretty_base_wrapper(
194 _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
195 _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
196 _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
197 ),
198 86
199/* Keymap 4: Customized Overwatch Layout 87/* Keymap 4: Customized Overwatch Layout
200 * 88 *
@@ -311,9 +199,7 @@ void keyboard_post_init_keymap(void) {
311 // trackball_set_precision(1.5); 199 // trackball_set_precision(1.5);
312 trackball_set_rgbw(RGB_MAGENTA, 0x00); 200 trackball_set_rgbw(RGB_MAGENTA, 0x00);
313} 201}
314void shutdown_keymap(void) { 202void shutdown_keymap(void) { trackball_set_rgbw(RGB_RED, 0x00); }
315 trackball_set_rgbw(RGB_RED, 0x00);
316}
317 203
318static bool mouse_button_one, trackball_button_one; 204static bool mouse_button_one, trackball_button_one;
319 205
@@ -328,8 +214,6 @@ void trackball_register_button(bool pressed, enum mouse_buttons button) {
328} 214}
329#endif 215#endif
330 216
331
332
333bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 217bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
334 switch (keycode) { 218 switch (keycode) {
335 case KC_1: 219 case KC_1:
@@ -371,17 +255,17 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
371 } 255 }
372 run_trackball_cleanup(); 256 run_trackball_cleanup();
373 break; 257 break;
374#if !defined(MOUSEKEY_ENABLE) 258# if !defined(MOUSEKEY_ENABLE)
375 case KC_MS_BTN1: 259 case KC_MS_BTN1:
376 mouse_button_one = record->event.pressed; 260 mouse_button_one = record->event.pressed;
377 trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1); 261 trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1);
378 break; 262 break;
379 case KC_MS_BTN2: 263 case KC_MS_BTN2:
380 trackball_register_button(record->event.pressed, MOUSE_BTN2); 264 trackball_register_button(record->event.pressed, MOUSE_BTN2);
381 break; 265 break;
382 case KC_MS_BTN3: 266 case KC_MS_BTN3:
383 trackball_register_button(record->event.pressed, MOUSE_BTN3); 267 trackball_register_button(record->event.pressed, MOUSE_BTN3);
384 break; 268 break;
385# endif 269# endif
386#endif 270#endif
387 } 271 }
@@ -434,7 +318,6 @@ void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); }
434void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); } 318void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
435 319
436void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { 320void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
437
438 if (layer_state_is(_GAMEPAD)) { 321 if (layer_state_is(_GAMEPAD)) {
439 RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q 322 RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q
440 RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W 323 RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W
@@ -447,7 +330,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
447 330
448 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 26 : 27), 0xFF, 0xFF, 0xFF); // 1 331 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 26 : 27), 0xFF, 0xFF, 0xFF); // 1
449 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 27 : 26), 0x00, 0xFF, 0x00); // 2 332 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 27 : 26), 0x00, 0xFF, 0x00); // 2
450 RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x7A, 0x00, 0xFF); // 3 333 RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x7A, 0x00, 0xFF); // 3
451 } 334 }
452 335
453# if defined(RGBLIGHT_ENABLE) 336# if defined(RGBLIGHT_ENABLE)
@@ -456,7 +339,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
456 if (userspace_config.rgb_layer_change) 339 if (userspace_config.rgb_layer_change)
457# endif 340# endif
458 { 341 {
459 switch (get_highest_layer(layer_state|default_layer_state)) { 342 switch (get_highest_layer(layer_state | default_layer_state)) {
460 case _GAMEPAD: 343 case _GAMEPAD:
461 rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 344 rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
462 break; 345 break;
@@ -472,29 +355,17 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
472 case _ADJUST: 355 case _ADJUST:
473 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 356 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
474 break; 357 break;
475 case _QWERTY: 358 case _DEFAULT_LAYER_1:
476 rgb_matrix_layer_helper(HSV_CYAN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 359 rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
477 break; 360 break;
478 case _COLEMAK: 361 case _DEFAULT_LAYER_2:
479 rgb_matrix_layer_helper(HSV_MAGENTA, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 362 rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
480 break;
481 case _DVORAK:
482 rgb_matrix_layer_helper(HSV_SPRINGGREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
483 break;
484 case _WORKMAN:
485 rgb_matrix_layer_helper(HSV_GOLDENROD, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
486 break;
487 case _NORMAN:
488 rgb_matrix_layer_helper(HSV_CORAL, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
489 break;
490 case _MALTRON:
491 rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
492 break; 363 break;
493 case _EUCALYN: 364 case _DEFAULT_LAYER_3:
494 rgb_matrix_layer_helper(HSV_PINK, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 365 rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
495 break; 366 break;
496 case _CARPLAX: 367 case _DEFAULT_LAYER_4:
497 rgb_matrix_layer_helper(HSV_BLUE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 368 rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
498 break; 369 break;
499 } 370 }
500 } 371 }