]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/redox/keymaps/finex/keymap.c
Update KBD67 readme so that it mentions the KBD65 PCB (#5143)
[qmk_firmware.git] / keyboards / redox / keymaps / finex / keymap.c
1 #include QMK_KEYBOARD_H
2
3 extern keymap_config_t keymap_config;
4
5 // Layer names
6 enum{
7   // - Base layers:
8   _COLEMAKDHMK,
9   _COLEMAKDHMK_MAC,
10   _QWERTY,
11   _QWERTY_MAC,
12   // - Symbols, numbers, functions and custom shifts:
13   _SYMB,
14   _NUMB,
15   _FUNC,
16   _RHSH, // Righ hand shifted keycodes
17   _LHSH, // Left hand shifted keycodes
18   // - Adjust layer:
19   _ADJUST
20 };
21
22 // Custom keycodes
23 enum custom_keycodes {
24   COLEMAKDHMK = SAFE_RANGE,
25   COLEMAKDHMK_MAC,
26   QWERTY,
27   QWERTY_MAC,
28   ASC_SAR,
29   ASC_DAR,
30   ASC_SQT,
31   ASC_DQT,
32   ASC_CIRC,
33   ASC_TILD,
34   ASC_HAP,
35   ASC_SAD,
36   ASC_BKT,
37   ASC_CBRL,
38   ASC_CBRR
39 };
40
41 // Tap dance keycodes
42 enum tap_dance{
43   TD_SCLN, // ;; -> :
44   TD_LBRC, // [[ -> {
45   TD_RBRC, // ]] -> }
46   TD_QMRK  // // -> ?
47 };
48
49 // Semicolon to Colon
50 void dance_scln_finished (qk_tap_dance_state_t *state, void *user_data) {
51   if (state->count == 1) {
52     register_code (KC_SCLN);
53   } else {
54     register_code (KC_RSFT);
55     register_code (KC_SCLN);
56   }
57 }
58 void dance_scln_reset (qk_tap_dance_state_t *state, void *user_data) {
59   if (state->count == 1) {
60     unregister_code (KC_SCLN);
61   } else {
62     unregister_code (KC_RSFT);
63     unregister_code (KC_SCLN);
64   }
65 }
66
67 // Square braket to curly bracket (left)
68 void dance_lbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
69   if (state->count == 1) {
70     register_code (KC_LBRC);
71   } else {
72     register_code (KC_RSFT);
73     register_code (KC_LBRC);
74   }
75 }
76 void dance_lbrc_reset (qk_tap_dance_state_t *state, void *user_data) {
77   if (state->count == 1) {
78     unregister_code (KC_LBRC);
79   } else {
80     unregister_code (KC_RSFT);
81     unregister_code (KC_LBRC);
82   }
83 }
84
85 // Square braket to curly bracket (right)
86 void dance_rbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
87   if (state->count == 1) {
88     register_code (KC_RBRC);
89   } else {
90     register_code (KC_RSFT);
91     register_code (KC_RBRC);
92   }
93 }
94 void dance_rbrc_reset (qk_tap_dance_state_t *state, void *user_data) {
95   if (state->count == 1) {
96     unregister_code (KC_RBRC);
97   } else {
98     unregister_code (KC_RSFT);
99     unregister_code (KC_RBRC);
100   }
101 }
102
103
104 //Tap Dance Definitions
105 qk_tap_dance_action_t tap_dance_actions[] = {
106   [TD_SCLN]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_scln_finished, dance_scln_reset),
107   [TD_LBRC]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lbrc_finished, dance_lbrc_reset),
108   [TD_RBRC]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_rbrc_finished, dance_rbrc_reset)
109 };
110
111
112 // Shortcut to make keymap more readable
113
114 // - Adjustment Layer:
115 #define KC_ADEN LT(_ADJUST, KC_END)   // End / _ADJUST layer
116 #define KC_ADPU LT(_ADJUST, KC_PGUP)  // Page Up / _ADJUST layer
117
118 // - Custom layers:
119 #define KC_SYSP LT(_SYMB, KC_SPC)     // Space / _symbols
120 #define KC_NUES LT(_NUMB, KC_ESC)     // Esc / _numbers
121 #define KC_FUTA LT(_FUNC, KC_TAB)     // Tab / _functions
122 #define KC_N_SH LT(_LHSH, KC_N)       // Pressing N key, enable shifted keys on other half (the left one)
123 #define KC_T_SH LT(_RHSH, KC_T)       // Pressing T key, enable shifted keys on other half (the right one)
124
125 // - Custom keys/modifiers:
126 #define KC_ATAB RALT_T(KC_TAB)        // - Tab / Alt Gr
127 #define KC_CESC LCTL_T(KC_ESC)        // - Esc / Left Ctrl
128 #define KC_GSPC LGUI_T(KC_SPC)        // - Space / Left GUI
129 #define KC_CBSP LCTL_T(KC_BSPC)       // - Backspace / Left Ctrl
130
131 // -- Mac os mode:
132 #define KC_CSPC LCTL_T(KC_SPC)        // - Space / Left Ctrl
133 #define KC_GBSP LGUI_T(KC_BSPC)       // - Backspace / Left GUI
134
135
136 #define KC_AEQL LALT_T(KC_EQL)        // - Equals / Alt (left alt)
137 #define KC_CMIN RCTL_T(KC_MINUS)      // - Minus / Right Ctrl
138 #define KC_ADEL RALT_T(KC_DEL)        // - Del / Alt Gr
139 #define KC_RSEN RSFT_T(KC_ENT)        // - Enter / Right Shift (standard shift)
140 #define KC_LAEN LALT_T(KC_ENT)        // - Enter / Left Alt
141
142 // Home row mod tap keys:
143 // - Left hand
144 #define KC_CT_A CTL_T(KC_A)           // A / Left Ctrl
145 #define KC_AL_S ALT_T(KC_S)           // S / Left Alt
146 // - Right hand
147 #define KC_AL_E ALT_T(KC_E)           // E / Left Alt
148 #define KC_CT_O CTL_T(KC_O)           // O / Left Ctrl
149
150 // - Tap dance:
151 #define KC_TDSC TD(TD_SCLN)           // ;; -> :
152 #define KC_TDLB TD(TD_LBRC)           // [[ -> {
153 #define KC_TDRB TD(TD_RBRC)           // ]] -> }
154
155 // - Keyboard base maps:
156 #define LR1 COLEMAKDHMK
157 #define LR2 COLEMAKDHMK_MAC
158 #define LR3 QWERTY
159 #define LR4 QWERTY_MAC
160
161
162 // Send custom strings or change default base layer
163 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
164   if (record->event.pressed) {
165     switch(keycode) {
166       case ASC_SAR:
167         SEND_STRING("->");
168         return false;
169       case ASC_DAR:
170         SEND_STRING("=>");
171         return false;
172       case ASC_SQT:
173         // SS_RALT(): Avoid sending dead key on software intl layouts
174         SEND_STRING(SS_RALT("'"));
175         return false;
176       case ASC_DQT:
177         // SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
178         SEND_STRING(SS_RALT(SS_LSFT("\"")));
179         return false;
180       case ASC_CIRC:
181         // SS_RALT(): Avoid sending dead key on software intl layouts
182         SEND_STRING(SS_RALT("^"));
183         return false;
184       case ASC_TILD:
185         // SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
186         SEND_STRING(SS_RALT(SS_LSFT("~")));
187         return false;
188       case ASC_HAP:
189         SEND_STRING(":-) ");
190         return false;
191       case ASC_SAD:
192         SEND_STRING(":-( ");
193         return false;
194       case ASC_BKT:
195         // SS_RALT(): Avoid sending dead key on software intl layouts
196         SEND_STRING(SS_RALT("`"));
197         return false;
198       case ASC_CBRL:
199         SEND_STRING("{");
200         return false;
201       case ASC_CBRR:
202         SEND_STRING("}");
203         return false;
204       case QWERTY:
205         if (record->event.pressed) {
206           set_single_persistent_default_layer(_QWERTY);
207         }
208         return false;
209         break;
210       case COLEMAKDHMK:
211         if (record->event.pressed) {
212           set_single_persistent_default_layer(_COLEMAKDHMK);
213         }
214         return false;
215         break;
216       case QWERTY_MAC:
217         if (record->event.pressed) {
218           set_single_persistent_default_layer(_QWERTY_MAC);
219         }
220         return false;
221         break;
222       case COLEMAKDHMK_MAC:
223         if (record->event.pressed) {
224           set_single_persistent_default_layer(_COLEMAKDHMK_MAC);
225         }
226         return false;
227         break;
228     }
229   }
230   return true;
231 };
232
233 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
234
235   // Colemak DM-MK Mod
236   [_COLEMAKDHMK] = LAYOUT(
237     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
238        XXXXXXX ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,                                            KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_ESC  ,
239     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
240        KC_ATAB ,KC_Q    ,KC_W    ,KC_F    ,KC_P    ,KC_B    ,XXXXXXX ,                          XXXXXXX ,KC_J    ,KC_L    ,KC_U    ,KC_Y    ,KC_TDSC ,KC_AEQL ,
241     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
242        KC_CESC ,KC_A    ,KC_R    ,KC_AL_S ,KC_T_SH ,KC_G    ,KC_TDLB ,                          KC_TDRB ,KC_M    ,KC_N_SH ,KC_AL_E ,KC_I    ,KC_O    ,KC_CMIN ,
243     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
244        KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_D    ,KC_V    ,KC_ADPU ,KC_PGDN ,        KC_HOME ,KC_ADEN ,KC_K    ,KC_H    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
245     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
246        KC_GSPC ,KC_HYPR ,KC_MEH  ,XXXXXXX ,     KC_NUES ,    KC_CBSP ,KC_FUTA ,        KC_LAEN ,KC_SYSP ,    KC_ADEL ,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
247     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
248   ),
249
250   // Colemak DM-MK Mod, Mac version (CTRL and GUI are swapped)
251   [_COLEMAKDHMK_MAC] = LAYOUT(
252     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
253        XXXXXXX ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,                                            KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_ESC  ,
254     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
255        KC_ATAB ,KC_Q    ,KC_W    ,KC_F    ,KC_P    ,KC_B    ,XXXXXXX ,                          XXXXXXX ,KC_J    ,KC_L    ,KC_U    ,KC_Y    ,KC_TDSC ,KC_AEQL ,
256     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
257        KC_CESC ,KC_A    ,KC_R    ,KC_AL_S ,KC_T_SH ,KC_G    ,KC_TDLB ,                          KC_TDRB ,KC_M    ,KC_N_SH ,KC_AL_E ,KC_I    ,KC_O    ,KC_CMIN ,
258     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
259        KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_D    ,KC_V    ,KC_ADPU ,KC_PGDN ,        KC_HOME ,KC_ADEN ,KC_K    ,KC_H    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
260     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
261        KC_CSPC ,KC_HYPR ,KC_MEH  ,XXXXXXX ,     KC_NUES ,    KC_GBSP ,KC_FUTA ,        KC_LAEN ,KC_SYSP ,    KC_ADEL ,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
262     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
263   ),
264
265   // QWERTY
266   [_QWERTY] = LAYOUT(
267     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
268        XXXXXXX ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,                                            KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_ESC  ,
269     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
270        KC_ATAB ,KC_Q    ,KC_W    ,KC_E    ,KC_R    ,KC_T    ,XXXXXXX ,                          XXXXXXX ,KC_Y    ,KC_U    ,KC_I    ,KC_O    ,KC_P    ,KC_AEQL ,
271     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
272        KC_CESC ,KC_A    ,KC_S    ,KC_D    ,KC_F    ,KC_G    ,KC_TDLB ,                          KC_TDRB ,KC_H    ,KC_J    ,KC_K    ,KC_L    ,KC_TDSC ,KC_CMIN ,
273     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
274        KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,KC_ADPU ,KC_PGDN ,        KC_HOME ,KC_ADEN ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
275     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
276        KC_GSPC ,KC_HYPR ,KC_MEH  ,XXXXXXX ,     KC_NUES ,    KC_CBSP ,KC_FUTA ,        KC_LAEN ,KC_SYSP ,    KC_ADEL ,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
277     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
278   ),
279
280   // QWERTY, Mac version (CTRL and GUI are swapped)
281   [_QWERTY_MAC] = LAYOUT(
282     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
283        XXXXXXX ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,                                            KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_ESC  ,
284     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
285        KC_ATAB ,KC_Q    ,KC_W    ,KC_E    ,KC_R    ,KC_T    ,XXXXXXX ,                          XXXXXXX ,KC_Y    ,KC_U    ,KC_I    ,KC_O    ,KC_P    ,KC_AEQL ,
286     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
287        KC_CESC ,KC_A    ,KC_S    ,KC_D    ,KC_F    ,KC_G    ,KC_TDLB ,                          KC_TDRB ,KC_H    ,KC_J    ,KC_K    ,KC_L    ,KC_TDSC ,KC_CMIN ,
288     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
289        KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,KC_ADPU ,KC_PGDN ,        KC_HOME ,KC_ADEN ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
290     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
291        KC_CSPC ,KC_HYPR ,KC_MEH  ,XXXXXXX ,     KC_NUES ,    KC_GBSP ,KC_FUTA ,        KC_LAEN ,KC_SYSP ,    KC_ADEL ,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
292     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
293   ),
294
295   // Symbols, home row arrows, function keys and macros layer
296   [_SYMB] = LAYOUT(
297     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
298        _______ ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,                                            KC_F6   ,KC_F7   ,KC_F8   ,KC_F9   ,KC_F10  ,_______ ,
299     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
300        _______ ,KC_EXLM ,KC_AT   ,KC_HASH ,KC_DLR  ,KC_PERC ,_______ ,                          _______ ,ASC_CIRC,KC_AMPR ,KC_ASTR ,KC_PLUS ,_______ ,_______ ,
301     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
302        _______ ,KC_PIPE ,KC_PMNS ,ASC_SQT ,ASC_DQT ,KC_GRV  ,ASC_SAR ,                          ASC_DAR ,KC_QUOT ,KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT ,_______ ,
303     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
304        _______ ,KC_BSLS ,KC_UNDS ,KC_COLN ,ASC_TILD,KC_EQL  ,ASC_SAD ,ASC_HAP ,        _______ ,_______ ,ASC_BKT ,KC_PGUP ,KC_PGDN ,KC_HOME ,KC_END  ,_______ ,
305     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
306        _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    _______ ,     _______ ,_______ ,_______ ,_______
307     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
308   ),
309
310   // Numeric keypad layer
311   [_NUMB] = LAYOUT(
312     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
313        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                                            _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
314     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
315        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,KC_PAST ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,KC_PPLS ,_______ ,
316     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
317        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,KC_PMNS ,_______ ,
318     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
319        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,        _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,KC_PSLS ,_______ ,
320     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
321        _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    XXXXXXX ,     KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
322     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
323   ),
324
325   // Function layer and some extra keys on right hand
326   [_FUNC] = LAYOUT(
327     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
328        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                                            _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
329     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
330        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,KC_F7   ,KC_F8   ,KC_F9   ,KC_F12  ,_______ ,
331     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
332        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,KC_F4   ,KC_F5   ,KC_F6   ,KC_F11  ,_______ ,
333     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
334        _______ ,KC_PSCR ,KC_NLCK ,KC_INS  ,KC_CAPS ,KC_APP  ,_______ ,_______ ,        _______ ,_______ ,_______ ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F10  ,_______ ,
335     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
336        _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    _______ ,     _______ ,_______ ,_______ ,_______
337     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
338   ),
339
340
341   // Left hand shifted keycodes
342   [_LHSH] = LAYOUT(
343     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
344        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                                            _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
345     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
346        _______ ,S(KC_Q) ,S(KC_W) ,S(KC_F) ,S(KC_P) ,S(KC_B) ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
347     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
348        _______ ,S(KC_A) ,S(KC_R) ,S(KC_S) ,S(KC_T) ,S(KC_G) ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
349     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
350        _______ ,S(KC_Z) ,S(KC_X) ,S(KC_C) ,S(KC_D) ,S(KC_V) ,_______ ,_______ ,        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
351     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
352        _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        KC_TAB  ,KC_BSPC ,    KC_ESC  ,     _______ ,_______ ,_______ ,_______
353     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
354   ),
355
356   // Right hand shifted keycodes
357   [_RHSH] = LAYOUT(
358     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
359        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                                            _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
360     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
361        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,S(KC_J) ,S(KC_L) ,S(KC_U) ,S(KC_Y) ,KC_COLN ,_______ ,
362     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
363        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,S(KC_M) ,S(KC_N) ,S(KC_E) ,S(KC_I) ,S(KC_O) ,_______ ,
364     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
365        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,        _______ ,_______ ,S(KC_K) ,S(KC_H) ,KC_LABK ,KC_RABK ,KC_QUES ,_______ ,
366     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
367        _______ ,_______ ,_______ ,_______ ,     KC_DEL  ,    KC_SPC  ,KC_ENT  ,        _______ ,_______ ,    _______ ,     _______ ,_______ ,_______ ,_______
368     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
369   ),
370
371   // Adjust layer (RGB, Reset and base layer switch)
372   [_ADJUST] = LAYOUT(
373     //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
374        XXXXXXX ,LR1     ,LR2     ,LR3     ,LR4     ,XXXXXXX ,                                            XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
375     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
376        XXXXXXX ,RESET   ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI ,                          RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
377     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
378        XXXXXXX ,XXXXXXX ,RGB_M_B ,RGB_M_R ,RGB_M_SW,RGB_M_SN,XXXXXXX ,                          XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
379     //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
380        XXXXXXX ,XXXXXXX ,RGB_M_K ,RGB_M_X ,RGB_M_G ,XXXXXXX ,_______ ,XXXXXXX ,        XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
381     //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
382        XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,     XXXXXXX ,    XXXXXXX ,XXXXXXX ,        XXXXXXX ,XXXXXXX ,    XXXXXXX ,     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
383     //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
384   )
385
386 };