aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-06-26 01:53:46 +0000
committerQMK Bot <hello@qmk.fm>2021-06-26 01:53:46 +0000
commit5ba9f435906e8245f88f993d7df5e46f2222178c (patch)
tree317eaec0dfad870192fc1e912c1aab8f9eb0e831
parent9337aab038c19f191d0da9518d80e4aa8cecf254 (diff)
parent39b1dc7672357d4c45a4015325e44443f00bde88 (diff)
downloadqmk_firmware-5ba9f435906e8245f88f993d7df5e46f2222178c.tar.gz
qmk_firmware-5ba9f435906e8245f88f993d7df5e46f2222178c.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/gon/nerd60/info.json295
-rw-r--r--keyboards/gon/nerd60/keymaps/default/keymap.c12
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/keymap.c118
-rw-r--r--keyboards/gon/nerd60/nerd60.h80
-rw-r--r--keyboards/gon/nerd60/rules.mk15
5 files changed, 440 insertions, 80 deletions
diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json
index 85e0fe9d5..98634f33e 100644
--- a/keyboards/gon/nerd60/info.json
+++ b/keyboards/gon/nerd60/info.json
@@ -5,8 +5,7 @@
5 "width": 15, 5 "width": 15,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_60": { 8 "LAYOUT_all": {
9 "key_count": 64,
10 "layout": [ 9 "layout": [
11 {"label":"K80", "x":0, "y":0}, 10 {"label":"K80", "x":0, "y":0},
12 {"label":"K10", "x":1, "y":0}, 11 {"label":"K10", "x":1, "y":0},
@@ -21,7 +20,9 @@
21 {"label":"K05", "x":10, "y":0}, 20 {"label":"K05", "x":10, "y":0},
22 {"label":"K15", "x":11, "y":0}, 21 {"label":"K15", "x":11, "y":0},
23 {"label":"K06", "x":12, "y":0}, 22 {"label":"K06", "x":12, "y":0},
24 {"label":"K16", "x":13, "y":0, "w":2}, 23 {"label":"K17", "x":13, "y":0},
24 {"label":"K16", "x":14, "y":0},
25
25 {"label":"K20", "x":0, "y":1, "w":1.5}, 26 {"label":"K20", "x":0, "y":1, "w":1.5},
26 {"label":"K30", "x":1.5, "y":1}, 27 {"label":"K30", "x":1.5, "y":1},
27 {"label":"K21", "x":2.5, "y":1}, 28 {"label":"K21", "x":2.5, "y":1},
@@ -36,6 +37,7 @@
36 {"label":"K35", "x":11.5, "y":1}, 37 {"label":"K35", "x":11.5, "y":1},
37 {"label":"K26", "x":12.5, "y":1}, 38 {"label":"K26", "x":12.5, "y":1},
38 {"label":"K36", "x":13.5, "y":1, "w":1.5}, 39 {"label":"K36", "x":13.5, "y":1, "w":1.5},
40
39 {"label":"K40", "x":0, "y":2, "w":1.75}, 41 {"label":"K40", "x":0, "y":2, "w":1.75},
40 {"label":"K41", "x":1.75, "y":2}, 42 {"label":"K41", "x":1.75, "y":2},
41 {"label":"K51", "x":2.75, "y":2}, 43 {"label":"K51", "x":2.75, "y":2},
@@ -48,8 +50,8 @@
48 {"label":"K45", "x":9.75, "y":2}, 50 {"label":"K45", "x":9.75, "y":2},
49 {"label":"K55", "x":10.75, "y":2}, 51 {"label":"K55", "x":10.75, "y":2},
50 {"label":"K46", "x":11.75, "y":2}, 52 {"label":"K46", "x":11.75, "y":2},
51 {"label":"K17", "x":12.75, "y":2}, 53 {"label":"K56", "x":12.75, "y":2, "w":2.25},
52 {"label":"K56", "x":13.75, "y":2, "w":1.25}, 54
53 {"label":"K70", "x":0, "y":3, "w":1.25}, 55 {"label":"K70", "x":0, "y":3, "w":1.25},
54 {"label":"K97", "x":1.25, "y":3}, 56 {"label":"K97", "x":1.25, "y":3},
55 {"label":"K61", "x":2.25, "y":3}, 57 {"label":"K61", "x":2.25, "y":3},
@@ -64,6 +66,7 @@
64 {"label":"K75", "x":11.25, "y":3}, 66 {"label":"K75", "x":11.25, "y":3},
65 {"label":"K66", "x":12.25, "y":3, "w":1.75}, 67 {"label":"K66", "x":12.25, "y":3, "w":1.75},
66 {"label":"K76", "x":14, "y":3}, 68 {"label":"K76", "x":14, "y":3},
69
67 {"label":"K60", "x":0, "y":4, "w":1.25}, 70 {"label":"K60", "x":0, "y":4, "w":1.25},
68 {"label":"K50", "x":1.25, "y":4, "w":1.25}, 71 {"label":"K50", "x":1.25, "y":4, "w":1.25},
69 {"label":"K87", "x":2.5, "y":4, "w":1.25}, 72 {"label":"K87", "x":2.5, "y":4, "w":1.25},
@@ -73,6 +76,288 @@
73 {"label":"K47", "x":12.5, "y":4, "w":1.25}, 76 {"label":"K47", "x":12.5, "y":4, "w":1.25},
74 {"label":"K57", "x":13.75, "y":4, "w":1.25} 77 {"label":"K57", "x":13.75, "y":4, "w":1.25}
75 ] 78 ]
79 },
80 "LAYOUT_60_ansi": {
81 "layout": [
82 {"x":0, "y":0},
83 {"x":1, "y":0},
84 {"x":2, "y":0},
85 {"x":3, "y":0},
86 {"x":4, "y":0},
87 {"x":5, "y":0},
88 {"x":6, "y":0},
89 {"x":7, "y":0},
90 {"x":8, "y":0},
91 {"x":9, "y":0},
92 {"x":10, "y":0},
93 {"x":11, "y":0},
94 {"x":12, "y":0},
95 {"x":13, "y":0, "w":2},
96
97 {"x":0, "y":1, "w":1.5},
98 {"x":1.5, "y":1},
99 {"x":2.5, "y":1},
100 {"x":3.5, "y":1},
101 {"x":4.5, "y":1},
102 {"x":5.5, "y":1},
103 {"x":6.5, "y":1},
104 {"x":7.5, "y":1},
105 {"x":8.5, "y":1},
106 {"x":9.5, "y":1},
107 {"x":10.5, "y":1},
108 {"x":11.5, "y":1},
109 {"x":12.5, "y":1},
110 {"x":13.5, "y":1, "w":1.5},
111
112 {"x":0, "y":2, "w":1.75},
113 {"x":1.75, "y":2},
114 {"x":2.75, "y":2},
115 {"x":3.75, "y":2},
116 {"x":4.75, "y":2},
117 {"x":5.75, "y":2},
118 {"x":6.75, "y":2},
119 {"x":7.75, "y":2},
120 {"x":8.75, "y":2},
121 {"x":9.75, "y":2},
122 {"x":10.75, "y":2},
123 {"x":11.75, "y":2},
124 {"x":12.75, "y":2, "w":2.25},
125
126 {"x":0, "y":3, "w":2.25},
127 {"x":2.25, "y":3},
128 {"x":3.25, "y":3},
129 {"x":4.25, "y":3},
130 {"x":5.25, "y":3},
131 {"x":6.25, "y":3},
132 {"x":7.25, "y":3},
133 {"x":8.25, "y":3},
134 {"x":9.25, "y":3},
135 {"x":10.25, "y":3},
136 {"x":11.25, "y":3},
137 {"x":12.25, "y":3, "w":2.75},
138
139 {"x":0, "y":4, "w":1.25},
140 {"x":1.25, "y":4, "w":1.25},
141 {"x":2.5, "y":4, "w":1.25},
142 {"x":3.75, "y":4, "w":6.25},
143 {"x":10, "y":4, "w":1.25},
144 {"x":11.25, "y":4, "w":1.25},
145 {"x":12.5, "y":4, "w":1.25},
146 {"x":13.75, "y":4, "w":1.25}
147 ]
148 },
149 "LAYOUT_60_ansi_split_bs_rshift": {
150 "layout": [
151 {"x":0, "y":0},
152 {"x":1, "y":0},
153 {"x":2, "y":0},
154 {"x":3, "y":0},
155 {"x":4, "y":0},
156 {"x":5, "y":0},
157 {"x":6, "y":0},
158 {"x":7, "y":0},
159 {"x":8, "y":0},
160 {"x":9, "y":0},
161 {"x":10, "y":0},
162 {"x":11, "y":0},
163 {"x":12, "y":0},
164 {"x":13, "y":0},
165 {"x":14, "y":0},
166
167 {"x":0, "y":1, "w":1.5},
168 {"x":1.5, "y":1},
169 {"x":2.5, "y":1},
170 {"x":3.5, "y":1},
171 {"x":4.5, "y":1},
172 {"x":5.5, "y":1},
173 {"x":6.5, "y":1},
174 {"x":7.5, "y":1},
175 {"x":8.5, "y":1},
176 {"x":9.5, "y":1},
177 {"x":10.5, "y":1},
178 {"x":11.5, "y":1},
179 {"x":12.5, "y":1},
180 {"x":13.5, "y":1, "w":1.5},
181
182 {"x":0, "y":2, "w":1.75},
183 {"x":1.75, "y":2},
184 {"x":2.75, "y":2},
185 {"x":3.75, "y":2},
186 {"x":4.75, "y":2},
187 {"x":5.75, "y":2},
188 {"x":6.75, "y":2},
189 {"x":7.75, "y":2},
190 {"x":8.75, "y":2},
191 {"x":9.75, "y":2},
192 {"x":10.75, "y":2},
193 {"x":11.75, "y":2},
194 {"x":12.75, "y":2, "w":2.25},
195
196 {"x":0, "y":3, "w":2.25},
197 {"x":2.25, "y":3},
198 {"x":3.25, "y":3},
199 {"x":4.25, "y":3},
200 {"x":5.25, "y":3},
201 {"x":6.25, "y":3},
202 {"x":7.25, "y":3},
203 {"x":8.25, "y":3},
204 {"x":9.25, "y":3},
205 {"x":10.25, "y":3},
206 {"x":11.25, "y":3},
207 {"x":12.25, "y":3, "w":1.75},
208 {"x":14, "y":3},
209
210 {"x":0, "y":4, "w":1.25},
211 {"x":1.25, "y":4, "w":1.25},
212 {"x":2.5, "y":4, "w":1.25},
213 {"x":3.75, "y":4, "w":6.25},
214 {"x":10, "y":4, "w":1.25},
215 {"x":11.25, "y":4, "w":1.25},
216 {"x":12.5, "y":4, "w":1.25},
217 {"x":13.75, "y":4, "w":1.25}
218 ]
219 },
220 "LAYOUT_60_iso": {
221 "layout": [
222 {"x":0, "y":0},
223 {"x":1, "y":0},
224 {"x":2, "y":0},
225 {"x":3, "y":0},
226 {"x":4, "y":0},
227 {"x":5, "y":0},
228 {"x":6, "y":0},
229 {"x":7, "y":0},
230 {"x":8, "y":0},
231 {"x":9, "y":0},
232 {"x":10, "y":0},
233 {"x":11, "y":0},
234 {"x":12, "y":0},
235 {"x":13, "y":0, "w":2},
236
237 {"x":0, "y":1, "w":1.5},
238 {"x":1.5, "y":1},
239 {"x":2.5, "y":1},
240 {"x":3.5, "y":1},
241 {"x":4.5, "y":1},
242 {"x":5.5, "y":1},
243 {"x":6.5, "y":1},
244 {"x":7.5, "y":1},
245 {"x":8.5, "y":1},
246 {"x":9.5, "y":1},
247 {"x":10.5, "y":1},
248 {"x":11.5, "y":1},
249 {"x":12.5, "y":1},
250
251 {"x":0, "y":2, "w":1.75},
252 {"x":1.75, "y":2},
253 {"x":2.75, "y":2},
254 {"x":3.75, "y":2},
255 {"x":4.75, "y":2},
256 {"x":5.75, "y":2},
257 {"x":6.75, "y":2},
258 {"x":7.75, "y":2},
259 {"x":8.75, "y":2},
260 {"x":9.75, "y":2},
261 {"x":10.75, "y":2},
262 {"x":11.75, "y":2},
263 {"x":12.75, "y":2},
264 {"x":13.75, "y":1, "w":1.25, "h":2},
265
266 {"x":0, "y":3, "w":1.25},
267 {"x":1.25, "y":3},
268 {"x":2.25, "y":3},
269 {"x":3.25, "y":3},
270 {"x":4.25, "y":3},
271 {"x":5.25, "y":3},
272 {"x":6.25, "y":3},
273 {"x":7.25, "y":3},
274 {"x":8.25, "y":3},
275 {"x":9.25, "y":3},
276 {"x":10.25, "y":3},
277 {"x":11.25, "y":3},
278 {"x":12.25, "y":3, "w":2.75},
279
280 {"x":0, "y":4, "w":1.25},
281 {"x":1.25, "y":4, "w":1.25},
282 {"x":2.5, "y":4, "w":1.25},
283 {"x":3.75, "y":4, "w":6.25},
284 {"x":10, "y":4, "w":1.25},
285 {"x":11.25, "y":4, "w":1.25},
286 {"x":12.5, "y":4, "w":1.25},
287 {"x":13.75, "y":4, "w":1.25}
288 ]
289 },
290 "LAYOUT_60_iso_split_bs_rshift": {
291 "layout": [
292 {"x":0, "y":0},
293 {"x":1, "y":0},
294 {"x":2, "y":0},
295 {"x":3, "y":0},
296 {"x":4, "y":0},
297 {"x":5, "y":0},
298 {"x":6, "y":0},
299 {"x":7, "y":0},
300 {"x":8, "y":0},
301 {"x":9, "y":0},
302 {"x":10, "y":0},
303 {"x":11, "y":0},
304 {"x":12, "y":0},
305 {"x":13, "y":0},
306 {"x":14, "y":0},
307
308 {"x":0, "y":1, "w":1.5},
309 {"x":1.5, "y":1},
310 {"x":2.5, "y":1},
311 {"x":3.5, "y":1},
312 {"x":4.5, "y":1},
313 {"x":5.5, "y":1},
314 {"x":6.5, "y":1},
315 {"x":7.5, "y":1},
316 {"x":8.5, "y":1},
317 {"x":9.5, "y":1},
318 {"x":10.5, "y":1},
319 {"x":11.5, "y":1},
320 {"x":12.5, "y":1},
321
322 {"x":0, "y":2, "w":1.75},
323 {"x":1.75, "y":2},
324 {"x":2.75, "y":2},
325 {"x":3.75, "y":2},
326 {"x":4.75, "y":2},
327 {"x":5.75, "y":2},
328 {"x":6.75, "y":2},
329 {"x":7.75, "y":2},
330 {"x":8.75, "y":2},
331 {"x":9.75, "y":2},
332 {"x":10.75, "y":2},
333 {"x":11.75, "y":2},
334 {"x":12.75, "y":2},
335 {"x":13.75, "y":1, "w":1.25, "h":2},
336
337 {"x":0, "y":3, "w":1.25},
338 {"x":1.25, "y":3},
339 {"x":2.25, "y":3},
340 {"x":3.25, "y":3},
341 {"x":4.25, "y":3},
342 {"x":5.25, "y":3},
343 {"x":6.25, "y":3},
344 {"x":7.25, "y":3},
345 {"x":8.25, "y":3},
346 {"x":9.25, "y":3},
347 {"x":10.25, "y":3},
348 {"x":11.25, "y":3},
349 {"x":12.25, "y":3, "w":1.75},
350 {"x":14, "y":3},
351
352 {"x":0, "y":4, "w":1.25},
353 {"x":1.25, "y":4, "w":1.25},
354 {"x":2.5, "y":4, "w":1.25},
355 {"x":3.75, "y":4, "w":6.25},
356 {"x":10, "y":4, "w":1.25},
357 {"x":11.25, "y":4, "w":1.25},
358 {"x":12.5, "y":4, "w":1.25},
359 {"x":13.75, "y":4, "w":1.25}
360 ]
76 } 361 }
77 } 362 }
78} 363}
diff --git a/keyboards/gon/nerd60/keymaps/default/keymap.c b/keyboards/gon/nerd60/keymaps/default/keymap.c
index d205e06de..a5cec81ef 100644
--- a/keyboards/gon/nerd60/keymaps/default/keymap.c
+++ b/keyboards/gon/nerd60/keymaps/default/keymap.c
@@ -2,18 +2,18 @@
2 2
3// Keymap layers 3// Keymap layers
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 [0] = LAYOUT_60( /* Base */ 5 [0] = LAYOUT_all( /* Base */
6 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, 6 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_NUHS, KC_BSPC,
7 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, 7 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,
8 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, 8 KC_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,
9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), 9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL 10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
11 ), 11 ),
12 12
13 [1] = LAYOUT_60( /* System layer to have access to RESET button */ 13 [1] = LAYOUT_all( /* System layer to have access to RESET button */
14 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, 14 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,
15 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, 15 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
16 _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______, 16 _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______,
17 _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, 17 _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______,
18 RESET, _______, _______, _______, _______, _______, _______, _______ 18 RESET, _______, _______, _______, _______, _______, _______, _______
19 ), 19 ),
diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
index fc553bcf1..78a2eb353 100644
--- a/keyboards/gon/nerd60/keymaps/mauin/keymap.c
+++ b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
@@ -1,12 +1,30 @@
1/* Copyright 2017 Marvin Ramin (@Mauin)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
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 */
1#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
2 17
3// Keymap layers 18// Keymap layers
4#define BASE_LAYER 0 19enum layer_names {
5#define FUNCTION_LAYER 1 20 _BS, // Base Layer
6#define SYSTEM_LAYER 2 21 _FN, // Function Layer
22 _SY // System Layer
23};
7 24
8// Key aliases 25enum custom_keycodes {
9#define __x__ KC_NO 26 ESC_GRV = SAFE_RANGE
27};
10 28
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 /* Layer 0: Default Layer 30 /* Layer 0: Default Layer
@@ -22,12 +40,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 * | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl | 40 * | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl |
23 * `-----------------------------------------------------------' 41 * `-----------------------------------------------------------'
24 */ 42 */
25 [BASE_LAYER] = LAYOUT_60( 43 [_BS] = LAYOUT_all(
26 F(0), 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, \ 44 ESC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC,
27 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, \ 45 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,
28 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, __x__, KC_ENT, \ 46 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
29 KC_LSFT, __x__, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, __x__, \ 47 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX,
30 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL \ 48 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL
31 ), 49 ),
32 50
33 /* Layer 1: Function Layer 51 /* Layer 1: Function Layer
@@ -43,13 +61,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 * | | | | | | | | | 61 * | | | | | | | | |
44 * `-----------------------------------------------------------' 62 * `-----------------------------------------------------------'
45 */ 63 */
46 [FUNCTION_LAYER] = LAYOUT_60( 64 [_FN] = LAYOUT_all(
47 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, \ 65 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, XXXXXXX, KC_DEL,
48 __x__, KC_MPRV, KC_MPLY, KC_MNXT, __x__, __x__, KC_PGUP, KC_HOME, KC_UP, KC_END, __x__, KC_SLCK, KC_PAUS, __x__, \ 66 XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_SLCK, KC_PAUS, XXXXXXX,
49 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, __x__, __x__, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, __x__, __x__, __x__, __x__, \ 67 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
50 KC_LSFT, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ 68 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
51 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, __x__, __x__, __x__, __x__ \ 69 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
52 ), 70 ),
53 71
54 /* Layer 2: System Layer 72 /* Layer 2: System Layer
55 * ,-----------------------------------------------------------. 73 * ,-----------------------------------------------------------.
@@ -64,45 +82,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
64 * | | | | | | | | | 82 * | | | | | | | | |
65 * `-----------------------------------------------------------' 83 * `-----------------------------------------------------------'
66 */ 84 */
67 [SYSTEM_LAYER] = LAYOUT_60( 85 [_SY] = LAYOUT_all(
68 RESET, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ 86 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
69 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ 87 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
70 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ 88 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
71 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ 89 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
72 __x__, __x__, __x__, __x__, __x__, __x__, KC_TRNS, __x__ \ 90 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX
73 ), 91 ),
74}; 92};
75 93
76enum function_id { 94bool process_record_user(uint16_t keycode, keyrecord_t *record) {
77 ESC_GRV, // Makes Esc behave like `~ when pressed with the left GUI modifier. This is the "switch between windows of the same application" key combination in macOS 95 uint8_t esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI);
78}; 96 switch (keycode) {
79 97 case ESC_GRV:
80const uint16_t PROGMEM fn_actions[] = { 98 if (esc_grv_mask) {
81 [0] = ACTION_FUNCTION(ESC_GRV), 99 if (record->event.pressed) {
82}; 100 register_code16(G(KC_GRV));
83 101 } else {
84void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { 102 unregister_code16(G(KC_GRV));
85 static uint8_t esc_grv_mask; 103 }
86 switch (id) { 104 } else {
87 case ESC_GRV: 105 if (record->event.pressed) {
88 esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI); 106 register_code(KC_ESC);
89 if (record->event.pressed) { 107 } else {
90 if (esc_grv_mask) { 108 unregister_code(KC_ESC);
91 add_key(KC_GRV); 109 }
92 send_keyboard_report(); 110 }
93 } else { 111 break;
94 add_key(KC_ESC); 112 }
95 send_keyboard_report(); 113 return true;
96 }
97 } else {
98 if (esc_grv_mask) {
99 del_key(KC_GRV);
100 send_keyboard_report();
101 } else {
102 del_key(KC_ESC);
103 send_keyboard_report();
104 }
105 }
106 break;
107 }
108} 114}
diff --git a/keyboards/gon/nerd60/nerd60.h b/keyboards/gon/nerd60/nerd60.h
index 3f8f538e2..03a3ffe90 100644
--- a/keyboards/gon/nerd60/nerd60.h
+++ b/keyboards/gon/nerd60/nerd60.h
@@ -2,10 +2,86 @@
2 2
3#include "quantum.h" 3#include "quantum.h"
4 4
5#define LAYOUT_60( \ 5#define LAYOUT_all( \
6 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \
7 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
8 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \
9 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
10 K60, K50, K87, K07, K27, K37, K47, K57 \
11) { \
12 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
13 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
14 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
15 { K30, K31, K32, K33, K34, K35, K36, K37 }, \
16 { K40, K41, K42, K43, K44, K45, K46, K47 }, \
17 { K50, K51, K52, K53, K54, K55, K56, K57 }, \
18 { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
19 { K70, K71, K72, K73, K74, K75, K76, KC_NO }, \
20 { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
21 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \
22}
23
24#define LAYOUT_60_ansi( \
6 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \ 25 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
7 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \ 26 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
8 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \ 27 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \
28 K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, \
29 K60, K50, K87, K07, K27, K37, K47, K57 \
30) { \
31 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
32 { K10, K11, K12, K13, K14, K15, K16, KC_NO }, \
33 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
34 { K30, K31, K32, K33, K34, K35, K36, K37 }, \
35 { K40, K41, K42, K43, K44, K45, K46, K47 }, \
36 { K50, K51, K52, K53, K54, K55, K56, K57 }, \
37 { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
38 { K70, K71, K72, K73, K74, K75, KC_NO, KC_NO }, \
39 { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
40 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
41}
42
43#define LAYOUT_60_ansi_split_bs_rshift( \
44 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \
45 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
46 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \
47 K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
48 K60, K50, K87, K07, K27, K37, K47, K57 \
49) { \
50 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
51 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
52 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
53 { K30, K31, K32, K33, K34, K35, K36, K37 }, \
54 { K40, K41, K42, K43, K44, K45, K46, K47 }, \
55 { K50, K51, K52, K53, K54, K55, K56, K57 }, \
56 { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
57 { K70, K71, K72, K73, K74, K75, K76, KC_NO }, \
58 { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
59 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
60}
61
62#define LAYOUT_60_iso( \
63 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
64 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, \
65 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K36, K56, \
66 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, \
67 K60, K50, K87, K07, K27, K37, K47, K57 \
68) { \
69 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
70 { K10, K11, K12, K13, K14, K15, K16, KC_NO }, \
71 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
72 { K30, K31, K32, K33, K34, K35, K36, K37 }, \
73 { K40, K41, K42, K43, K44, K45, K46, K47 }, \
74 { K50, K51, K52, K53, K54, K55, K56, K57 }, \
75 { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
76 { K70, K71, K72, K73, K74, K75, KC_NO, KC_NO }, \
77 { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
78 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \
79}
80
81#define LAYOUT_60_iso_split_bs_rshift( \
82 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \
83 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, \
84 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K36, K56, \
9 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \ 85 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
10 K60, K50, K87, K07, K27, K37, K47, K57 \ 86 K60, K50, K87, K07, K27, K37, K47, K57 \
11) { \ 87) { \
diff --git a/keyboards/gon/nerd60/rules.mk b/keyboards/gon/nerd60/rules.mk
index 2401cbea8..b202fac6a 100644
--- a/keyboards/gon/nerd60/rules.mk
+++ b/keyboards/gon/nerd60/rules.mk
@@ -5,13 +5,6 @@ MCU = atmega32u4
5F_CPU = 8000000 5F_CPU = 8000000
6 6
7# Bootloader selection 7# Bootloader selection
8# Teensy halfkay
9# Pro Micro caterina
10# Atmel DFU atmel-dfu
11# LUFA DFU lufa-dfu
12# QMK DFU qmk-dfu
13# ATmega32A bootloadHID
14# ATmega328P USBasp
15BOOTLOADER = atmel-dfu 8BOOTLOADER = atmel-dfu
16 9
17# Build Options 10# Build Options
@@ -28,7 +21,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
28NKRO_ENABLE = yes # USB Nkey Rollover 21NKRO_ENABLE = yes # USB Nkey Rollover
29BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
30RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
31MIDI_ENABLE = no # MIDI support 24BLUETOOTH_ENABLE = no # Enable Bluetooth
32UNICODE_ENABLE = no # Unicode 25AUDIO_ENABLE = no # Audio output
33BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 26
34AUDIO_ENABLE = no # Audio output on port C6 27LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift