aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kc60/keymaps/noroadsleft/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kc60/keymaps/noroadsleft/keymap.c')
-rw-r--r--keyboards/kc60/keymaps/noroadsleft/keymap.c421
1 files changed, 129 insertions, 292 deletions
diff --git a/keyboards/kc60/keymaps/noroadsleft/keymap.c b/keyboards/kc60/keymaps/noroadsleft/keymap.c
index 84aeb482d..5ad100e0e 100644
--- a/keyboards/kc60/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kc60/keymaps/noroadsleft/keymap.c
@@ -1,8 +1,23 @@
1#include QMK_KEYBOARD_H 1/* Copyright 2018-2020 James Young (@noroadsleft)
2#include "version.h" 2 *
3#include <sendstring_dvorak.h> 3 * This program is free software: you can redistribute it and/or modify
4//#include <sendstring_colemak.h> 4 * it under the terms of the GNU General Public License as published by
5#include <print.h> 5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "noroadsleft.h"
18#include "sendstring_dvorak.h"
19//#include "sendstring_colemak.h"
20#include "print.h"
6 21
7 22
8/********************** 23/**********************
@@ -10,83 +25,33 @@
10**********************/ 25**********************/
11enum layer_names { 26enum layer_names {
12 // BASE LAYERS 27 // BASE LAYERS
13 // SHORT CODES 28 _QW, // QWERTY
14 _QWERTY = 0, 29 _DV, // Dvorak
15 _QW = _QWERTY, 30 _CM, // Colemak
16 _DVORAK, 31 // QUAKE 2 OVERLAY
17 _DV = _DVORAK, 32 _Q2, // Quake 2
18 _COLEMAK, 33 // FUNCTION LAYER
19 _CM = _COLEMAK, 34 _FN, // Function
20 _MAC,
21 _MC = _MAC,
22 _QUAKE2,
23 _Q2 = _QUAKE2,
24 _QUAKE2_DVORAK,
25 _QD = _QUAKE2_DVORAK,
26 _QUAKE2_CONSOLE,
27 _QC = _QUAKE2_CONSOLE,
28 // FUNCTION LAYERS
29 _FUNCWIN,
30 _FW = _FUNCWIN,
31 _FUNCMAC,
32 _FM = _FUNCMAC,
33 _FUNCQ2,
34 _FQ = _FUNCQ2,
35 // OTHER LAYERS 35 // OTHER LAYERS
36 _NUMPAD, 36 _NP, // Numpad
37 _NP = _NUMPAD, 37 _MA, // Macros
38 _MACROS, 38 _SY, // System
39 _MA = _MACROS,
40 _SYSTEM,
41 _SY = _SYSTEM,
42}; 39};
43 40
44 41
45// KEYCODE DEFINITIONS 42// KEYCODE DEFINITIONS
46#define NO_CHNG KC_TRNS // Note for me for keys I need to leave as Pass-through 43#define NO_CHNG KC_TRNS // Note for me for keys I need to leave as Pass-through
47 44
48#define FW_CAPS LT(_FUNCWIN, KC_CAPS) // _FUNCWIN when held, Caps Lock when tapped 45#define FN_CAPS LT(_FN, KC_CAPS) // Function Layer when held, Caps Lock when tapped
49#define FM_CAPS LT(_FUNCMAC, KC_CAPS) // _FUNCMAC when held, Caps Lock when tapped 46#define Q2_CAPS LT(_FQ, KC_CAPS) // Quake 2 Function Layer when held, Caps Lock when tapped
50#define Q2_CAPS LT(_FUNCQ2, KC_CAPS) // _FUNCQ2 when held, Caps Lock when tapped
51
52#define WN_SALL LCTL(DV_A) // Windows/Linux Select All
53#define WN_UNDO LCTL(DV_Z) // Windows/Linux Undo
54#define WN_CUT LCTL(DV_X) // Windows/Linux Cut
55#define WN_COPY LCTL(DV_C) // Windows/Linux Copy
56#define WN_PSTE LCTL(DV_V) // Windows/Linux Paste
57 47
58#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped 48#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped
59 49
60#define MC_PSCR LGUI(LSFT(KC_3)) // MacOS Print Screen (Command + Shift + 3)
61#define MC_HOME LGUI(KC_LEFT) // MacOS Home (Command + Left Arrow)
62#define MC_END LGUI(KC_RGHT) // MacOS End (Command + Right Arrow)
63#define MC_SALL LGUI(KC_A) // MacOS Select All
64//#define MC_UNDO LGUI(KC_Z) // MacOS Undo // replaced by macro
65#define MC_CUT LGUI(KC_X) // MacOS Cut
66#define MC_COPY LGUI(KC_C) // MacOS Copy
67//#define MC_PSTE LGUI(KC_V) // MacOS Paste // replaced by macro
68
69 50
70// MACRO DEFINITIONS 51// MACRO DEFINITIONS
71enum custom_keycodes { 52enum custom_keycodes {
72 F_CAPS = SAFE_RANGE, 53 GO_Q2 = KEYMAP_SAFE_RANGE,
73 T_L3DED, 54 Q2_ENT
74 G_PUSH,
75 G_FTCH,
76 G_COMM,
77 G_RST,
78 G_C10R,
79 G_BRCH,
80 SIGNA,
81 GO_Q2,
82 Q2_ON,
83 Q2_OFF,
84 Q2_ESC,
85 Q2_GRV,
86 MC_UNDO,
87 MC_PSTE,
88 NUBS_Z,
89 VRSN
90}; 55};
91 56
92 57
@@ -94,158 +59,90 @@ enum custom_keycodes {
94** MODIFIER MASKS ** 59** MODIFIER MASKS **
95*******************/ 60*******************/
96#define MOD_MASK_RALT (MOD_BIT(KC_RALT)) 61#define MOD_MASK_RALT (MOD_BIT(KC_RALT))
62unsigned char q2InputMode = 0;
97 63
98 64
99bool process_record_user(uint16_t keycode, keyrecord_t *record) { 65bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
100 switch(keycode) { 66 switch(keycode) {
101 // these are our macros! 67 // these are our macros!
102 case F_CAPS: 68 case GO_Q2:
103 /*
104 * Objective: write a macro that checks the current layers that are
105 * enabled, and activates the appropriate function layer.
106 */
107 if ( biton32(layer_state) == _MAC ) {
108 if (record->event.pressed) {
109 layer_on(_FUNCMAC);
110 } else {
111 layer_off(_FUNCMAC);
112 }
113 } else {
114 if (record->event.pressed) {
115 layer_on(_FUNCWIN);
116 } else {
117 layer_off(_FUNCWIN);
118 }
119 };
120 return false;
121 case T_L3DED:
122 if (record->event.pressed) {
123 SEND_STRING("lavak3DED ");
124 };
125 return false;
126 case G_PUSH:
127 if (record->event.pressed) { 69 if (record->event.pressed) {
128 SEND_STRING("git push origin "); 70 //default_layer_set(_QW);
71 layer_move(_QW); // TO(_QW);
72 layer_on(_Q2);
73 //layer_off(_SY);
129 }; 74 };
130 return false; 75 return false;
131 case G_FTCH: 76 case Q2_ENT:
132 if (record->event.pressed) { 77 if (record->event.pressed) {
133 if ( get_mods() & MOD_MASK_SHIFT ) { 78 if (q2InputMode == 0) {
134 clear_mods(); 79 tap_code(KC_ENT);
135 SEND_STRING("git pull upstream "); 80 q2InputMode = 1;
81 layer_on(_DV);
82 //layer_on(_Q2);
83 } else if (q2InputMode == 1) {
84 tap_code(KC_ENT);
85 q2InputMode = 0;
86 layer_off(_DV);
136 } else { 87 } else {
137 SEND_STRING("git fetch upstream "); 88 tap_code(KC_ENT);
138 } 89 }
139 }; 90 };
140 return false; 91 return false;
141 case G_COMM: 92 case KC_ESC:
142 if (record->event.pressed) { 93 if (record->event.pressed) {
143 SEND_STRING("git commit -m \"\"" SS_TAP(X_LEFT)); 94 if (q2InputMode > 0) {
144 layer_off(_MACROS); 95 tap_code(KC_ESC);
145 }; 96 q2InputMode = 0;
146 return false; 97 layer_off(_DV);
147 case G_BRCH:
148 if (record->event.pressed) {
149 if ( get_mods() & MOD_MASK_SHIFT ) {
150 clear_mods();
151 SEND_STRING("master");
152 } else { 98 } else {
153 SEND_STRING("$(git branch-name)"); 99 tap_code(KC_ESC);
154 } 100 }
155 layer_off(_MACROS);
156 };
157 return false;
158 case SIGNA:
159 if (record->event.pressed) {
160 SEND_STRING("\\- @noroadsleft" SS_TAP(X_ENTER));
161 layer_off(_MACROS);
162 };
163 return false;
164 case GO_Q2:
165 if (record->event.pressed) {
166 //default_layer_set(_QWERTY);
167 layer_move(_QWERTY); // TO(_QWERTY);
168 layer_on(_QUAKE2);
169 //layer_off(_SYSTEM);
170 };
171 return false;
172 case Q2_ON:
173 if (record->event.pressed) {
174 SEND_STRING(SS_TAP(X_ENTER));
175 layer_on(_DVORAK);
176 layer_on(_QUAKE2_DVORAK);
177 };
178 return false;
179 case Q2_OFF:
180 if (record->event.pressed) {
181 SEND_STRING(SS_TAP(X_ENTER));
182 layer_move(_QWERTY); // TO(_QWERTY);
183 layer_on(_QUAKE2);
184 }; 101 };
185 return false; 102 return false;
186 case Q2_ESC: 103 case KC_GRV:
187 if (record->event.pressed) { 104 if (IS_LAYER_ON(_Q2) == true) {
188 SEND_STRING(SS_TAP(X_ESCAPE)); 105 if (record->event.pressed) {
189 layer_move(_QWERTY); // TO(_QWERTY); 106 if (q2InputMode == 0) {
190 layer_on(_QUAKE2); 107 tap_code(KC_GRV);
191 }; 108 q2InputMode = 2;
192 return false; 109 layer_on(_DV);
193 case Q2_GRV: 110 } else if (q2InputMode == 1) {
194 if (record->event.pressed) { 111 tap_code(KC_GRV);
195 SEND_STRING(SS_TAP(X_GRAVE)); 112 q2InputMode = 2;
196 layer_on(_DVORAK); 113 } else {
197 layer_on(_QUAKE2_DVORAK); 114 tap_code(KC_GRV);
198 layer_on(_QUAKE2_CONSOLE); 115 q2InputMode = 0;
199 }; 116 layer_off(_DV);
200 return false; 117 }
201 case MC_UNDO:
202 if (record->event.pressed) {
203 if ( get_mods() & MOD_MASK_SHIFT ) {
204 SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) SS_UP(X_LSHIFT) );
205 } else {
206 SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) );
207 }
208 };
209 return false;
210 case MC_PSTE:
211 if (record->event.pressed) {
212 if ( get_mods() & MOD_MASK_SHIFT ) {
213 SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_V) SS_UP(X_LALT) SS_UP(X_LGUI) SS_UP(X_LSHIFT) );
214 } else {
215 SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_V) SS_UP(X_LGUI) );
216 } 118 }
217 }; 119 };
218 return false; 120 return false;
219 case NUBS_Z: 121 case KC_Z:
220 if (record->event.pressed) { 122 if (record->event.pressed) {
221 if ( get_mods() & MOD_MASK_RALT ) { 123 if ( get_mods() & MOD_MASK_RALT ) {
222 SEND_STRING( SS_DOWN(X_NONUS_BSLASH) ); 124 register_code(KC_NUBS);
223 } else { 125 } else {
224 SEND_STRING( SS_DOWN(X_Z) ); 126 register_code(KC_Z);
225 } 127 }
226 } else { 128 } else {
227 if ( get_mods() & MOD_MASK_RALT ) { 129 if ( get_mods() & MOD_MASK_RALT ) {
228 SEND_STRING( SS_UP(X_NONUS_BSLASH) ); 130 unregister_code(KC_NUBS);
229 } else { 131 } else {
230 SEND_STRING( SS_UP(X_Z) ); 132 unregister_code(KC_Z);
231 } 133 }
232 }; 134 };
233 return false; 135 return false;
234 case VRSN:
235 if (record->event.pressed) {
236 SEND_STRING( QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION );
237 }
238 return false;
239 case KC_1 ... KC_0: 136 case KC_1 ... KC_0:
240 if (record->event.pressed) { 137 if (record->event.pressed) {
241 if ( get_mods() & MOD_MASK_RALT ) { 138 if ( get_mods() & MOD_MASK_RALT ) {
242 register_code( keycode + 0x3b ); 139 register_code( keycode + 0x3B );
243 } else { 140 } else {
244 register_code( keycode ); 141 register_code( keycode );
245 } 142 }
246 } else { 143 } else {
247 if ( get_mods() & MOD_MASK_RALT ) { 144 if ( get_mods() & MOD_MASK_RALT ) {
248 unregister_code( keycode + 0x3b ); 145 unregister_code( keycode + 0x3B );
249 } else { 146 } else {
250 unregister_code( keycode ); 147 unregister_code( keycode );
251 } 148 }
@@ -279,47 +176,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
279 ****************/ 176 ****************/
280 177
281 /* QWERTY */ 178 /* QWERTY */
282 [_QWERTY] = LAYOUT_60_ansi( 179 [_QW] = LAYOUT_60_ansi(
283 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 180 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
284 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 181 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
285 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ 182 FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
286 FW_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ 183 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
287 KC_LSFT, NUBS_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 184 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
288 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
289 ), 185 ),
290 186
291 /* Dvorak */ 187 /* Dvorak */
292 [_DVORAK] = LAYOUT_60_ansi( 188 [_DV] = LAYOUT_60_ansi(
293 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 189 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC,
294 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, \ 190 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS,
295 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, \ 191 FN_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
296 FW_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \ 192 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
297 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \ 193 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
298 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
299 ), 194 ),
300 195
301 /* Colemak */ 196 /* Colemak */
302 [_COLEMAK] = LAYOUT_60_ansi( 197 [_CM] = LAYOUT_60_ansi(
303 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 198 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
304 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 199 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS,
305 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \ 200 FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
306 FW_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \ 201 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
307 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 202 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
308 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
309 ),
310
311 /****************
312 ** OS OVERLAYS **
313 ****************/
314
315 /* Mac */
316 [_MAC] = LAYOUT_60_ansi(
317 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
318 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
319 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
320 FM_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
321 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
322 _______, _______, _______, _______, _______, _______, MO(_FM), _______ \
323 ), 203 ),
324 204
325 /********************* 205 /*********************
@@ -327,65 +207,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
327 *********************/ 207 *********************/
328 208
329 /* Quake 2 */ 209 /* Quake 2 */
330 [_QUAKE2] = LAYOUT_60_ansi( 210 [_Q2] = LAYOUT_60_ansi(
331 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 211 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
332 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
333 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 213 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ENT,
334 Q2_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ON, \ 214 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
335 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 215 KC_GRV, _______, _______, _______, _______, _______, _______, _______
336 _______, _______, _______, _______, _______, _______, MO(_FQ), _______ \
337 ),
338
339 [_QUAKE2_DVORAK] = LAYOUT_60_ansi(
340 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
341 Q2_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
342 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
343 Q2_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_OFF, \
344 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
345 _______, _______, _______, _______, _______, _______, MO(_FQ), _______ \
346 ),
347
348 [_QUAKE2_CONSOLE] = LAYOUT_60_ansi(
349 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
350 Q2_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
351 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
352 Q2_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, \
353 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
354 _______, _______, _______, _______, _______, _______, MO(_FQ), _______ \
355 ), 216 ),
356 217
357 /******************** 218 /********************
358 ** FUNCTION LAYERS ** 219 ** FUNCTION LAYERS **
359 ********************/ 220 ********************/
360 221
361 /* Windows Fn layer */ 222 /* Fn layer */
362 [_FUNCWIN] = LAYOUT_60_ansi( 223 [_FN] = LAYOUT_60_ansi(
363 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 224 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
364 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ 225 _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS,
365 _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, \ 226 NO_CHNG, M_SALL, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_PENT,
366 NO_CHNG, WN_SALL, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_PENT, \ 227 _______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, TG(_SY), _______,
367 _______, WN_UNDO, WN_CUT, WN_COPY, WN_PSTE, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, TG(_SY), _______, \ 228 _______, _______, _______, TG(_NP), _______, _______, NO_CHNG, _______
368 _______, _______, _______, TG(_NP), _______, TG(_MA), NO_CHNG, _______ \
369 ),
370
371 /* MacOS Fn layer */
372 [_FUNCMAC] = LAYOUT_60_ansi(
373 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
374 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
375 _______, _______, _______, _______, _______, _______, KC_INS, MC_HOME, KC_UP, MC_END, KC_PGUP, MC_PSCR, _______, _______, \
376 NO_CHNG, MC_SALL, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, \
377 _______, MC_UNDO, MC_CUT, MC_COPY, MC_PSTE, _______, _______, _______, _______, _______, TG(_SY), _______, \
378 _______, _______, _______, TG(_NP), _______, _______, NO_CHNG, _______ \
379 ),
380
381 /* Quake 2 Fn layer */
382 [_FUNCQ2] = LAYOUT_60_ansi(
383 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
384 Q2_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
385 _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, \
386 NO_CHNG, _______, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_ENT, \
387 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_SY), _______, \
388 _______, _______, _______, _______, _______, _______, NO_CHNG, _______ \
389 ), 229 ),
390 230
391 /***************** 231 /*****************
@@ -393,33 +233,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
393 *****************/ 233 *****************/
394 234
395 /* Numpad layer */ 235 /* Numpad layer */
396 [_NUMPAD] = LAYOUT_60_ansi( 236 [_NP] = LAYOUT_60_ansi(
397 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 237 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______,
398 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, \ 238 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______,
399 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, \ 239 _______, _______, _______, _______, KC_C, KC_D, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PMNS, KC_PENT,
400 _______, _______, _______, _______, KC_C, KC_D, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PMNS, KC_PENT, \ 240 _______, _______, _______, _______, KC_A, KC_B, _______, KC_P0, _______, KC_PDOT, _______, _______,
401 _______, _______, _______, _______, KC_A, KC_B, _______, KC_P0, _______, KC_PDOT, _______, _______, \ 241 _______, _______, _______, TG(_NP), _______, _______, NO_CHNG, _______
402 _______, _______, _______, TG(_NP), _______, _______, NO_CHNG, _______ \
403 ), 242 ),
404 243
405 /* Macro layer */ 244 /* Macro layer */
406 [_MACROS] = LAYOUT_60_ansi( 245 [_MA] = LAYOUT_60_ansi(
407 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 246 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______,
408 TG(_MA), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, \ 247 _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP,
409 _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP, \ 248 _______, _______, _______, G_FTCH, _______, _______, _______, _______, _______, _______, _______, _______, _______,
410 _______, _______, _______, G_FTCH, G_COMM, _______, _______, _______, _______, _______, _______, _______, _______, \ 249 _______, _______, _______, _______, _______, G_BRCH, _______, _______, _______, _______, _______, _______,
411 _______, _______, _______, _______, _______, G_BRCH, SIGNA, _______, _______, _______, _______, _______, \ 250 _______, _______, _______, _______, _______, _______, NO_CHNG, _______
412 _______, _______, _______, _______, _______, _______, NO_CHNG, _______ \
413 ), 251 ),
414 252
415 /* System layer */ 253 /* System layer */
416 [_SYSTEM] = LAYOUT_60_ansi( 254 [_SY] = LAYOUT_60_ansi(
417 // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 255 TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX,
418 TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, \ 256 XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
419 XXXXXXX, XXXXXXX, TG(_MC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 257 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
420 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 258 XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
421 XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 259 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NO_CHNG, XXXXXXX
422 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NO_CHNG, XXXXXXX \
423 ), 260 ),
424 261
425}; 262};