e64ec530cd966c15653eb786da2afcd20eee2f30
- Author
- James Young <18669334+noroadsleft@users.noreply.github.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/keyboards/durgod/k310/base/config.h b/keyboards/durgod/k310/base/config.h
2new file mode 100644
3index 0000000000000000000000000000000000000000..018afb342d606cba3ca98d047db6d832d12cc577
4--- /dev/null
5+++ b/keyboards/durgod/k310/base/config.h
6@@ -0,0 +1,56 @@
7+/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
8+ * Copyright 2021 Simon Arlott
9+ *
10+ * This program is free software: you can redistribute it and/or modify
11+ * it under the terms of the GNU General Public License as published by
12+ * the Free Software Foundation, either version 2 of the License, or
13+ * (at your option) any later version.
14+ *
15+ * This program is distributed in the hope that it will be useful,
16+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18+ * GNU General Public License for more details.
19+ *
20+ * You should have received a copy of the GNU General Public License
21+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
22+ */
23+
24+#pragma once
25+
26+#include "config_common.h"
27+
28+#define WAIT_US_TIMER GPTD3
29+
30+/* key matrix size */
31+#define MATRIX_ROWS 8
32+#define MATRIX_COLS 16
33+
34+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 }
35+#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 }
36+
37+/* COL2ROW, ROW2COL*/
38+#define DIODE_DIRECTION ROW2COL
39+
40+// Dynamic EEPROM
41+// Something sensible or else VIA may crash
42+// Users may enable more if they wish
43+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
44+
45+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
46+#define DEBOUNCE 5
47+
48+/* Bootmagic Lite key configuration */
49+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
50+#define BOOTMAGIC_LITE_ROW 0
51+#define BOOTMAGIC_LITE_COLUMN 0
52+
53+/* LED indicator pins */
54+#define LED_NUM_LOCK_PIN C8
55+#define LED_CAPS_LOCK_PIN C9
56+#define LED_SCROLL_LOCK_PIN A8
57+#define LED_WIN_LOCK_PIN A9
58+#define LED_MR_LOCK_PIN A10
59+#define LED_PIN_ON_STATE 0
60+
61+/* Original hardware "reset" button on pin D2 */
62+#define HARDWARE_RESET_PIN D2
63diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md
64deleted file mode 100644
65index 1f818dacc9c0d239766af79b59b7dd986f289173..0000000000000000000000000000000000000000
66--- a/keyboards/durgod/k310/base/readme.md
67+++ /dev/null
68@@ -1,6 +0,0 @@
69-# Taurus K310
70-
71-Base Model - no backlight leds
72-
73-See: [K310](../../k3x0/k310/base/readme.md)
74-
75diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk
76index ff432cc4aa12b1425de4cedd4d0ee353ab029d66..5c07a0fa711466a24ba406d2b9a9684eecea37fa 100644
77--- a/keyboards/durgod/k310/base/rules.mk
78+++ b/keyboards/durgod/k310/base/rules.mk
79@@ -1 +1,23 @@
80-DEFAULT_FOLDER=durgod/k3x0/k310/base
81+# MCU name
82+# Actually F070, but close enough
83+MCU = STM32F072
84+BOARD = DURGOD_STM32_F070
85+
86+# Bootloader selection
87+BOOTLOADER = stm32-dfu
88+
89+# Build Options
90+# change yes to no to disable
91+#
92+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
93+MOUSEKEY_ENABLE = no # Mouse keys
94+EXTRAKEY_ENABLE = yes # Audio control and System control
95+CONSOLE_ENABLE = no # Console for debug
96+COMMAND_ENABLE = no # Commands for debug and configuration
97+NKRO_ENABLE = yes # Enable N-Key Rollover
98+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
99+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
100+AUDIO_ENABLE = no # Audio output
101+LTO_ENABLE = yes
102+
103+LAYOUTS = fullsize_ansi fullsize_iso
104diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k310/halconf.h
105rename from keyboards/durgod/k3x0/halconf.h
106rename to keyboards/durgod/k310/halconf.h
107diff --git a/keyboards/durgod/k3x0/k310/info.json b/keyboards/durgod/k310/info.json
108rename from keyboards/durgod/k3x0/k310/info.json
109rename to keyboards/durgod/k310/info.json
110diff --git a/keyboards/durgod/k3x0/k3x0.c b/keyboards/durgod/k310/k310.c
111rename from keyboards/durgod/k3x0/k3x0.c
112rename to keyboards/durgod/k310/k310.c
113index d12b46bc51b0280000473effc16d35cad9236f44..fc41ee5657c48922f467d17e88c95661de27c1b5 100644
114--- a/keyboards/durgod/k3x0/k3x0.c
115+++ b/keyboards/durgod/k310/k310.c
116@@ -15,7 +15,7 @@
117 * along with this program. If not, see <http://www.gnu.org/licenses/>.
118 */
119
120-#include "k3x0.h"
121+#include "k310.h"
122 #include <ch.h>
123 #include <hal.h>
124
125diff --git a/keyboards/durgod/k3x0/k310/k310.h b/keyboards/durgod/k310/k310.h
126rename from keyboards/durgod/k3x0/k310/k310.h
127rename to keyboards/durgod/k310/k310.h
128index 2d82ee1550183ee2aec0598e7acd2e2fa389c66b..e106c8dbe6d65f644d57173158ac6f3f1d51f835 100644
129--- a/keyboards/durgod/k3x0/k310/k310.h
130+++ b/keyboards/durgod/k310/k310.h
131@@ -17,6 +17,8 @@
132
133 #pragma once
134
135+#include "quantum.h"
136+
137 #define XXX KC_NO
138
139 // This a shortcut to help you visually see your layout.
140@@ -76,3 +78,23 @@
141 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
142 }
143
144+
145+#ifndef WINLOCK_DISABLED
146+// Define the TGUI key here so it is available in QMK configurator
147+enum K3x0_keycodes {
148+#ifdef VIA_ENABLE
149+ KC_TGUI = USER00, // Toggle between GUI Lock or Unlock
150+ NEW_SAFE_RANGE = SAFE_RANGE
151+#else
152+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
153+ NEW_SAFE_RANGE
154+#endif
155+};
156+
157+#undef SAFE_RANGE
158+#define SAFE_RANGE NEW_SAFE_RANGE
159+#endif /* WINLOCK_DISABLED */
160+
161+/* Function Prototype */
162+void off_all_leds(void);
163+void on_all_leds(void);
164diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k310/keymaps/chimera/keymap.c
165rename from keyboards/durgod/k3x0/keymaps/chimera/keymap.c
166rename to keyboards/durgod/k310/keymaps/chimera/keymap.c
167diff --git a/keyboards/durgod/k3x0/keymaps/chimera/readme.md b/keyboards/durgod/k310/keymaps/chimera/readme.md
168rename from keyboards/durgod/k3x0/keymaps/chimera/readme.md
169rename to keyboards/durgod/k310/keymaps/chimera/readme.md
170diff --git a/keyboards/durgod/k3x0/keymaps/chimera/rules.mk b/keyboards/durgod/k310/keymaps/chimera/rules.mk
171rename from keyboards/durgod/k3x0/keymaps/chimera/rules.mk
172rename to keyboards/durgod/k310/keymaps/chimera/rules.mk
173diff --git a/keyboards/durgod/k3x0/keymaps/default/keymap.json b/keyboards/durgod/k310/keymaps/default/keymap.json
174rename from keyboards/durgod/k3x0/keymaps/default/keymap.json
175rename to keyboards/durgod/k310/keymaps/default/keymap.json
176index 507b5c909cb1e22f7be349ad402eadc3c76c31eb..bd017f0e9dd8b02e45645e93012025d36ea65f07 100644
177--- a/keyboards/durgod/k3x0/keymaps/default/keymap.json
178+++ b/keyboards/durgod/k310/keymaps/default/keymap.json
179@@ -1,5 +1,5 @@
180 {
181- "keyboard": "durgod/k3x0",
182+ "keyboard": "durgod/k310/base",
183 "keymap": "default",
184 "layout": "LAYOUT_all",
185 "layers": [
186diff --git a/keyboards/durgod/k3x0/keymaps/default/readme.md b/keyboards/durgod/k310/keymaps/default/readme.md
187rename from keyboards/durgod/k3x0/keymaps/default/readme.md
188rename to keyboards/durgod/k310/keymaps/default/readme.md
189diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json b/keyboards/durgod/k310/keymaps/default_mac/keymap.json
190rename from keyboards/durgod/k3x0/keymaps/default_mac/keymap.json
191rename to keyboards/durgod/k310/keymaps/default_mac/keymap.json
192index acf221935e5c4924e59db1ff1515868d0da6729b..26f8aea7f175fc5fad1e232d6c67d8269127089f 100644
193--- a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json
194+++ b/keyboards/durgod/k310/keymaps/default_mac/keymap.json
195@@ -1,5 +1,5 @@
196 {
197- "keyboard": "durgod/k3x0",
198+ "keyboard": "durgod/k310/base",
199 "keymap": "default_mac",
200 "layout": "LAYOUT_all",
201 "layers": [
202diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/readme.md b/keyboards/durgod/k310/keymaps/default_mac/readme.md
203rename from keyboards/durgod/k3x0/keymaps/default_mac/readme.md
204rename to keyboards/durgod/k310/keymaps/default_mac/readme.md
205diff --git a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c b/keyboards/durgod/k310/keymaps/typhon/keymap.c
206rename from keyboards/durgod/k3x0/keymaps/typhon/keymap.c
207rename to keyboards/durgod/k310/keymaps/typhon/keymap.c
208diff --git a/keyboards/durgod/k3x0/keymaps/typhon/readme.md b/keyboards/durgod/k310/keymaps/typhon/readme.md
209rename from keyboards/durgod/k3x0/keymaps/typhon/readme.md
210rename to keyboards/durgod/k310/keymaps/typhon/readme.md
211diff --git a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk b/keyboards/durgod/k310/keymaps/typhon/rules.mk
212rename from keyboards/durgod/k3x0/keymaps/typhon/rules.mk
213rename to keyboards/durgod/k310/keymaps/typhon/rules.mk
214diff --git a/keyboards/durgod/k3x0/keymaps/via/keymap.c b/keyboards/durgod/k310/keymaps/via/keymap.c
215rename from keyboards/durgod/k3x0/keymaps/via/keymap.c
216rename to keyboards/durgod/k310/keymaps/via/keymap.c
217diff --git a/keyboards/durgod/k3x0/keymaps/via/readme.md b/keyboards/durgod/k310/keymaps/via/readme.md
218rename from keyboards/durgod/k3x0/keymaps/via/readme.md
219rename to keyboards/durgod/k310/keymaps/via/readme.md
220diff --git a/keyboards/durgod/k3x0/keymaps/via/rules.mk b/keyboards/durgod/k310/keymaps/via/rules.mk
221rename from keyboards/durgod/k3x0/keymaps/via/rules.mk
222rename to keyboards/durgod/k310/keymaps/via/rules.mk
223diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md
224index 234fcc875d67f73d1b4a39a041da03e8f8836222..1f39f79513c38bf4f74f965f089a24444ef6c78d 100644
225--- a/keyboards/durgod/k310/readme.md
226+++ b/keyboards/durgod/k310/readme.md
227@@ -1,4 +1,29 @@
228-# K310
229+# Taurus K310
230
231-See: [K310](../k3x0/k310/readme.md)
232+This code is shared between all K310 variants. Currently only the base model with no backlight is supported.
233
234+This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key
235+keyboard without backlight. This supports both the ANSI and ISO variants.
236+
237+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
238+* Hardware Supported: [Durgod Taurus K310 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Durgod.com Product Page")
239+* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3)
240+
241+## Instructions
242+
243+### Build
244+
245+Make command example for this keyboard (after setting up your build environment):
246+
247+ make durgod/k310/base:default
248+
249+Flashing example for this keyboard:
250+
251+ make durgod/k310/base:default:flash
252+
253diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk
254deleted file mode 100644
255index e200539b260f77cc1bf26d783bf1dee3386488d8..0000000000000000000000000000000000000000
256--- a/keyboards/durgod/k310/rules.mk
257+++ /dev/null
258@@ -1 +0,0 @@
259-DEFAULT_FOLDER=durgod/k3x0/k310
260diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k320/base/config.h
261rename from keyboards/durgod/k3x0/config.h
262rename to keyboards/durgod/k320/base/config.h
263index 0f2e01cfc195642622bfca59babf8463f1ec7df5..5f64a04f9a629c2c67e31cce99ce56e1ca031107 100644
264--- a/keyboards/durgod/k3x0/config.h
265+++ b/keyboards/durgod/k320/base/config.h
266@@ -21,9 +21,11 @@
267
268 #define WAIT_US_TIMER GPTD3
269
270-/* key matrix size (rows in specific keyboard variant) */
271+/* key matrix size */
272+#define MATRIX_ROWS 7
273 #define MATRIX_COLS 16
274
275+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }
276 #define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 }
277
278 /* COL2ROW, ROW2COL*/
279diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md
280deleted file mode 100644
281index 8b74e28e54c9ec403739d71837dd6ee0ee64720a..0000000000000000000000000000000000000000
282--- a/keyboards/durgod/k320/base/readme.md
283+++ /dev/null
284@@ -1,6 +0,0 @@
285-# Taurus K320
286-
287-Base Model - no backlight leds
288-
289-See: [K320](../../k3x0/k320/base/readme.md)
290-
291diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk
292index de33470cc00119005015fcdbd37b2bcb46ead5b4..37896a20ce1d18248b5363fde01e220a588add36 100644
293--- a/keyboards/durgod/k320/base/rules.mk
294+++ b/keyboards/durgod/k320/base/rules.mk
295@@ -1 +1,23 @@
296-DEFAULT_FOLDER=durgod/k3x0/k320/base
297+# MCU name
298+# Actually F070, but close enough
299+MCU = STM32F072
300+BOARD = DURGOD_STM32_F070
301+
302+# Bootloader selection
303+BOOTLOADER = stm32-dfu
304+
305+# Build Options
306+# change yes to no to disable
307+#
308+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
309+MOUSEKEY_ENABLE = no # Mouse keys
310+EXTRAKEY_ENABLE = yes # Audio control and System control
311+CONSOLE_ENABLE = no # Console for debug
312+COMMAND_ENABLE = no # Commands for debug and configuration
313+NKRO_ENABLE = yes # Enable N-Key Rollover
314+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
315+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
316+AUDIO_ENABLE = no # Audio output
317+LTO_ENABLE = yes
318+
319+LAYOUTS = tkl_ansi tkl_iso
320diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k320/halconf.h
321rename from keyboards/durgod/k3x0/k310/base/config.h
322rename to keyboards/durgod/k320/halconf.h
323index 2ccb2f2f0c87d67d7e4f9718df851d2c30c1491a..d2a9d8c7c0b3749d23ba5b75883cd418aac73f6a 100644
324--- a/keyboards/durgod/k3x0/k310/base/config.h
325+++ b/keyboards/durgod/k320/halconf.h
326@@ -1,4 +1,4 @@
327-/* Copyright 2021 Don Kjer
328+/* Copyright 2021 Simon Arlott
329 *
330 * This program is free software: you can redistribute it and/or modify
331 * it under the terms of the GNU General Public License as published by
332@@ -16,4 +16,9 @@
333
334 #pragma once
335
336-#include "config_common.h"
337+#define HAL_USE_PAL TRUE
338+#define PAL_USE_CALLBACKS TRUE
339+
340+#define HAL_USE_GPT TRUE
341+
342+#include_next <halconf.h>
343diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k320/info.json
344rename from keyboards/durgod/k3x0/k320/info.json
345rename to keyboards/durgod/k320/info.json
346index 0386ef770944bb8e142624837d70f565361a7439..4d239e05ace9bfb6ce6f386795da575f67318784 100644
347--- a/keyboards/durgod/k3x0/k320/info.json
348+++ b/keyboards/durgod/k320/info.json
349@@ -202,104 +202,6 @@
350 { "label": "\u2192", "x": 17.25, "y": 5.5 }
351 ]
352 },
353- "LAYOUT_tkl": {
354- "layout": [
355- { "label": "Esc", "x": 0, "y": 0 },
356- { "label": "F1", "x": 2, "y": 0 },
357- { "label": "F2", "x": 3, "y": 0 },
358- { "label": "F3", "x": 4, "y": 0 },
359- { "label": "F4", "x": 5, "y": 0 },
360- { "label": "F5", "x": 6.5, "y": 0 },
361- { "label": "F6", "x": 7.5, "y": 0 },
362- { "label": "F7", "x": 8.5, "y": 0 },
363- { "label": "F8", "x": 9.5, "y": 0 },
364- { "label": "F9", "x": 11, "y": 0 },
365- { "label": "F10", "x": 12, "y": 0 },
366- { "label": "F11", "x": 13, "y": 0 },
367- { "label": "F12", "x": 14, "y": 0 },
368- { "label": "PrtSc", "x": 15.25, "y": 0 },
369- { "label": "Scroll Lock", "x": 16.25, "y": 0 },
370- { "label": "Pause", "x": 17.25, "y": 0 },
371-
372- { "label": "~", "x": 0, "y": 1.5 },
373- { "label": "!", "x": 1, "y": 1.5 },
374- { "label": "@", "x": 2, "y": 1.5 },
375- { "label": "#", "x": 3, "y": 1.5 },
376- { "label": "$", "x": 4, "y": 1.5 },
377- { "label": "%", "x": 5, "y": 1.5 },
378- { "label": "^", "x": 6, "y": 1.5 },
379- { "label": "&", "x": 7, "y": 1.5 },
380- { "label": "*", "x": 8, "y": 1.5 },
381- { "label": "(", "x": 9, "y": 1.5 },
382- { "label": ")", "x": 10, "y": 1.5 },
383- { "label": "_", "x": 11, "y": 1.5 },
384- { "label": "+", "x": 12, "y": 1.5 },
385- { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
386- { "label": "Insert", "x": 15.25, "y": 1.5 },
387- { "label": "Home", "x": 16.25, "y": 1.5 },
388- { "label": "PgUp", "x": 17.25, "y": 1.5 },
389-
390- { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
391- { "label": "Q", "x": 1.5, "y": 2.5 },
392- { "label": "W", "x": 2.5, "y": 2.5 },
393- { "label": "E", "x": 3.5, "y": 2.5 },
394- { "label": "R", "x": 4.5, "y": 2.5 },
395- { "label": "T", "x": 5.5, "y": 2.5 },
396- { "label": "Y", "x": 6.5, "y": 2.5 },
397- { "label": "U", "x": 7.5, "y": 2.5 },
398- { "label": "I", "x": 8.5, "y": 2.5 },
399- { "label": "O", "x": 9.5, "y": 2.5 },
400- { "label": "P", "x": 10.5, "y": 2.5 },
401- { "label": "{", "x": 11.5, "y": 2.5 },
402- { "label": "}", "x": 12.5, "y": 2.5 },
403- { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
404- { "label": "Delete", "x": 15.25, "y": 2.5 },
405- { "label": "End", "x": 16.25, "y": 2.5 },
406- { "label": "PgDn", "x": 17.25, "y": 2.5 },
407-
408- { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
409- { "label": "A", "x": 1.75, "y": 3.5 },
410- { "label": "S", "x": 2.75, "y": 3.5 },
411- { "label": "D", "x": 3.75, "y": 3.5 },
412- { "label": "F", "x": 4.75, "y": 3.5 },
413- { "label": "G", "x": 5.75, "y": 3.5 },
414- { "label": "H", "x": 6.75, "y": 3.5 },
415- { "label": "J", "x": 7.75, "y": 3.5 },
416- { "label": "K", "x": 8.75, "y": 3.5 },
417- { "label": "L", "x": 9.75, "y": 3.5 },
418- { "label": ":", "x": 10.75, "y": 3.5 },
419- { "label": "\"", "x": 11.75, "y": 3.5 },
420- { "label": "#", "x": 12.75, "y": 3.5 },
421- { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 },
422-
423- { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
424- { "label": "\\", "x": 1.25, "y": 4.5 },
425- { "label": "Z", "x": 2.25, "y": 4.5 },
426- { "label": "X", "x": 3.25, "y": 4.5 },
427- { "label": "C", "x": 4.25, "y": 4.5 },
428- { "label": "V", "x": 5.25, "y": 4.5 },
429- { "label": "B", "x": 6.25, "y": 4.5 },
430- { "label": "N", "x": 7.25, "y": 4.5 },
431- { "label": "M", "x": 8.25, "y": 4.5 },
432- { "label": "<", "x": 9.25, "y": 4.5 },
433- { "label": ">", "x": 10.25, "y": 4.5 },
434- { "label": "?", "x": 11.25, "y": 4.5 },
435- { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
436- { "label": "\u2191", "x": 16.25, "y": 4.5 },
437-
438- { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
439- { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
440- { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
441- { "x": 3.75, "y": 5.5, "w": 6.25 },
442- { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
443- { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
444- { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
445- { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
446- { "label": "\u2190", "x": 15.25, "y": 5.5 },
447- { "label": "\u2193", "x": 16.25, "y": 5.5 },
448- { "label": "\u2192", "x": 17.25, "y": 5.5 }
449diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c
450new file mode 100644
451index 0000000000000000000000000000000000000000..3cb2fd7d67d03e1458503cacf41fb53f8975cbf8
452--- /dev/null
453+++ b/keyboards/durgod/k320/k320.c
454@@ -0,0 +1,96 @@
455+/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
456+ * Copyright 2021 Simon Arlott
457+ *
458+ * This program is free software: you can redistribute it and/or modify
459+ * it under the terms of the GNU General Public License as published by
460+ * the Free Software Foundation, either version 2 of the License, or
461+ * (at your option) any later version.
462+ *
463+ * This program is distributed in the hope that it will be useful,
464+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
465+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
466+ * GNU General Public License for more details.
467+ *
468+ * You should have received a copy of the GNU General Public License
469+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
470+ */
471+
472+#include "k320.h"
473+#include <ch.h>
474+#include <hal.h>
475+
476+/* Private Functions */
477+void off_all_leds(void) {
478+#ifdef LED_NUM_LOCK_PIN
479+ writePinHigh(LED_NUM_LOCK_PIN);
480+#endif
481+ writePinHigh(LED_CAPS_LOCK_PIN);
482+ writePinHigh(LED_SCROLL_LOCK_PIN);
483+ writePinHigh(LED_WIN_LOCK_PIN);
484+ writePinHigh(LED_MR_LOCK_PIN);
485+}
486+
487+void on_all_leds(void) {
488+#ifdef LED_NUM_LOCK_PIN
489+ writePinLow(LED_NUM_LOCK_PIN);
490+#endif
491+ writePinLow(LED_CAPS_LOCK_PIN);
492+ writePinLow(LED_SCROLL_LOCK_PIN);
493+ writePinLow(LED_WIN_LOCK_PIN);
494+ writePinLow(LED_MR_LOCK_PIN);
495+}
496+
497+/* WinLock and MR LEDs are non-standard. Need to override led init */
498+void led_init_ports(void) {
499+#ifdef LED_NUM_LOCK_PIN
500+ setPinOutput(LED_NUM_LOCK_PIN);
501+#endif
502+ setPinOutput(LED_CAPS_LOCK_PIN);
503+ setPinOutput(LED_SCROLL_LOCK_PIN);
504+ setPinOutput(LED_WIN_LOCK_PIN);
505+ setPinOutput(LED_MR_LOCK_PIN);
506+ off_all_leds();
507+}
508+
509+#ifndef WINLOCK_DISABLED
510+static bool win_key_locked = false;
511+
512+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
513+ switch (keycode) {
514+ case KC_TGUI:
515+ if (record->event.pressed) {
516+ // Toggle GUI lock on key press
517+ win_key_locked = !win_key_locked;
518+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
519+ }
520+ break;
521+ case KC_LGUI:
522+ if (win_key_locked) { return false; }
523+ break;
524+ }
525+ return process_record_user(keycode, record);
526+}
527+#endif /* WINLOCK_DISABLED */
528+
529+#ifndef HW_RESET_PIN_DISABLED
530+static void hardware_reset_cb(void *arg) {
531+ chSysLockFromISR();
532+ bootloader_jump();
533+ chSysUnlockFromISR();
534+}
535+#endif
536+
537+void keyboard_pre_init_kb(void) {
538+ setPinInputHigh(HARDWARE_RESET_PIN);
539+
540+#ifndef HW_RESET_PIN_DISABLED
541+ /* Jump to bootloader when the hardware reset button is pressed */
542+ palEnablePadEvent(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), PAL_EVENT_MODE_FALLING_EDGE);
543+ palSetPadCallback(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), hardware_reset_cb, NULL);
544+
545+ /* The interrupt is edge-triggered so check that it's not already pressed */
546+ if (!readPin(HARDWARE_RESET_PIN)) {
547+ bootloader_jump();
548+ }
549+#endif
550+}
551diff --git a/keyboards/durgod/k3x0/k320/k320.h b/keyboards/durgod/k320/k320.h
552rename from keyboards/durgod/k3x0/k320/k320.h
553rename to keyboards/durgod/k320/k320.h
554index 23b48d0f3921a33793bdea74b82d230e728b2594..67f0f5f2147917c8388c46d868841a89ddf41f17 100644
555--- a/keyboards/durgod/k3x0/k320/k320.h
556+++ b/keyboards/durgod/k320/k320.h
557@@ -17,6 +17,8 @@
558
559 #pragma once
560
561+#include "quantum.h"
562+
563 #define XXX KC_NO
564
565 // This a shortcut to help you visually see your layout.
566@@ -56,7 +58,7 @@
567 }
568
569 // This a shortcut to help you visually see your layout.
570-#define LAYOUT_tkl( \
571+#define LAYOUT_all( \
572 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
573 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
574 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \
575@@ -73,20 +75,23 @@
576 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
577 }
578
579-// This a shortcut to help you visually see your layout.
580-#define LAYOUT_all( \
581- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
582- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \
583- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \
584- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \
585- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \
586- K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \
587-) { \
588- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
589- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
590- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
591- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
592- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
593- { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
594- { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F } \
595-}
596+
597+#ifndef WINLOCK_DISABLED
598+// Define the TGUI key here so it is available in QMK configurator
599+enum K3x0_keycodes {
600+#ifdef VIA_ENABLE
601+ KC_TGUI = USER00, // Toggle between GUI Lock or Unlock
602+ NEW_SAFE_RANGE = SAFE_RANGE
603+#else
604+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
605+ NEW_SAFE_RANGE
606+#endif
607+};
608+
609+#undef SAFE_RANGE
610+#define SAFE_RANGE NEW_SAFE_RANGE
611+#endif /* WINLOCK_DISABLED */
612+
613+/* Function Prototype */
614+void off_all_leds(void);
615+void on_all_leds(void);
616diff --git a/keyboards/durgod/k320/keymaps/default/keymap.json b/keyboards/durgod/k320/keymaps/default/keymap.json
617new file mode 100644
618index 0000000000000000000000000000000000000000..3dab704bcdb07ac71c07aa3f605947ead39b60e0
619--- /dev/null
620+++ b/keyboards/durgod/k320/keymaps/default/keymap.json
621@@ -0,0 +1,26 @@
622+{
623+ "keyboard": "durgod/k320/base",
624+ "keymap": "default",
625+ "layout": "LAYOUT_all",
626+ "layers": [
627+ [
628+ "KC_ESC", "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_PSCR", "KC_SLCK", "KC_PAUS",
629+ "KC_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", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
630+ "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", "KC_DEL", "KC_END", "KC_PGDN",
631+ "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",
632+ "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", "KC_UP",
633+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
634+ ],
635+ [
636+ "_______", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
637+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
638+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
639+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
640+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
641+ "_______", "KC_TGUI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
642+ ]
643+ ],
644+ "author": "tylert",
645+ "notes": "",
646+ "version": 1
647+}
648diff --git a/keyboards/durgod/k320/keymaps/default/readme.md b/keyboards/durgod/k320/keymaps/default/readme.md
649new file mode 100644
650index 0000000000000000000000000000000000000000..952b1912ce0e76eea738d1639d82c39b2ccba00a
651--- /dev/null
652+++ b/keyboards/durgod/k320/keymaps/default/readme.md
653@@ -0,0 +1,16 @@
654+# The default keymap for Durgod Taurus K3X0 (K310, K320, etc.) without backlight
655+
656+Supports both ANSI and ISO layouts.
657+
658+Layer 0 : Standard layout (Windows)
659+
660+Layer 1 : Media control and Windows lock key
661+- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
662+- Fn + Windows to toggle Windows lock key functionality
663+
664+## Windows key lock
665+
666+You can hold down Fn + Windows key to disable the Windows key while in locked mode.
667+The 'Lock' LED indicates if the Windows key is locked.
668+
669+This is similar to the stock K310/K320 Windows key lock functionality.
670diff --git a/keyboards/durgod/k320/keymaps/default_mac/keymap.json b/keyboards/durgod/k320/keymaps/default_mac/keymap.json
671new file mode 100644
672index 0000000000000000000000000000000000000000..a0e83def36947d1c5d8c0523ebc33317c5530cc7
673--- /dev/null
674+++ b/keyboards/durgod/k320/keymaps/default_mac/keymap.json
675@@ -0,0 +1,26 @@
676+{
677+ "keyboard": "durgod/k310/base",
678+ "keymap": "default_mac",
679+ "layout": "LAYOUT_all",
680+ "layers": [
681+ [
682+ "KC_ESC", "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_F13", "KC_F14", "KC_F15",
683+ "KC_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", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
684+ "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", "KC_DEL", "KC_END", "KC_PGDN",
685+ "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",
686+ "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", "KC_UP",
687+ "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_SPC", "KC_RGUI", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
688+ ],
689+ [
690+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
691+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
692+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
693+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
694+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
695+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
696+ ]
697+ ],
698+ "author":"AlCutter",
699+ "notes":"",
700+ "version":1
701+}
702diff --git a/keyboards/durgod/k320/keymaps/default_mac/readme.md b/keyboards/durgod/k320/keymaps/default_mac/readme.md
703new file mode 100644
704index 0000000000000000000000000000000000000000..2765f14f906215f0ee2261daff01c88f57863976
705--- /dev/null
706+++ b/keyboards/durgod/k320/keymaps/default_mac/readme.md
707@@ -0,0 +1,8 @@
708+# The default (Mac) keymap for Durgod Taurus K320.
709+
710+Supports both ANSI and ISO layouts.
711+
712+Layer 0 : Standard 87/88 keys TKL layout (Mac)
713+
714+Layer 1 : Media control
715+- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
716diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
717rename from keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c
718rename to keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
719diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md b/keyboards/durgod/k320/keymaps/kuenhlee/readme.md
720rename from keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md
721rename to keyboards/durgod/k320/keymaps/kuenhlee/readme.md
722diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk b/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk
723rename from keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk
724rename to keyboards/durgod/k320/keymaps/kuenhlee/rules.mk
725diff --git a/keyboards/durgod/k320/keymaps/via/keymap.c b/keyboards/durgod/k320/keymaps/via/keymap.c
726new file mode 100644
727index 0000000000000000000000000000000000000000..993cbd8c2278320face212bdd0b984d5aac2cb3a
728--- /dev/null
729+++ b/keyboards/durgod/k320/keymaps/via/keymap.c
730@@ -0,0 +1,92 @@
731+/* Copyright 2021 Maxime Coirault, Don Kjer, Tyler Tidman
732+ *
733+ * This program is free software: you can redistribute it and/or modify
734+ * it under the terms of the GNU General Public License as published by
735+ * the Free Software Foundation, either version 2 of the License, or
736+ * (at your option) any later version.
737+ *
738+ * This program is distributed in the hope that it will be useful,
739+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
740+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
741+ * GNU General Public License for more details.
742+ *
743+ * You should have received a copy of the GNU General Public License
744+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
745+ */
746+
747+#include QMK_KEYBOARD_H
748+
749+// Layer shorthand
750+enum _layer {
751+ _BASE,
752+ _FN,
753+ _LAYER3,
754+ _LAYER4
755+};
756+
757+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
758+ /* Keymap _BASE: Base Layer (Default Layer)
759+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
760+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
761+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
762+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
763+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│
764+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
765+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
766+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘
767+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│
768+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
769+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │
770+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
771+ * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │
772+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
773+ */
774+ [_BASE] = LAYOUT_all( /* Base Layer */
775+ KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS,
776+ KC_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, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
777+ 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, KC_DEL, KC_END, KC_PGDN,
778+ 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,
779+ 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, KC_UP,
780+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
781+ ),
782+ /* Keymap _FN: Function Layer
783+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
784+ * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │ │
785+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
786+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
787+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
788+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
789+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
790+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘
791+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
792+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
793+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
794+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
795+ * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │
796+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
797+ */
798+ [_FN] = LAYOUT_all( /* Function Layer */
799+ _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
800+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
801+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
802+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
803+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
804+ _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______
805+ ),
806+ [_LAYER3] = LAYOUT_all( /* Layer 3 */
807+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
808+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
809+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
810+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
811+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
812+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
813+ ),
814+ [_LAYER4] = LAYOUT_all( /* Layer 4 */
815+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
816+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
817+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
818+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
819+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
820+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
821+ )
822+};
823diff --git a/keyboards/durgod/k320/keymaps/via/readme.md b/keyboards/durgod/k320/keymaps/via/readme.md
824new file mode 100644
825index 0000000000000000000000000000000000000000..ffa1c4ce0a2f977511a413a25ce774cd2dbb9382
826--- /dev/null
827+++ b/keyboards/durgod/k320/keymaps/via/readme.md
828@@ -0,0 +1,6 @@
829+# The via keymap for Durgod Taurus K310/K320.
830+
831+Layer 0 : Standard layout
832+
833+Layer 1 : Media control
834+- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
835diff --git a/keyboards/durgod/k320/keymaps/via/rules.mk b/keyboards/durgod/k320/keymaps/via/rules.mk
836new file mode 100644
837index 0000000000000000000000000000000000000000..1e5b99807cb7a90b282a3001a38bf303774544ba
838--- /dev/null
839+++ b/keyboards/durgod/k320/keymaps/via/rules.mk
840@@ -0,0 +1 @@
841+VIA_ENABLE = yes
842diff --git a/keyboards/durgod/k320/readme.md b/keyboards/durgod/k320/readme.md
843index b8ca5b6da1a04d09da4db42d32a3098712944c39..ce5ae3211d3e9d86edbf6882c17420b497e9d45d 100644
844--- a/keyboards/durgod/k320/readme.md
845+++ b/keyboards/durgod/k320/readme.md
846@@ -1,4 +1,29 @@
847-# K320
848+# Taurus K320
849
850-See: [K320](../k3x0/k320/readme.md)
851+This code is shared between all K320 variants. Currently only the base model with no backlight is supported.
852
853+This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key)
854+keyboard without backlight. This supports both the ANSI and ISO variants.
855+
856+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
857+* Hardware Supported: [Durgod Taurus K320 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=47&_l=en "Durgod.com Product Page")
858+* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM)
859+
860+## Instructions
861+
862+### Build
863+
864+Make command example for this keyboard (after setting up your build environment):
865+
866+ make durgod/k3x0/k320/base:default
867+
868+Flashing example for this keyboard:
869+
870+ make durgod/k3x0/k320/base:default:flash
871+
872diff --git a/keyboards/durgod/k320/rules.mk b/keyboards/durgod/k320/rules.mk
873deleted file mode 100644
874index d3f7b11945cc139e81c606912886103684e7b08a..0000000000000000000000000000000000000000
875--- a/keyboards/durgod/k320/rules.mk
876+++ /dev/null
877@@ -1 +0,0 @@
878-DEFAULT_FOLDER=durgod/k3x0/k320
879diff --git a/keyboards/durgod/k3x0/k310/base/readme.md b/keyboards/durgod/k3x0/k310/base/readme.md
880deleted file mode 100644
881index 9f465404366ba3e599897960271503bfcc3a543e..0000000000000000000000000000000000000000
882--- a/keyboards/durgod/k3x0/k310/base/readme.md
883+++ /dev/null
884@@ -1,27 +0,0 @@
885-# K310
886-
887-This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key
888-keyboard without backlight. This supports both the ANSI and ISO variants.
889-
890-* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
891-* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
892-* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en
893-
894-## Instructions
895-
896-### Build
897-
898-Make command example for this keyboard (after setting up your build environment):
899-
900- make durgod/k310:default
901-
902-Flashing example for this keyboard:
903-
904- make durgod/k310:default:flash
905-
906diff --git a/keyboards/durgod/k3x0/k310/base/rules.mk b/keyboards/durgod/k3x0/k310/base/rules.mk
907deleted file mode 100644
908index 323c12fc6e0587cd3cefcc8c7725c4a9c8f50c04..0000000000000000000000000000000000000000
909--- a/keyboards/durgod/k3x0/k310/base/rules.mk
910+++ /dev/null
911@@ -1 +0,0 @@
912-# see common rules.mk
913diff --git a/keyboards/durgod/k3x0/k310/config.h b/keyboards/durgod/k3x0/k310/config.h
914deleted file mode 100644
915index cb936a201f0750005661a9a801aed42992929a64..0000000000000000000000000000000000000000
916--- a/keyboards/durgod/k3x0/k310/config.h
917+++ /dev/null
918@@ -1,28 +0,0 @@
919-/* Copyright 2021 Don Kjer and Tyler Tidman
920- * Copyright 2021 Simon Arlott
921- *
922- * This program is free software: you can redistribute it and/or modify
923- * it under the terms of the GNU General Public License as published by
924- * the Free Software Foundation, either version 2 of the License, or
925- * (at your option) any later version.
926- *
927- * This program is distributed in the hope that it will be useful,
928- * but WITHOUT ANY WARRANTY; without even the implied warranty of
929- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
930- * GNU General Public License for more details.
931- *
932- * You should have received a copy of the GNU General Public License
933- * along with this program. If not, see <http://www.gnu.org/licenses/>.
934- */
935-
936-#pragma once
937-
938-#include "config_common.h"
939-
940-/* key matrix size (cols in generic keyboard config) */
941-#define MATRIX_ROWS 8
942-
943-#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 }
944-
945-/* LED indicator pins */
946-#define LED_NUM_LOCK_PIN C8
947diff --git a/keyboards/durgod/k3x0/k310/readme.md b/keyboards/durgod/k3x0/k310/readme.md
948deleted file mode 100644
949index bee903b88f7fb45f744b0f72a5e4f9dda16d8486..0000000000000000000000000000000000000000
950--- a/keyboards/durgod/k3x0/k310/readme.md
951+++ /dev/null
952@@ -1,10 +0,0 @@
953-# Taurus K310
954-
955-This code is shared between all K310 variants. Currently only the base model with no backlight is supported.
956-
957-* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
958-* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
959-* Hardware Availability: Base https://www.durgod.com/page9?product_id=53&_l=en
960-
961-Instructions for building the K310 firmware can be found here:
962-* [No Backlight](base/readme.md)
963diff --git a/keyboards/durgod/k3x0/k310/rules.mk b/keyboards/durgod/k3x0/k310/rules.mk
964deleted file mode 100644
965index 2df1aff9c80f31037ad701193edf312234a96627..0000000000000000000000000000000000000000
966--- a/keyboards/durgod/k3x0/k310/rules.mk
967+++ /dev/null
968@@ -1,4 +0,0 @@
969-# Default to the base model
970-DEFAULT_FOLDER=durgod/k3x0/k310/base
971-
972-LAYOUTS = fullsize_ansi fullsize_iso
973diff --git a/keyboards/durgod/k3x0/k320/base/config.h b/keyboards/durgod/k3x0/k320/base/config.h
974deleted file mode 100644
975index 2ccb2f2f0c87d67d7e4f9718df851d2c30c1491a..0000000000000000000000000000000000000000
976--- a/keyboards/durgod/k3x0/k320/base/config.h
977+++ /dev/null
978@@ -1,19 +0,0 @@
979-/* Copyright 2021 Don Kjer
980- *
981- * This program is free software: you can redistribute it and/or modify
982- * it under the terms of the GNU General Public License as published by
983- * the Free Software Foundation, either version 2 of the License, or
984- * (at your option) any later version.
985- *
986- * This program is distributed in the hope that it will be useful,
987- * but WITHOUT ANY WARRANTY; without even the implied warranty of
988- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
989- * GNU General Public License for more details.
990- *
991- * You should have received a copy of the GNU General Public License
992- * along with this program. If not, see <http://www.gnu.org/licenses/>.
993- */
994-
995-#pragma once
996-
997-#include "config_common.h"
998diff --git a/keyboards/durgod/k3x0/k320/base/readme.md b/keyboards/durgod/k3x0/k320/base/readme.md
999deleted file mode 100644
1000index 8f46cc122cee2dce041a0aaed0c9aefbbf550813..0000000000000000000000000000000000000000
1001--- a/keyboards/durgod/k3x0/k320/base/readme.md
1002+++ /dev/null
1003@@ -1,27 +0,0 @@
1004-# K320
1005-
1006-This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key)
1007-keyboard without backlight. This supports both the ANSI and ISO variants.
1008-
1009-* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
1010-* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
1011-* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en
1012-
1013-## Instructions
1014-
1015-### Build
1016-
1017-Make command example for this keyboard (after setting up your build environment):
1018-
1019- make durgod/k320:default
1020-
1021-Flashing example for this keyboard:
1022-
1023- make durgod/k320:default:flash
1024-
1025diff --git a/keyboards/durgod/k3x0/k320/base/rules.mk b/keyboards/durgod/k3x0/k320/base/rules.mk
1026deleted file mode 100644
1027index 323c12fc6e0587cd3cefcc8c7725c4a9c8f50c04..0000000000000000000000000000000000000000
1028--- a/keyboards/durgod/k3x0/k320/base/rules.mk
1029+++ /dev/null
1030@@ -1 +0,0 @@
1031-# see common rules.mk
1032diff --git a/keyboards/durgod/k3x0/k320/config.h b/keyboards/durgod/k3x0/k320/config.h
1033deleted file mode 100644
1034index 2ea9b37fdf7c7f49d73bea38506f9f15147cf4ff..0000000000000000000000000000000000000000
1035--- a/keyboards/durgod/k3x0/k320/config.h
1036+++ /dev/null
1037@@ -1,25 +0,0 @@
1038-/* Copyright 2021 Don Kjer and Tyler Tidman
1039- * Copyright 2021 Simon Arlott
1040- *
1041- * This program is free software: you can redistribute it and/or modify
1042- * it under the terms of the GNU General Public License as published by
1043- * the Free Software Foundation, either version 2 of the License, or
1044- * (at your option) any later version.
1045- *
1046- * This program is distributed in the hope that it will be useful,
1047- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1048- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1049- * GNU General Public License for more details.
1050- *
1051- * You should have received a copy of the GNU General Public License
1052- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1053- */
1054-
1055-#pragma once
1056-
1057-#include "config_common.h"
1058-
1059-/* key matrix size (cols in generic keyboard config) */
1060-#define MATRIX_ROWS 7
1061-
1062-#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }