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