]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/wanleg/wanleg.h
Added Dynamic Keymaps to M10-B
[qmk_firmware.git] / users / wanleg / wanleg.h
1 #pragma once
2
3 #include "quantum.h"
4
5 // Define layer names and order
6 #ifdef KEYBOARD_gherkin
7 enum userspace_layers {
8   gGK = 0,
9   gNUM,
10   gDIR,
11   gETC,
12   _GK,
13   _QW,
14   QW75,
15   GK75,
16   ONE,
17   SUB,
18   SUP,
19   NUM,
20   DIR,
21   ETC,
22   SUB75,
23   SUP75,
24   NUM75,
25   DIR75,
26   ETC75,
27   FN75,
28   PAD,
29   GK50,
30 };
31 #elif KEYBOARD_xd75
32 enum userspace_layers {
33   GK75 = 0,
34   QW75,
35   SUB75,
36   SUP75,
37   NUM75,
38   DIR75,
39   ETC75,
40   FN75,
41   gGK,
42   _GK,
43   _QW,
44   PAD,
45   ONE,
46   SUB,
47   SUP,
48   NUM,
49   DIR,
50   ETC,
51   gNUM,
52   gDIR,
53   gETC,
54   GK50,
55 };
56 #elif KEYBOARD_40percentclub_5x5
57 enum userspace_layers {
58   GK50 = 0,
59   gNUM,
60   gDIR,
61   gETC,
62   GK75,
63   QW75,
64   SUB75,
65   SUP75,
66   NUM75,
67   DIR75,
68   ETC75,
69   FN75,
70   PAD,
71   gGK,
72   _GK,
73   _QW,
74   ONE,
75   SUB,
76   SUP,
77   NUM,
78   DIR,
79   ETC,
80 };
81 #else
82   enum userspace_layers {
83   _GK = 0,
84   _QW,
85   PAD,
86   ONE,
87   SUB,
88   SUP,
89   NUM,
90   DIR,
91   ETC,
92   gGK,
93   gNUM,
94   gDIR,
95   gETC,
96   QW75,
97   GK75,
98   SUB75,
99   SUP75,
100   NUM75,
101   DIR75,
102   ETC75,
103   FN75,
104   GK50,
105 };
106 #endif
107
108 enum userspace_custom_keycodes {
109   gGHERKIN = SAFE_RANGE,
110   GHERKIN,
111   QWERTY,
112   QWERTY75,
113   GHERKIN75,
114   ONEHAND,
115   SUBTER,
116   SUPRA,
117   NUMBER,
118   DIRECTION,
119   ETCETERA,
120   gNUMBER,
121   gDIRECTION,
122   gETCETERA,
123   SUBTER75,
124   SUPRA75,
125   NUMBER75,
126   DIRECTION75,
127   ETCETERA75,
128   FUNCTION75,
129   NUMPAD,
130   GHERKIN50,
131
132 };
133
134 //Tap Dance Declarations (list of my tap dance configurations)
135 #ifdef TAP_DANCE_ENABLE
136 enum {
137   TD_SFT_CAPS = 0
138   ,TD_Q_ESC
139   ,CAD_TD
140   ,RST_TAP_DANCE
141   ,LYR_TAP_DANCE
142   ,LYR50_TAP_DANCE
143   ,LYR75_TAP_DANCE
144   ,BSW_TAP_DANCE
145 };
146 #endif
147
148 // Since our quirky block definitions are basically a list of comma separated
149 // arguments, we need a wrapper in order for these definitions to be
150 // expanded before being used as arguments to the LAYOUT_xxx macro.
151 #if (!defined(LAYOUT) && defined(KEYMAP))
152 #define LAYOUT KEYMAP
153 #endif
154
155 #define KEYMAP_wrapper(...)                  LAYOUT(__VA_ARGS__)
156 #define LAYOUT_wrapper(...)                  LAYOUT(__VA_ARGS__)
157 #define LAYOUT_ortho_3x10_wrapper(...)       LAYOUT_ortho_3x10(__VA_ARGS__)
158 #define LAYOUT_ortho_4x4_wrapper(...)        LAYOUT_ortho_4x4(__VA_ARGS__)
159 #define LAYOUT_ortho_4x12_wrapper(...)       LAYOUT_ortho_4x12(__VA_ARGS__)
160 #define LAYOUT_ortho_5x5_wrapper(...)        LAYOUT_ortho_5x5(__VA_ARGS__)
161 #define LAYOUT_ortho_5x10_wrapper(...)       LAYOUT_ortho_5x10(__VA_ARGS__)
162 #define LAYOUT_ortho_5x15_wrapper(...)       LAYOUT_ortho_5x15(__VA_ARGS__)
163
164 // Blocks for each of the major keyboard layouts
165 // Organized so we can quickly adapt and modify all of them
166 // at once, rather than for each keyboard, one at a time.
167 // And this allows for much cleaner blocks in the keymaps.
168
169 // NOTE: These are all the same length.  If you do a search/replace
170 //       then you need to add/remove underscores to keep the
171 //       lengths consistent.
172
173
174 /* Pure Gherkin
175  * .-----------------------------------------------------------------------------------------.
176  * | Q//ESC | W      | E      | R      | T      | Y      | U      | I      | O      | P      |
177  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
178  * | A      | S      | D      | F      | G      | H      | J      | K      | L      | SPACE  |
179  * |        |        |        |        |        |        |        |        |        |SFThold |
180  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
181  * | Z      | X      | C      | V/gNUM | B/gETC | N      | M/gDIR | ,/GUI  | ./ALT  | BSPC   |
182  * | SFThold|        |        |        |        |        |        |        |        |CTRLhold|
183  * '-----------------------------------------------------------------------------------------'
184  */
185 #define _______________Gherkin_Row_0_______________                     TD(TD_Q_ESC),   KC_W,   KC_E,   KC_R,                   KC_T,                   KC_Y,   KC_U,                   KC_I,                   KC_O,                   KC_P
186 #define _______________Gherkin_Row_1_______________                     KC_A,                   KC_S,   KC_D,   KC_F,                   KC_G,                   KC_H,   KC_J,                   KC_K,                   KC_L,                   SFT_T(KC_SPC)
187 #define _______________Gherkin_Row_2_______________                     SFT_T(KC_Z),    KC_X,   KC_C,   LT(gNUM,KC_V),  LT(gETC,KC_B),  KC_N,   LT(gDIR,KC_M),  GUI_T(KC_COMM), ALT_T(KC_DOT),  CTL_T(KC_BSPC)
188
189 /* Directional Keys
190  * .-----------------------------------------------------------------------------------------.
191  * | TAB    |   up   |        | INS    |  CTRL  | SHIFT  | PgUp   | HOME   |  -     |  =     |
192  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
193  * | left   |  down  | right  | PrScr  | SHIFT  |  CTRL  | PgDn   | END    |  [     |  ]     |
194  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
195  * | P-Brk  |        |        |        |        |        |        | RGUI   | ALT    |  /     |
196  * '-----------------------------------------------------------------------------------------'
197  */
198 #define _______________Gherkin_DIR_0_______________                     KC_TAB,  KC_UP,   _______, KC_INS,  KC_LCTL, KC_RSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL
199 #define _______________Gherkin_DIR_1_______________                     KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_RCTL, KC_PGDN, KC_END,  KC_LBRC, KC_RBRC
200 #define _______________Gherkin_DIR_2_______________                     KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_LALT, KC_SLSH
201
202 /* Numbers
203  * .-----------------------------------------------------------------------------------------.
204  * | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    |
205  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
206  * | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      |
207  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
208  * | F11    | F12    |        |        |        | ENTER  | SHIFT  | GUI    | ./ALT  | BSPC   |
209  * |        |        |        |        |        |        |        |        |        |CTRLhold|
210  * '-----------------------------------------------------------------------------------------'
211  */
212 #define _______________Gherkin_NUM_0_______________                     KC_F1,  KC_F2,  KC_F3,  KC_F4,   KC_F5,   KC_F6,  KC_F7,   KC_F8,   KC_F9,         KC_F10
213 #define _______________Gherkin_NUM_1_______________                     KC_1,   KC_2,   KC_3,   KC_4,    KC_5,    KC_6,   KC_7,    KC_8,    KC_9,          KC_0
214 #define _______________Gherkin_NUM_2_______________                     KC_F11, KC_F12, _______,_______, _______, KC_ENT, KC_RSFT, KC_RGUI, ALT_T(KC_DOT), CTL_T(KC_BSPC)
215
216 /* Et Cetera
217  * .-----------------------------------------------------------------------------------------.
218  * |  `     | mUP    |        |        | RESET  | SHIFT  | mScrUp | mScrDn |        |  \     |
219  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
220  * | mLeft  | mDown  | mRight |        | SHIFT  | mBtn3  | mBtn1  | mBtn2  |  ;     |  '     |
221  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
222  * | Sft//Cp| CAPS   |        |        |        | C-A-D  | mScrL  | mScrR  | ALT    |  DEL   |
223  * '-----------------------------------------------------------------------------------------'
224  */
225 #define _______________Gherkin_ETC_0_______________                     KC_GRV,                 KC_MS_U, _______,_______, RESET,   KC_RSFT,                     KC_WH_U, KC_WH_D, _______, KC_BSLS
226 #define _______________Gherkin_ETC_1_______________                     KC_MS_L,                KC_MS_D, KC_MS_R,_______, KC_LSFT, KC_BTN3,                     KC_BTN1, KC_BTN2, KC_SCLN, KC_QUOT
227 #define _______________Gherkin_ETC_2_______________                     TD(TD_SFT_CAPS),KC_CAPS, _______,_______, _______, LALT(LCTL(KC_DEL)),  KC_WH_L, KC_WH_R, KC_LALT, KC_DEL
228
229 /* Gherkin-Like
230  * .-----------------------------------------------------------------------------------------------------------.
231  * | ESC    | Q//ESC | W      | E      | R      | T      | Y      | U      | I      | O      | P      | BSPC   |
232  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
233  * | TAB    | A      | S      | D      | F      | G      | H      | J      | K      | L      | SPACE  |  '     |
234  * |        |        |        |        |        |        |        |        |        |        |SFThold |        |
235  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
236  * |SFT/CAPS| Z      | X      | C      | V/NUM  | B/ETC  | N      | M/DIR  | ,/GUI  | ./ALT  | BSPC   | ENT/SFT|
237  * |        |SFThold |        |        |        |        |        |        |        |        |CTRLhold|        |
238  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
239  * | LCTRL  | LGUI   | ALT    | ONEHAND|  NUM   | ETC    | SPACE  |  DIR   | RGUI   | ALT    | DEL    | CTRL   |
240  * '-----------------------------------------------------------------------------------------------------------'
241  */
242 #define _______________GherkinLike_0_______________     KC_ESC, _______________Gherkin_Row_0_______________, KC_BSPC
243 #define _______________GherkinLike_1_______________     KC_TAB, _______________Gherkin_Row_1_______________, KC_QUOT
244 #define _______________GherkinLike_2_______________     TD(TD_SFT_CAPS), SFT_T(KC_Z), KC_X, KC_C, LT(NUM, KC_V),LT(ETC, KC_B),KC_N, LT(DIR, KC_M), GUI_T(KC_COMM), ALT_T(KC_DOT), CTL_T(KC_BSPC), SFT_T(KC_ENT)
245 #define _______________GherkinLike_3_______________     KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
246 #define _______________GherkinLike_3_OneHand_______     KC_LCTL, KC_LGUI, KC_LALT, ONEHAND, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, ONEHAND, KC_RCTL
247
248 /* Qwerty
249  * .-------------------------------------------------------------------------------------.
250  * | Esc   |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | BSPC  |
251  * |-------+------+------+------+------+-------------+------+------+------+------+-------|
252  * | Tab   |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  '    |
253  * |-------+------+------+------+------+------|------+------+------+------+------+-------|
254  * |Sft/Cps|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |ENT/SFT|
255  * |-------+------+------+------+------+------+------+------+------+------+------+-------|
256  * | LCTRL | LGUI | ALT  | ALT  | SUB  | SHIFT| SPACE| SUP  | RGUI | RALT | DEL  | CTRL  |
257  * '-------------------------------------------------------------------------------------'
258  */
259 #define _______________Qwerty_Row__0_______________   KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC
260 #define _______________Qwerty_Row__1_______________   KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT
261 #define _______________Qwerty_Row__2_______________   TD(TD_SFT_CAPS),  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SFT_T(KC_ENT)
262 #define _______________Qwerty_Row__3_______________   KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, SUBTER,  KC_LSFT, KC_SPC,  SUPRA,   KC_RGUI, KC_RALT, KC_DEL,  KC_RCTL
263
264 /* SUPRA
265  * .-----------------------------------------------------------------------------------------------------------.
266  * | RESET  | TAB    |   up   |        | INS    | CTRL   | SHIFT  | PgUp   | Home   |   -    |   =    |  DEL   |
267  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
268  * |        |  left  |  down  | right  | PrScr  | SHIFT  | CTRL   | PgDn   | End    |   [    |   ]    |   \    |
269  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
270  * |        | P-Brk  |        |        |        |        |        |        | RGUI   | ALT    |        |        |
271  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
272  * |        |        |        |        |        |        |        |        |        |        |        |        |
273  * '-----------------------------------------------------------------------------------------------------------'
274  */
275 #define ________________SUPRA_Row_0________________   RESET,   KC_TAB,  KC_UP,   _______, KC_INS,  KC_LCTL, KC_RSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL,  KC_DEL
276 #define ________________SUPRA_Row_1________________   _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_RCTL, KC_PGDN, KC_END,  KC_LBRC, KC_RBRC, KC_BSLS
277 #define ________________SUPRA_Row_2________________   _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______
278 #define ________________SUPRA_Row_3________________   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
279
280 /* SUBTER
281  * .-----------------------------------------------------------------------------------------------------------.
282  * |        | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    |  DEL   |
283  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
284  * |    `   | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      |        |
285  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
286  * |        | F11    | F12    |        |        |        |        |        | RGUI   | ./ALT  | BSPC   |        |
287  * |        |        |        |        |        |        |        |        |        |        |CTRLhold|        |
288  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
289  * |        |        | gherkin|        |        |        | ENTER  | SHIFT  |        |        |        |        |
290  * '-----------------------------------------------------------------------------------------------------------'
291  */
292 #define _______________SUBTER_Row__0_______________   _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,    KC_F8,  KC_F9,                   KC_F10,                 KC_DEL
293 #define _______________SUBTER_Row__1_______________   KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,     KC_8,   KC_9,                    KC_0,                   _______
294 #define _______________SUBTER_Row__2_______________   _______, KC_F11,  KC_F12,  _______, _______, _______, _______, _______,  KC_RGUI,ALT_T(KC_DOT),   CTL_T(KC_BSPC), _______
295 #define _______________SUBTER_Row__3_______________   _______, _______, GHERKIN, _______, _______, _______, KC_ENT,  KC_LSFT,  _______,_______,                 _______,                _______
296
297 /* Gherkin Numbers
298  * .-----------------------------------------------------------------------------------------------------------.
299  * |        | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | BSPC |
300  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
301  * |        | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      |        |
302  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
303  * |        | F11    | F12    |        |        |        | ENTER  | SHIFT  | RGUI   | ./ALT  | BSPC   |        |
304  * |        |        |        |        |        |        |        |        |        |        |CTRLhold|            |
305  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
306  * |        |        |        |        |        |        | ENTER  | SHIFT  | RGUI   |        |        |        |
307  * '-----------------------------------------------------------------------------------------------------------'
308  */
309 #define _______________NUMBERS_Row_0_______________   _______, _______________Gherkin_NUM_0_______________,  KC_BSPC
310 #define _______________NUMBERS_Row_1_______________   _______, _______________Gherkin_NUM_1_______________,  _______
311 #define _______________NUMBERS_Row_2_______________   _______, _______________Gherkin_NUM_2_______________,  _______
312 #define _______________NUMBERS_Row_3_______________   _______, _______, _______, _______, _______, _______, KC_ENT, KC_RSFT, KC_RGUI, _______, _______, _______
313
314
315 /* Gherkin Directional Keys
316  * .-----------------------------------------------------------------------------------------------------------.
317  * |        | TAB    |   up   |        | INS    | CTRL   | SHIFT  | PgUp   | HOME   |  -     |  =     | DEL    |
318  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
319  * |        | left   |  down  | right  | PrScr  | SHIFT  | CTRL   | PgDn   | END    |  [     |  ]     |        |
320  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
321  * |        | P-Brk  |        |        |        |        |        |        | RGUI   | ALT    |  /     |        |
322  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
323  * |        |        | qwerty |        |        |        |        |        |        |        |        |        |
324  * '-----------------------------------------------------------------------------------------------------------'
325  */
326 #define _____________DIRECTIONS_Row__0_____________   _______, _______________Gherkin_DIR_0_______________, KC_DEL
327 #define _____________DIRECTIONS_Row__1_____________   _______, _______________Gherkin_DIR_1_______________, _______
328 #define _____________DIRECTIONS_Row__2_____________   _______, _______________Gherkin_DIR_2_______________, _______
329 #define _____________DIRECTIONS_Row__3_____________   _______, _______, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______
330
331 /* Gherkin Et Cetera
332  * .-----------------------------------------------------------------------------------------------------------.
333  * |        |  `     | mUP    |        |        | RESET  | SHIFT  | mScrUp |mScrDown|        |  \     | DEL    |
334  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
335  * |        | mLeft  | mDown  | mRight |        | SHIFT  | mBtn3  | mBtn1  | mBtn2  |  ;     |  '     |        |
336  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
337  * |        | Sft//Cp|        |        |        |        | C-A-D  |mScrLeft| mScrRt | ALT    |  DEL   |        |
338  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
339  * |        |        |        |        |        |        | C-A-D  |        |        |        |        |        |
340  * '-----------------------------------------------------------------------------------------------------------'
341  */
342 #define ______________ETCETERA_Row__0______________   _______, _______________Gherkin_ETC_0_______________, KC_DEL
343 #define ______________ETCETERA_Row__1______________   _______, _______________Gherkin_ETC_1_______________, _______
344 #define ______________ETCETERA_Row__2______________   _______, _______________Gherkin_ETC_2_______________, _______
345 #define ______________ETCETERA_Row__3______________   _______, _______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), _______, _______, _______, _______, _______
346  
347 /* Single 4x4 board only
348  * .-----------------------------------.
349  * |   7    |   8    |   9    |  BSPC  |
350  * |--------+--------+--------+--------|
351  * |   4    |   5    |   6    | SPACE  |
352  * |--------+--------+--------+--------|
353  * |   1    |   2    |   3    | ENTER  |
354  * |--------+--------+--------+--------|
355  * |   0    |/ //_GK |   .    |   -    |
356  * '-----------------------------------'
357  */
358
359 #define _______________NUMPAD_Row__0_______________  KC_KP_7, KC_KP_8, KC_KP_9,   KC_BSPC
360 #define _______________NUMPAD_Row__1_______________  KC_KP_4, KC_KP_5, KC_KP_6,   KC_SPC
361 #define _______________NUMPAD_Row__2_______________  KC_KP_1, KC_KP_2, KC_KP_3,   KC_PENT
362 #define _______________NUMPAD_Row__3_______________  KC_KP_0, TD(LYR_TAP_DANCE), KC_KP_DOT, KC_PMNS