1 #include QMK_KEYBOARD_H
3 extern keymap_config_t keymap_config
;
6 _COLEMAK
, // Colemak (default layer)
8 _NUMBERS
, // Numbers & Symbols
9 _NUMBERS2
, // Numbers & Symbols 2 (identical as _NUMBERS; basically used for tri-layer access to _ADJUST)
10 _FUNCTION
, // Function
11 _FUNCTION2
, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
13 _COLEMAKGM
, // Colemak gaming/vanilla (no dual-role keys with layer access)
14 _QWERTYGM
, // QWERTY gaming/vanilla (no dual-role keys with layer access)
15 _ADJUST
, // Adjust layer, accessed via tri-layer feature)
16 _ADJUST2
// Second Adjust layer, accessed outside of tri-layer feature)
19 enum kinesis_keycodes
{
25 ADJUST
= MO(_ADJUST2
),
26 SPCFN
= LT(_FUNCTION
, KC_SPC
),
27 BSPCFN
= LT(_FUNCTION2
, KC_BSPC
),
28 ENTNS
= LT(_NUMBERS
, KC_ENT
),
29 DELNS
= LT(_NUMBERS2
, KC_DEL
),
30 CTLESC
= CTL_T(KC_ESC
),
31 ALTAPP
= ALT_T(KC_APP
),
32 NKROTG
= MAGIC_TOGGLE_NKRO
35 #define _______ KC_TRNS
38 //Tap Dance Declarations
53 void dance_LAYER_finished(qk_tap_dance_state_t
*state
, void *user_data
) {
54 if (state
->count
== 2) {
56 set_oneshot_layer(_ADJUST2
, ONESHOT_START
);
59 void dance_LAYER_reset(qk_tap_dance_state_t
*state
, void *user_data
) {
60 if (state
->count
== 2) {
62 clear_oneshot_layer_state(ONESHOT_PRESSED
);
66 qk_tap_dance_action_t tap_dance_actions
[] = {
67 [ADJ
] = ACTION_TAP_DANCE_FN_ADVANCED(NULL
, dance_LAYER_finished
, dance_LAYER_reset
), // Double-tap to activate Adjust layer via oneshot layer
68 [LBCB
] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC
, KC_LCBR
), // Left bracket on a single-tap, left brace on a double-tap
69 [RBCB
] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC
, KC_RCBR
), // Right bracket on a single-tap, right brace on a double-tap
70 [EQPL
] = ACTION_TAP_DANCE_DOUBLE(KC_EQL
, KC_PLUS
), // Plus sign on a single-tap, equal sign on a double-tap
71 [PLEQ
] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS
, KC_EQL
), // Equal sign on a single-tap, plus sign on a double-tap
72 [MNUN
] = ACTION_TAP_DANCE_DOUBLE(KC_MINS
, KC_UNDS
), // Minus sign on a single-tap, underscore on a double-tap
73 [SLAS
] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH
, KC_ASTR
), // Slash in a single-tap, asterisk in a double-tap
74 [GVTL
] = ACTION_TAP_DANCE_DOUBLE(KC_GRV
, KC_TILD
), // Grave on a single-tap, tilde on a double-tap
75 [PPLEQ
] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS
, KC_EQL
), // Numpad plus sign on a single-tap, equal sign on a double-tap
76 [PMNUN
] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS
, KC_UNDS
), // Numpad minus sign on a single-tap, underscore on a double-tap
77 [PSLPAS
] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS
, KC_PAST
) // Numpad slash on a single-tap, numpad asterisk on a double-tap
80 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
82 / (Identical across layers, unless otherwise noted; Numpad is a toggle; Adjust is mometary)
83 * ,-----------------------------------------------------------------------------------------------------------.
84 * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
85 * `-----------------------------------------------------------------------------------------------------------'
89 * (Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
90 * ,-------------------------------------------. ,-------------------------------------------.
91 * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
92 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
93 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
94 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
95 * |Esc/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
96 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
97 * |SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
98 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
99 * | Ins | ` | [ | ] | | Left | Down | Up | Right|
100 * `---------------------------' `---------------------------'
101 * ,---------------. ,---------------.
102 * |Esc/Ctl| Hyper | | RAlt | RCtl |
103 * ,-------|-------|-------| |-------+-------+-------.
104 * | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
105 * | / | / |-------| |-------| / | / |
106 * | Fn | Number| Bspc | | Enter |Number2| Fn2 |
107 * `-----------------------' `-----------------------'
111 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
,
112 KC_EQL
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
113 KC_TAB
, KC_Q
, KC_W
, KC_F
, KC_P
, KC_G
,
114 CTLESC
, KC_A
, KC_R
, KC_S
, KC_T
, KC_D
,
115 KC_LSPO
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
,
116 KC_INS
, KC_GRV
, KC_LBRC
, KC_RBRC
,
118 CTLESC
, ALL_T(KC_NO
),
120 SPCFN
, ENTNS
, KC_BSPC
,
122 KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, NUMPAD
, ADJUST
,
123 KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_MINS
,
124 KC_J
, KC_L
, KC_U
, KC_Y
, KC_SCLN
, KC_BSLS
,
125 KC_H
, KC_N
, KC_E
, KC_I
, KC_O
, KC_QUOT
,
126 KC_K
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSPC
,
127 KC_LEFT
, KC_DOWN
, KC_UP
, KC_RGHT
,
131 KC_ENT
, DELNS
, BSPCFN
135 * (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
136 * ,-------------------------------------------. ,-------------------------------------------.
137 * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
138 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
139 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
140 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
141 * |Esc/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
142 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
143 * |SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
144 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
145 * | Ins | ` | [ | ] | | Left | Down | Up | Right|
146 * `---------------------------' `---------------------------'
147 * ,---------------. ,---------------.
148 * |Esc/Ctl| Hyper | | RAlt | RCtl |
149 * ,-------|-------|-------| |-------+-------+-------.
150 * | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
151 * | / | / |-------| |-------| / | / |
152 * | Fn | Number| Bspc | | Enter |Number2| Fn2 |
153 * `-----------------------' `-----------------------'
157 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
,
158 KC_EQL
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
159 KC_TAB
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
,
160 CTLESC
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
,
161 KC_LSPO
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
,
162 KC_INS
, KC_GRV
, KC_LBRC
, KC_RBRC
,
164 CTLESC
, ALL_T(KC_NO
),
166 SPCFN
, ENTNS
, KC_BSPC
,
169 KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, NUMPAD
, ADJUST
,
170 KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_MINS
,
171 KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSLS
,
172 KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
, KC_QUOT
,
173 KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSPC
,
174 KC_LEFT
, KC_DOWN
, KC_UP
, KC_RGHT
,
178 KC_ENT
, DELNS
, BSPCFN
181 /* Number/symbol layer
182 * (Multiple characters: single-tap for first, double-tap for second)
183 * ,-------------------------------------------. ,-------------------------------------------.
184 * | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
185 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
186 * | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
187 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
188 * | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
189 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
190 * | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
191 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
192 * | ( | ) | [ { | ] } | | | | | |
193 * `---------------------------' `---------------------------'
194 * ,---------------. ,---------------.
196 * ,-------|-------|-------| |-------+-------+-------.
198 * | | |-------| |-------| | |
200 * `-----------------------' `-----------------------'
204 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
205 KC_F12
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
,
206 _______
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
,
207 _______
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
208 _______
, _______
, KC_DOT
, TD(SLAS
), TD(MNUN
), TD(PLEQ
),
209 KC_LPRN
, KC_RPRN
, TD(LBCB
), TD(RBCB
),
213 _______
, _______
, _______
,
215 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
216 KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
,
217 KC_CIRC
, KC_AMPR
, KC_ASTR
, KC_LPRN
, KC_RPRN
, _______
,
218 KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, _______
,
219 TD(GVTL
), TD(LBCB
), TD(RBCB
), _______
, _______
, _______
,
220 _______
, _______
, _______
, _______
,
224 _______
, _______
, _______
227 [_NUMBERS2
] = LAYOUT(
229 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
230 KC_F12
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
,
231 _______
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
,
232 _______
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
233 _______
, _______
, KC_DOT
, TD(SLAS
), TD(MNUN
), TD(PLEQ
),
234 KC_LPRN
, KC_RPRN
, TD(LBCB
), TD(RBCB
),
238 _______
, _______
, _______
,
240 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
241 KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
,
242 KC_CIRC
, KC_AMPR
, KC_ASTR
, KC_LPRN
, KC_RPRN
, _______
,
243 KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, _______
,
244 TD(GVTL
), TD(LBCB
), TD(RBCB
), _______
, _______
, _______
,
245 _______
, _______
, _______
, _______
,
249 _______
, _______
, _______
253 * ,-------------------------------------------. ,-------------------------------------------.
254 * | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
255 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
256 * | | | | Up | | | | | | Up |Ctrl+Y| | |
257 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
258 * | |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
259 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
260 * | |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
261 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
262 * | | | | | | Prev | Play | Next | Stop |
263 * `---------------------------' `---------------------------'
264 * ,---------------. ,---------------.
266 * ,-------|-------|-------| |-------+-------+-------.
268 * | | |-------| |-------| | |
270 * `-----------------------' `-----------------------'
272 [_FUNCTION
] = LAYOUT(
274 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
275 KC_F12
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
,
276 _______
, _______
, _______
, KC_UP
, _______
, _______
,
277 _______
, LCTL(KC_A
), KC_LEFT
, KC_DOWN
, KC_RGHT
, LCA(KC_TAB
),
278 _______
, LCTL(KC_Z
), LCTL(KC_X
), LCTL(KC_C
), LCTL(KC_V
), KC_BSPC
,
279 _______
, _______
, _______
, _______
,
283 _______
, _______
, _______
,
285 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
286 KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
,
287 _______
, _______
, KC_UP
, LCTL(KC_Y
), _______
, _______
,
288 KC_PGUP
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_HOME
, _______
,
289 KC_PGDN
, KC_MUTE
, KC_VOLD
, KC_VOLU
, KC_END
, _______
,
290 KC_MPRV
, KC_MPLY
, KC_MNXT
, KC_MSTP
,
294 _______
, _______
, _______
297 [_FUNCTION2
] = LAYOUT(
299 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
300 KC_F12
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
,
301 _______
, _______
, _______
, KC_UP
, _______
, _______
,
302 _______
, LCTL(KC_A
), KC_LEFT
, KC_DOWN
, KC_RGHT
, LCA(KC_TAB
),
303 _______
, LCTL(KC_Z
), LCTL(KC_X
), LCTL(KC_C
), LCTL(KC_V
), KC_BSPC
,
304 _______
, _______
, _______
, _______
,
308 _______
, _______
, _______
,
310 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
311 KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
,
312 _______
, _______
, KC_UP
, LCTL(KC_Y
), _______
, _______
,
313 KC_PGUP
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_HOME
, _______
,
314 KC_PGDN
, KC_MUTE
, KC_VOLD
, KC_VOLU
, KC_END
, _______
,
315 KC_MPRV
, KC_MPLY
, KC_MNXT
, KC_MSTP
,
319 _______
, _______
, _______
323 * (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
324 * ,-------------------------------------------. ,-------------------------------------------.
325 * | | NumLk| | | | | | Tab | NumLk| KP / | KP * | KP - | |
326 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
327 * | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
328 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
329 * | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
330 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
331 * | | | KP . |KP/KP*| KP- _| KP+ =| | | KP 1 | KP 2 | KP 3 |KP Ent| |
332 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
333 * | ( | ) | [ { | ] } | | KP 0 | , | KP . |KP Ent|
334 * `---------------------------' `---------------------------'
335 * ,---------------. ,---------------.
337 * ,-------|-------|-------| |-------+-------+-------.
339 * | | |-------| |-------| | |
340 * | | | | | KP Ent| | |
341 * `-----------------------' `-----------------------'
345 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
346 _______
, KC_NLCK
, _______
, _______
, _______
, _______
,
347 _______
, KC_P6
, KC_P7
, KC_P8
, KC_P9
, KC_P0
,
348 _______
, KC_P1
, KC_P2
, KC_P3
, KC_P4
, KC_P5
,
349 _______
, _______
, KC_PDOT
, TD(PSLPAS
), TD(PMNUN
), TD(PPLEQ
),
350 KC_LPRN
, KC_RPRN
, TD(LBCB
), TD(RBCB
),
354 _______
, _______
, _______
,
356 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
357 KC_TAB
, KC_NLCK
, KC_PSLS
, KC_PAST
, KC_PMNS
, _______
,
358 _______
, KC_P7
, KC_P8
, KC_P9
, KC_PPLS
, _______
,
359 _______
, KC_P4
, KC_P5
, KC_P6
, KC_EQL
, _______
,
360 _______
, KC_P1
, KC_P2
, KC_P3
, KC_PENT
, _______
,
361 KC_P0
, KC_COMM
, KC_PDOT
, KC_PENT
,
365 _______
, _______
, _______
368 /* Colemak gaming/vanilla
369 * (No access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
370 * ,-------------------------------------------. ,-------------------------------------------.
371 * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
372 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
373 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
374 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
375 * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
376 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
377 * | Shift | Z | X | C | V | B | | K | M | , | . | / | Shift |
378 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
379 * | Ins | ` | [ | ] | | Left | Down | Up | Right|
380 * `---------------------------' `---------------------------'
381 * ,---------------. ,---------------.
382 * |Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
383 * ,-------|-------|-------| |-------+-------+-------.
384 * | | | LAlt | | RGUI | | |
385 * | Space | Enter |-------| |-------| Delete| Bspc |
386 * | | | Bspc | | Enter | | |
387 * `-----------------------' `-----------------------'
389 [_COLEMAKGM
] = LAYOUT(
391 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
,
392 KC_EQL
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
393 KC_TAB
, KC_Q
, KC_W
, KC_F
, KC_P
, KC_G
,
394 KC_LCTL
, KC_A
, KC_R
, KC_S
, KC_T
, KC_D
,
395 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
,
396 KC_INS
, KC_GRV
, KC_LBRC
, KC_RBRC
,
400 KC_SPC
, KC_ENT
, KC_BSPC
,
402 KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, NUMPAD
, ADJUST
,
403 KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_MINS
,
404 KC_J
, KC_L
, KC_U
, KC_Y
, KC_SCLN
, KC_BSLS
,
405 KC_H
, KC_N
, KC_E
, KC_I
, KC_O
, KC_QUOT
,
406 KC_K
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
,
407 KC_LEFT
, KC_DOWN
, KC_UP
, KC_RGHT
,
411 KC_ENT
, KC_DEL
, KC_BSPC
414 /* QWERTY gaming/vanilla
415 * (No access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
416 * ,-------------------------------------------. ,-------------------------------------------.
417 * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
418 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
419 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
420 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
421 * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
422 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
423 * | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
424 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
425 * | Ins | ` | [ | ] | | Left | Down | Up | Right|
426 * `---------------------------' `---------------------------'
427 * ,---------------. ,---------------.
428 * |Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
429 * ,-------|-------|-------| |-------+-------+-------.
430 * | | | LAlt | | RGUI | | |
431 * | Space | Enter |-------| |-------| Delete| Bspc |
432 * | | | Bspc | | Enter | | |
433 * `-----------------------' `-----------------------'
435 [_QWERTYGM
] = LAYOUT(
437 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
,
438 KC_EQL
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
,
439 KC_TAB
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
,
440 KC_LCTL
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
,
441 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
,
442 KC_INS
, KC_GRV
, KC_LBRC
, KC_RBRC
,
446 KC_SPC
, KC_ENT
, KC_BSPC
,
448 KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, NUMPAD
, ADJUST
,
449 KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_MINS
,
450 KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSLS
,
451 KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
, KC_QUOT
,
452 KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
,
453 KC_LEFT
, KC_DOWN
, KC_UP
, KC_RGHT
,
457 KC_ENT
, KC_DEL
, KC_BSPC
461 * (Enter/Number + Delete/Number2 under non-gaming/vanilla layers; Numpad is a toggle)
462 * ,-------------------------------------------. ,-------------------------------------------.
463 * | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | RESET |
464 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
465 * | | | | | | | | | | | | | |
466 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
467 * | | | | | | | | |NKROTG| | | | |
468 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
469 * | | | | | | | | | | | | | |
470 * `--------+------+------+------+------+------' `------+------+------+------+------+--------'
471 * | | | | | | | | | |
472 * `---------------------------' `---------------------------'
473 * ,---------------. ,---------------.
475 * ,-------|-------|-------| |-------+-------+-------.
477 * | | |-------| |-------| | |
479 * `-----------------------' `-----------------------'
483 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
484 _______
, COLEMAK
, QWERTY
, _______
, COLEMAKGM
, QWERTYGM
,
485 _______
, _______
, _______
, _______
, _______
, _______
,
486 _______
, _______
, _______
, _______
, _______
, _______
,
487 _______
, _______
, _______
, _______
, _______
, _______
,
488 _______
, _______
, _______
, _______
,
492 _______
, _______
, _______
,
494 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
495 NUMPAD
, _______
, _______
, _______
, _______
, RESET
,
496 _______
, _______
, _______
, _______
, _______
, _______
,
497 _______
, NKROTG
, _______
, _______
, _______
, _______
,
498 _______
, _______
, _______
, _______
, _______
, _______
,
499 _______
, _______
, _______
, _______
,
503 _______
, _______
, _______
508 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
509 _______
, COLEMAK
, QWERTY
, _______
, COLEMAKGM
, QWERTYGM
,
510 _______
, _______
, _______
, _______
, _______
, _______
,
511 _______
, _______
, _______
, _______
, _______
, _______
,
512 _______
, _______
, _______
, _______
, _______
, _______
,
513 _______
, _______
, _______
, _______
,
517 _______
, _______
, _______
,
519 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
520 NUMPAD
, _______
, _______
, _______
, _______
, RESET
,
521 _______
, _______
, _______
, _______
, _______
, _______
,
522 _______
, NKROTG
, _______
, _______
, _______
, _______
,
523 _______
, _______
, _______
, _______
, _______
, _______
,
524 _______
, _______
, _______
, _______
,
528 _______
, _______
, _______
533 uint32_t layer_state_set_user(uint32_t state
) {
534 return update_tri_layer_state(state
, _NUMBERS
, _NUMBERS2
, _ADJUST
);
537 void persistent_default_layer_set(uint16_t default_layer
) {
538 eeconfig_update_default_layer(default_layer
);
539 default_layer_set(default_layer
);
542 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
545 if (record
->event
.pressed
) {
546 persistent_default_layer_set(1UL << _COLEMAK
);
547 layer_off ( _QWERTY
);
548 layer_off ( _NUMBERS
);
549 layer_off ( _NUMBERS2
);
550 layer_off ( _FUNCTION
);
551 layer_off ( _FUNCTION2
);
552 layer_off ( _NUMPAD
);
553 layer_off ( _COLEMAKGM
);
554 layer_off ( _QWERTYGM
);
555 layer_off ( _ADJUST
);
556 layer_off ( _ADJUST2
);
561 if (record
->event
.pressed
) {
562 persistent_default_layer_set(1UL << _QWERTY
);
563 layer_off ( _COLEMAK
);
564 layer_off ( _NUMBERS
);
565 layer_off ( _NUMBERS2
);
566 layer_off ( _FUNCTION
);
567 layer_off ( _FUNCTION2
);
568 layer_off ( _NUMPAD
);
569 layer_off ( _COLEMAKGM
);
570 layer_off ( _QWERTYGM
);
571 layer_off ( _ADJUST
);
572 layer_off ( _ADJUST2
);
578 if (record
->event
.pressed
) {
579 default_layer_set(1UL << _COLEMAKGM
);
580 layer_off ( _QWERTY
);
581 layer_off ( _COLEMAK
);
582 layer_off ( _NUMBERS
);
583 layer_off ( _NUMBERS2
);
584 layer_off ( _FUNCTION
);
585 layer_off ( _FUNCTION2
);
586 layer_off ( _NUMPAD
);
587 layer_off ( _QWERTYGM
);
588 layer_off ( _ADJUST
);
589 layer_off ( _ADJUST2
);
594 if (record
->event
.pressed
) {
595 default_layer_set(1UL << _QWERTYGM
);
596 layer_off ( _QWERTY
);
597 layer_off ( _COLEMAK
);
598 layer_off ( _NUMBERS
);
599 layer_off ( _NUMBERS2
);
600 layer_off ( _FUNCTION
);
601 layer_off ( _FUNCTION2
);
602 layer_off ( _NUMPAD
);
603 layer_off ( _COLEMAKGM
);
604 layer_off ( _ADJUST
);
605 layer_off ( _ADJUST2
);