]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox_infinity/keymaps/gordon/keymap.c
Updates to gordon keymaps (#3082)
[qmk_firmware.git] / keyboards / ergodox_infinity / keymaps / gordon / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "debug.h"
3 #include "action_layer.h"
4 #include "version.h"
5 #include "process_keycode/process_tap_dance.h"
6 #include "gordon.h"
7
8 #include "keymap_german.h"
9
10 #include "keymap_nordic.h"
11
12
13 enum custom_keycodes {
14   PLACEHOLDER = SAFE_RANGE, // can always be here
15   EPRM,
16   VRSN,
17   RGB_SLD,
18 };
19
20
21 // Custom tapping terms for each key.
22 // Requires changes to action_taping.c
23 // uint16_t get_tapping_term(keyevent_t* event) {
24 //     uint16_t keycode = keymap_key_to_keycode(layer_switch_get_layer(event->key), event->key);
25 //     if (keycode == NAV_E ) {
26 //         return TAPPING_TERM + 50;
27 //     }
28 //     return TAPPING_TERM;
29 // }
30
31
32 // _XXXXXX_ is a symbol that means, "DO NOT ASSIGN THIS KEY TO ANTYING", because the key
33 //        underneath this layer is the key that sends you to/from this layer.
34 //        Meaning, if you were to put something here - then you will be stuck in this layer.
35 //        It is simply a visual reminder not to use that key for this layer.
36 //        Example: On the numpad layer, under the letter `D` is `_XXXXXXX_`, because pressing and holding
37 //          `D` sends you to the numpad layer
38
39 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40
41
42 //**************************FIRST LAYER - LAYER ZERO **************************************
43   [_QWERTY] = KEYMAP(
44
45     SHF6_AF7, F1_F13  ,    F2_F14,   TD(F3D), F4_ALTF4,    F5_F15,   KC_F11,
46     SPRK_TCK  , Q_ESC   ,  CTR_SH_W,     NAV_E, ALT_SH_R,      KC_T, PRINTSCR,
47     KC_TAB  , KC_A    ,     MEH_S,  NUMPAD_D,   CTRL_F,     WIN_G,
48     OSL(_ONESHOT), CTRL_Z  ,   HYPER_X,   MOUSE_C,    ALT_V,      KC_B, OSL(_MOUSE),
49     KC_MINUS, KC_GRAVE, KC_DELETE,   KC_LEFT, KC_RIGHT,
50
51                                               LSFT(KC_INSERT),  TT(_QWERTY_KIDS),
52                                                           ________ ,
53                                     KC_LSHIFT, SYMB_BSP,  KC_INSERT   ,
54
55                  F12_RUN,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10, TD(CALCCOMP),
56                 CALTDEL ,    KC_Y,      KC_U,     KC_I,     KC_O,      KC_P,  MODRESET,
57                              WIN_H,   CTRL_J, APP_SW_K,    MEH_L,  COL_MOUS, END_HOME,
58              OSL(_ONESHOT),     KC_N,  ALT_M, COMMA_TD, HYPE_DOT,  KC_SLASH, ID_MAN_IP,
59                                        KC_UP,  KC_DOWN,KC_DELETE,    KC_TILD,    KC_UNDS,
60
61   TT(_STREET_FIGHTER),  ________,
62          KC_PGUP,
63   KC_PGDOWN, LT(_NAV,KC_ENTER), SPAC_TXT),
64
65
66   //**************************SYMBOLS LAYER**************************
67   [_SYMBOLS] = KEYMAP(
68     ________, ________, ________, ________, ________, ________,  ________,
69     ________, DEREF   ,    KC_AT,  KC_LCBR,  KC_RCBR,  KC_CIRC,  ________,
70     ________,  KC_EXLM,  KC_HASH,  KC_LPRN,  KC_RPRN,  ________,
71     ________,KC_DOLLAR,  KC_PERC, LSQUIGLY, RSQUIGLY, ________,  ________,
72     ________,TICK3    ,  ________,  ________,  ________,
73
74                                     ________,________,
75                                              ________,
76                            ________,_XXXXXX_,________,
77
78
79                   ________, ________, ________, ________, ________, ________, NUMLOCK,
80                   ________,TIL_SLASH,  KC_PIPE,  KC_PLUS,  KC_AMPR, ________, CAPLOCK,
81                              EQRIGHT,  KC_DQUO, KC_EQUAL, KC_QUOTE,KC_SCOLON, ________,
82                   ________, KC_M, BK_SLASH,  ASTERSK,   KC_DOT, KC_SLASH, ________,
83                   ________,________ ,________,TILD3,________,
84                                                               ________,________,
85                                                                        ________,
86                                                      ________,________,_XXXXXX_),
87
88   //**************************MOUSE MOVEMENT LAYER**************************
89   [_MOUSE] = KEYMAP(UP_ENTER_RESET,________,________,________,________,________,MODRESET,
90                     RESET,KC_SECRET_5,________,KC_MS_UP,KC_SECRET_4,KC_MS_WH_UP,________,
91                     ________,________,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_MS_WH_DOWN,
92                     KC_SECRET_5,KC_SECRET_4,KC_SECRET_3,_XXXXXX_,KC_SECRET_2,KC_SECRET_1,_XXXXXX_,
93                     ________,________,HYPR(KC_F15),KC_MS_WH_LEFT,KC_MS_WH_RIGHT,
94
95                                                        ________,________,
96                                                                 ________,
97                                           KC_MS_BTN1,KC_MS_BTN2,________,
98
99
100                     ________,________,________,________,________,________,________,
101                     ________,________,________,KC_UP,________,KC_MEDIA_PLAY_PAUSE,________,
102                     ________,KC_LEFT,KC_DOWN,KC_RIGHT,_XXXXXX_,________,
103                     ________,KC_MEDIA_NEXT_TRACK,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_MUTE,________,________,
104                     KC_MS_WH_UP,KC_MS_WH_DOWN,________,________,________,
105                     ________,________,
106                     ________,
107                     ________,KC_WWW_BACK,KC_WWW_FORWARD),
108
109
110
111
112   //**************************WINDOWS NAVIGATION LAYER**************************
113
114   [_NAV] = KEYMAP(________,________,________,________,________,________,________,
115                   ________,________,SNAPLEFT,_XXXXXX_,SNAPRGHT,________,________,
116                   ________,KC_WWW_BACK,PREVTAB,________,NEXTTAB,SNAPUP,
117                   ________,________,WORKLEFT,________,WORKRIGHT,SNAPDOWN,________,
118                   ________,________,________,________,________,
119
120                   ________,________,
121                            ________,
122          ________,________,________,
123
124
125          ________,________,________,________,________,________,________,
126          ________,________,SNAPUP  ,KC_UP   ,SNAPDOWN,________,________,
127                   ________,KC_LEFT ,KC_DOWN ,KC_RIGHT,________,________,
128          ________,________,________,________,________,________,________,
129          ________,________,________,________,________,
130
131
132          ________,________,
133          ________,
134          ________,________,________),
135
136   //****************************NUMPAD LAYER****************************
137   [_NUMPAD] = KEYMAP(________,________,________,________,________,________,________,
138                      ________,________,________,________,________,________,________,
139                      ________,KC_DOT  ,KC_SPACE,_XXXXXX_, KC_ESC ,________,
140                      ________,DBMS_OUT,________,________,________,________,________,
141                      ________,________,________,________,________,
142
143                      ________,________,
144                      ________,
145                      KC_PLUS,KC_MINUS,________,
146
147                      BL_TOGG ,BL_STEP ,________,________,________,________,________,
148                      ________,________,KC_7    ,KC_8    ,KC_9    ,________,________,
149                               ________,KC_4    ,KC_5    ,KC_6    ,________,________,
150                      ________,KC_DOT,  KC_1    ,KC_2    ,KC_3    ,________,________,
151                                        KC_0    ,KC_DOT ,  KC_DOT   ,________,________,
152
153                                        ________,________,
154                                        ________,
155                                        ________,________,KC_0),
156
157   //****************************APP SWITCH LAYER****************************
158   [_APPSWITCH] = KEYMAP(________,________,________,________,________,________,________,
159                         ________,________   ,  ________ , ________  ,________   ,________,________,
160                         ________,APP_5,APP_6,APP_7,APP_8,________,
161                         ________,DBMS_OUT,________,________,________,________,________,
162                         ________,________,________,________,________,
163
164                                                                   ________,________,
165                                                                            ________,
166                                                          KC_PLUS,________,________,
167
168                      ________,________,________,________,________,________,________,
169                      ________,________,APP_3   ,________,APP_4   ,________,________,
170                               ________,APP_1   ,_XXXXXX_,APP_2   ,________,________,
171                      ________,________,________,________,________,________,________,
172                                        ________,________,________,________,________,
173
174                     ________,________,
175                     ________,
176                     ________,________,________),
177
178
179   [_ONESHOT] = KEYMAP(  UP_ENTER_RESET , ________, ________, ________, ________, ________, ________,
180                         ________, ________, ________, KC_UP   , ________, ________, ________,
181                         ________, ________, KC_LEFT , KC_DOWN , KC_RIGHT, ________,
182                         MAGIC_TOGGLE_NKRO, ________, ________, ________, ________, ________, ________,
183                         ________, ________, ________, ________, ________,
184
185                         ________, ________,
186                         ________,
187                         ________, ________, ________,
188
189                         ________, ________, ________, ________, ________, ________, ________,
190                         ________, ________, KC_7, KC_8, KC_9, KC_PLUS, ________,
191                                   ________, KC_4, KC_5, KC_6, KC_EQUAL, ________,
192                         ________, ________, KC_1, KC_2, KC_3, KC_ASTR, ________,
193                         ________, ________, KC_0, ________, ________,
194
195                         ________, ________,
196                         ________,
197                         ________, ________, ________),
198   //****************************TEXT/INTELLIJ NAVIGATION LAYER****************************
199   [_TEXTNAV] = KEYMAP(________,________,________,________,________,________,________,
200                       ________,MEH(KC_Q),LSFT(KC_ESCAPE),MEH(KC_D),MEH(KC_2),LALT(LSFT(KC_UP)),________,
201                       ________,________,LCTL(KC_LEFT),LCTL(KC_B),LCTL(KC_RIGHT),LALT(LSFT(KC_DOWN)),
202                       ________,________,________,LCTL(LSFT(KC_COMMA)),MEH(KC_DOT),LALT(KC_MS_WH_UP),________,
203                       ________,________,________,________,________,
204
205                       ________,________,________,________,________,________,
206
207                       LALT(LSFT(KC_F9)),________,________,________,________,________,________,________,MEH(KC_5),LALT(LSFT(KC_Z)),
208                       ________,LALT(KC_Z),________,________,________,LCTL(LSFT(KC_LEFT)),LALT(LCTL(KC_S)),LCTL(LSFT(KC_RIGHT)),
209                       LCTL(LSFT(KC_COMMA)),________,________,________,________,________,________,________,________,________,
210                       ________,________,________,________,________,________,________,________,________,_XXXXXX_),
211   [_QWERTY_KIDS] = KEYMAP(
212
213       KC_NO ,   KC_NO  , KC_NO ,     KC_NO ,   KC_NO ,      KC_NO ,     KC_NO ,
214       KC_NO ,   KC_Q   , KC_W,     KC_E, KC_R,      KC_T,   KC_NO ,
215       KC_NO ,   KC_A   , KC_S,  KC_D,   KC_F,       KC_G ,
216       KC_NO ,   KC_Z   ,   KC_X,   KC_C,    KC_V,      KC_B,   KC_NO ,
217     KC_MINUS, KC_GRAVE, KC_DELETE,   KC_LEFT, KC_RIGHT,
218
219                                                 KC_NO ,    TT(_QWERTY_KIDS) ,
220                                                             KC_NO  ,
221                                     KC_LSHIFT, KC_BSPACE,    KC_NO    ,
222
223                    KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,   KC_NO ,
224                   KC_NO  ,    KC_Y,      KC_U, KC_I,     KC_O,      KC_P,    KC_NO ,
225                              KC_H,   KC_J,     KC_K,    KC_L,    KC_SCOLON , KC_NO,
226                KC_NO ,     KC_N,    KC_M,   KC_COMMA ,   KC_DOT ,  KC_SLASH,   KC_NO ,
227                                        KC_UP,  KC_DOWN,   KC_DELETE,    KC_TILD,    KC_UNDS,
228
229     KC_NO ,    KC_NO ,
230          KC_NO,
231   KC_NO, KC_ENTER, KC_SPACE),
232
233   [_STREET_FIGHTER] = KEYMAP(
234
235       KC_NO ,   KC_NO  , KC_NO ,     KC_NO ,   KC_NO ,      KC_NO ,     KC_NO ,
236       KC_NO ,   KC_NO   , DIE_1000X_LEFT,     KC_UP, DIE_1000X_RIGHT,      KC_NO,   KC_NO ,
237       KC_NO ,   KC_NO   , KC_LEFT,  KC_DOWN,   KC_RIGHT,       KC_NO ,
238       KC_NO ,   KC_NO   ,   KC_NO,   KC_NO,    KC_NO,      KC_NO,   KC_NO ,
239     KC_NO, KC_NO, KC_NO,   KC_NO, KC_NO,
240
241                                                 ________ ,    ________ ,
242                                                             ________  ,
243                                     ________, ________,    ________    ,
244
245                    KC_NO,  KC_NO ,      KC_NO ,      KC_NO , KC_NO ,   KC_NO , KC_NO ,
246                   KC_NO  , KC_NO,      KC_G, KC_H,     KC_J,      KC_NO,    KC_NO ,
247                              KC_NO,   KC_B,     KC_N,    KC_M,    KC_K , KC_NO,
248                KC_NO ,     KC_NO,    KC_NO,   KC_NO ,   KC_NO ,  KC_NO,   KC_NO ,
249                                        KC_NO,  KC_NO,   KC_NO,    KC_NO,    KC_NO,
250
251     TT(_STREET_FIGHTER) ,    ________ ,
252          ________,
253   ________, ________, ________),
254
255
256   //************************Windows navigation to directories*************************
257   [_DIRNAV] = KEYMAP(
258          ________,________,________,________,________,________,________,
259          ________,________,________,________,________,________,________,
260          ________,________,KC_A,________,________,________,
261          ________,________,________,________,________,________,________,
262          ________,________,________,________,________,
263
264                   ________,________,
265                            ________,
266          ________,________,________,
267
268
269          ________,________,________,________,________,________,________,
270          ________,________,________,________,________,________,________,
271                   ________,________,_______,________,________,________,
272          ________,________,________,________,________,________,________,
273          ________,________,________,________,________,
274
275
276          ________,________,
277          ________,
278          ________,________,________),
279
280
281   [_TEXT_MACROS] = KEYMAP(
282          ________,________,________,________,________,________,________,
283          ________,________,________,________,________,________,________,
284          ________,________,KC_A,________,________,________,
285          ________,________,________,________,________,________,________,
286          ________,________,________,________,________,
287
288                   ________,________,
289                            ________,
290          ________,________,________,
291
292
293          ________,________,________,________,________,________,________,
294          ________,________,________,________,________,________,________,
295                   ________,________,_______,________,________,________,
296          ________,________,________,________,________,________,________,
297          ________,________,________,________,________,
298
299
300          ________,________,
301          ________,
302          ________,________,________)
303
304
305 /* FOR FORMATTING FUTURE LAYERS
306    NO KEY CODES SHOULD BE MORE THAN 8 CHARACTERS
307    GOES LEFT HAND THEN RIGHT HAND
308   [_DIRNAV] = KEYMAP(
309          ________,________,________,________,________,________,________,
310          ________,________,________,________,________,________,________,
311          ________,________,________,________,________,________,
312          ________,________,________,________,________,________,________,
313          ________,________,________,________,________,
314
315                   ________,________,
316                            ________,
317          ________,________,________,
318
319
320          ________,________,________,________,________,________,________,
321          ________,________,________,________,________,________,________,
322                   ________,________,________,________,________,________,
323          ________,________,________,________,________,________,________,
324          ________,________,________,________,________,
325
326
327          ________,________,
328          ________,
329          ________,________,________), */
330
331
332
333
334 };
335
336 const uint16_t PROGMEM fn_actions[] = {
337   [1] = ACTION_LAYER_TAP_TOGGLE(1)
338 };
339
340 void matrix_scan_user(void) {
341
342     uint8_t layer = biton32(layer_state);
343
344     ergodox_board_led_on();
345     ergodox_led_all_on();
346
347     ergodox_board_led_off();
348     ergodox_right_led_1_off();
349     ergodox_right_led_2_off();
350     ergodox_right_led_3_off();
351    //    _delay_ms(45);
352
353     switch (layer)
354     {
355     case _SYMBOLS:
356       ergodox_right_led_1_on();
357       break;
358     case _MOUSE:
359       ergodox_right_led_2_on();
360       break;
361     case _NUMPAD:
362       ergodox_right_led_3_on();
363       break;
364     case _NAV:
365       ergodox_right_led_1_on();
366       ergodox_right_led_2_on();
367       break;
368     case _MACROS:
369       //layer unused right now
370       break;
371     case _FUNCTION:
372       //layer unused right nowex
373       break;
374     case _APPSWITCH:
375       ergodox_right_led_2_on();
376       ergodox_right_led_3_on();
377       break;
378     case _ONESHOT:
379       ergodox_right_led_1_on();
380       ergodox_right_led_2_on();
381       ergodox_right_led_3_on();
382       break;
383     case _TEXTNAV:
384       ergodox_right_led_1_on();
385       ergodox_right_led_3_on();
386       break;
387     case _QWERTY_KIDS:
388       ergodox_right_led_1_on();
389       ergodox_right_led_2_on();
390       ergodox_right_led_3_on();
391       break;
392     case _STREET_FIGHTER:
393       ergodox_right_led_2_on();
394       ergodox_right_led_3_on();
395     default:
396       break;
397     }
398 };