Browse Source

Add EE-AT and move W1-AT under geonworks (#22526)

* Add EE-AT and move W1-AT under geonworks
Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
yiancar 2 years ago
parent
commit
7f67256047

+ 3 - 0
data/mappings/keyboard_aliases.hjson

@@ -1299,6 +1299,9 @@
     "vn66": {
         "target": "hnahkb/vn66"
     },
+    "w1_at": {
+        "target": "geonworks/w1_at"
+    },
     "wallaby": {
         "target": "kkatano/wallaby"
     },

+ 30 - 0
keyboards/geonworks/ee_at/ee_at.c

@@ -0,0 +1,30 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+void led_init_ports(void) {
+    // Set our LED pins as open drain outputs
+    setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+    setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+    setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+    setPinOutputOpenDrain(LED_KANA_PIN);
+    setPinOutputOpenDrain(A14);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+    writePin(A14, !layer_state_cmp(state, 1));
+    return layer_state_set_user(state);
+}

+ 499 - 0
keyboards/geonworks/ee_at/info.json

@@ -0,0 +1,499 @@
+{
+    "manufacturer": "Yiancar-Designs",
+    "keyboard_name": "EE-AT",
+    "maintainer": "Yiancar-Designs",
+    "bootloader": "stm32-dfu",
+    "bootmagic": {
+        "matrix": [0, 2]
+    },
+    "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
+    "indicators": {
+        "caps_lock": "B6",
+        "kana": "A13",
+        "num_lock": "B3",
+        "on_state": 0,
+        "scroll_lock": "A15"
+    },
+    "matrix_pins": {
+        "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+        "rows": ["A2", "B9", "B8", "B5", "B4"]
+    },
+    "processor": "STM32F072",
+    "url": "https://yiancar-designs.com",
+    "usb": {
+        "device_version": "0.0.1",
+        "pid": "0x5755",
+        "vid": "0x8968"
+    },
+    "layouts": {
+        "LAYOUT_all": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0},
+                {"matrix": [0, 5], "x": 5.25, "y": 0},
+                {"matrix": [0, 6], "x": 6.25, "y": 0},
+                {"matrix": [0, 7], "x": 7.25, "y": 0},
+                {"matrix": [0, 8], "x": 8.25, "y": 0},
+                {"matrix": [0, 9], "x": 9.25, "y": 0},
+                {"matrix": [0, 10], "x": 10.25, "y": 0},
+                {"matrix": [0, 11], "x": 11.25, "y": 0},
+                {"matrix": [0, 12], "x": 12.25, "y": 0},
+                {"matrix": [0, 13], "x": 13.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0},
+                {"matrix": [2, 14], "x": 16.25, "y": 0},
+                {"matrix": [0, 16], "x": 17.5, "y": 0},
+                {"matrix": [0, 17], "x": 18.5, "y": 0},
+                {"matrix": [0, 18], "x": 19.5, "y": 0},
+                {"matrix": [0, 19], "x": 20.5, "y": 0},
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 3], "x": 3.75, "y": 1},
+                {"matrix": [1, 4], "x": 4.75, "y": 1},
+                {"matrix": [1, 5], "x": 5.75, "y": 1},
+                {"matrix": [1, 6], "x": 6.75, "y": 1},
+                {"matrix": [1, 7], "x": 7.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+                {"matrix": [1, 9], "x": 9.75, "y": 1},
+                {"matrix": [1, 10], "x": 10.75, "y": 1},
+                {"matrix": [1, 11], "x": 11.75, "y": 1},
+                {"matrix": [1, 12], "x": 12.75, "y": 1},
+                {"matrix": [1, 13], "x": 13.75, "y": 1},
+                {"matrix": [1, 14], "x": 14.75, "y": 1},
+                {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 16], "x": 17.5, "y": 1},
+                {"matrix": [1, 17], "x": 18.5, "y": 1},
+                {"matrix": [1, 18], "x": 19.5, "y": 1},
+                {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2},
+                {"matrix": [2, 5], "x": 6, "y": 2},
+                {"matrix": [2, 6], "x": 7, "y": 2},
+                {"matrix": [2, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2},
+                {"matrix": [2, 12], "x": 13, "y": 2},
+                {"matrix": [2, 13], "x": 14, "y": 2},
+                {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+                {"matrix": [2, 16], "x": 17.5, "y": 2},
+                {"matrix": [2, 17], "x": 18.5, "y": 2},
+                {"matrix": [2, 18], "x": 19.5, "y": 2},
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.5, "y": 3},
+                {"matrix": [3, 5], "x": 5.5, "y": 3},
+                {"matrix": [3, 6], "x": 6.5, "y": 3},
+                {"matrix": [3, 7], "x": 7.5, "y": 3},
+                {"matrix": [3, 8], "x": 8.5, "y": 3},
+                {"matrix": [3, 9], "x": 9.5, "y": 3},
+                {"matrix": [3, 10], "x": 10.5, "y": 3},
+                {"matrix": [3, 11], "x": 11.5, "y": 3},
+                {"matrix": [3, 12], "x": 12.5, "y": 3},
+                {"matrix": [3, 13], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 15], "x": 16.25, "y": 3},
+                {"matrix": [3, 16], "x": 17.5, "y": 3},
+                {"matrix": [3, 17], "x": 18.5, "y": 3},
+                {"matrix": [3, 18], "x": 19.5, "y": 3},
+                {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+                {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 14], "x": 14.75, "y": 4},
+                {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+                {"matrix": [4, 18], "x": 19.5, "y": 4}
+            ]
+        },
+        "LAYOUT_ansi": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0},
+                {"matrix": [0, 5], "x": 5.25, "y": 0},
+                {"matrix": [0, 6], "x": 6.25, "y": 0},
+                {"matrix": [0, 7], "x": 7.25, "y": 0},
+                {"matrix": [0, 8], "x": 8.25, "y": 0},
+                {"matrix": [0, 9], "x": 9.25, "y": 0},
+                {"matrix": [0, 10], "x": 10.25, "y": 0},
+                {"matrix": [0, 11], "x": 11.25, "y": 0},
+                {"matrix": [0, 12], "x": 12.25, "y": 0},
+                {"matrix": [0, 13], "x": 13.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+                {"matrix": [0, 16], "x": 17.5, "y": 0},
+                {"matrix": [0, 17], "x": 18.5, "y": 0},
+                {"matrix": [0, 18], "x": 19.5, "y": 0},
+                {"matrix": [0, 19], "x": 20.5, "y": 0},
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 3], "x": 3.75, "y": 1},
+                {"matrix": [1, 4], "x": 4.75, "y": 1},
+                {"matrix": [1, 5], "x": 5.75, "y": 1},
+                {"matrix": [1, 6], "x": 6.75, "y": 1},
+                {"matrix": [1, 7], "x": 7.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+                {"matrix": [1, 9], "x": 9.75, "y": 1},
+                {"matrix": [1, 10], "x": 10.75, "y": 1},
+                {"matrix": [1, 11], "x": 11.75, "y": 1},
+                {"matrix": [1, 12], "x": 12.75, "y": 1},
+                {"matrix": [1, 13], "x": 13.75, "y": 1},
+                {"matrix": [1, 14], "x": 14.75, "y": 1},
+                {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 16], "x": 17.5, "y": 1},
+                {"matrix": [1, 17], "x": 18.5, "y": 1},
+                {"matrix": [1, 18], "x": 19.5, "y": 1},
+                {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2},
+                {"matrix": [2, 5], "x": 6, "y": 2},
+                {"matrix": [2, 6], "x": 7, "y": 2},
+                {"matrix": [2, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2},
+                {"matrix": [2, 12], "x": 13, "y": 2},
+                {"matrix": [2, 13], "x": 14, "y": 2},
+                {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+                {"matrix": [2, 16], "x": 17.5, "y": 2},
+                {"matrix": [2, 17], "x": 18.5, "y": 2},
+                {"matrix": [2, 18], "x": 19.5, "y": 2},
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.5, "y": 3},
+                {"matrix": [3, 5], "x": 5.5, "y": 3},
+                {"matrix": [3, 6], "x": 6.5, "y": 3},
+                {"matrix": [3, 7], "x": 7.5, "y": 3},
+                {"matrix": [3, 8], "x": 8.5, "y": 3},
+                {"matrix": [3, 9], "x": 9.5, "y": 3},
+                {"matrix": [3, 10], "x": 10.5, "y": 3},
+                {"matrix": [3, 11], "x": 11.5, "y": 3},
+                {"matrix": [3, 12], "x": 12.5, "y": 3},
+                {"matrix": [3, 13], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+                {"matrix": [3, 16], "x": 17.5, "y": 3},
+                {"matrix": [3, 17], "x": 18.5, "y": 3},
+                {"matrix": [3, 18], "x": 19.5, "y": 3},
+                {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+                {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 14], "x": 14.75, "y": 4},
+                {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+                {"matrix": [4, 18], "x": 19.5, "y": 4}
+            ]
+        },
+        "LAYOUT_ansi_split_bs": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0},
+                {"matrix": [0, 5], "x": 5.25, "y": 0},
+                {"matrix": [0, 6], "x": 6.25, "y": 0},
+                {"matrix": [0, 7], "x": 7.25, "y": 0},
+                {"matrix": [0, 8], "x": 8.25, "y": 0},
+                {"matrix": [0, 9], "x": 9.25, "y": 0},
+                {"matrix": [0, 10], "x": 10.25, "y": 0},
+                {"matrix": [0, 11], "x": 11.25, "y": 0},
+                {"matrix": [0, 12], "x": 12.25, "y": 0},
+                {"matrix": [0, 13], "x": 13.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0},
+                {"matrix": [2, 14], "x": 16.25, "y": 0},
+                {"matrix": [0, 16], "x": 17.5, "y": 0},
+                {"matrix": [0, 17], "x": 18.5, "y": 0},
+                {"matrix": [0, 18], "x": 19.5, "y": 0},
+                {"matrix": [0, 19], "x": 20.5, "y": 0},
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 3], "x": 3.75, "y": 1},
+                {"matrix": [1, 4], "x": 4.75, "y": 1},
+                {"matrix": [1, 5], "x": 5.75, "y": 1},
+                {"matrix": [1, 6], "x": 6.75, "y": 1},
+                {"matrix": [1, 7], "x": 7.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+                {"matrix": [1, 9], "x": 9.75, "y": 1},
+                {"matrix": [1, 10], "x": 10.75, "y": 1},
+                {"matrix": [1, 11], "x": 11.75, "y": 1},
+                {"matrix": [1, 12], "x": 12.75, "y": 1},
+                {"matrix": [1, 13], "x": 13.75, "y": 1},
+                {"matrix": [1, 14], "x": 14.75, "y": 1},
+                {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 16], "x": 17.5, "y": 1},
+                {"matrix": [1, 17], "x": 18.5, "y": 1},
+                {"matrix": [1, 18], "x": 19.5, "y": 1},
+                {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2},
+                {"matrix": [2, 5], "x": 6, "y": 2},
+                {"matrix": [2, 6], "x": 7, "y": 2},
+                {"matrix": [2, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2},
+                {"matrix": [2, 12], "x": 13, "y": 2},
+                {"matrix": [2, 13], "x": 14, "y": 2},
+                {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+                {"matrix": [2, 16], "x": 17.5, "y": 2},
+                {"matrix": [2, 17], "x": 18.5, "y": 2},
+                {"matrix": [2, 18], "x": 19.5, "y": 2},
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.5, "y": 3},
+                {"matrix": [3, 5], "x": 5.5, "y": 3},
+                {"matrix": [3, 6], "x": 6.5, "y": 3},
+                {"matrix": [3, 7], "x": 7.5, "y": 3},
+                {"matrix": [3, 8], "x": 8.5, "y": 3},
+                {"matrix": [3, 9], "x": 9.5, "y": 3},
+                {"matrix": [3, 10], "x": 10.5, "y": 3},
+                {"matrix": [3, 11], "x": 11.5, "y": 3},
+                {"matrix": [3, 12], "x": 12.5, "y": 3},
+                {"matrix": [3, 13], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+                {"matrix": [3, 16], "x": 17.5, "y": 3},
+                {"matrix": [3, 17], "x": 18.5, "y": 3},
+                {"matrix": [3, 18], "x": 19.5, "y": 3},
+                {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+                {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 14], "x": 14.75, "y": 4},
+                {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+                {"matrix": [4, 18], "x": 19.5, "y": 4}
+            ]
+        },
+        "LAYOUT_ansi_split_bs_rshift": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0},
+                {"matrix": [0, 5], "x": 5.25, "y": 0},
+                {"matrix": [0, 6], "x": 6.25, "y": 0},
+                {"matrix": [0, 7], "x": 7.25, "y": 0},
+                {"matrix": [0, 8], "x": 8.25, "y": 0},
+                {"matrix": [0, 9], "x": 9.25, "y": 0},
+                {"matrix": [0, 10], "x": 10.25, "y": 0},
+                {"matrix": [0, 11], "x": 11.25, "y": 0},
+                {"matrix": [0, 12], "x": 12.25, "y": 0},
+                {"matrix": [0, 13], "x": 13.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0},
+                {"matrix": [2, 14], "x": 16.25, "y": 0},
+                {"matrix": [0, 16], "x": 17.5, "y": 0},
+                {"matrix": [0, 17], "x": 18.5, "y": 0},
+                {"matrix": [0, 18], "x": 19.5, "y": 0},
+                {"matrix": [0, 19], "x": 20.5, "y": 0},
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 3], "x": 3.75, "y": 1},
+                {"matrix": [1, 4], "x": 4.75, "y": 1},
+                {"matrix": [1, 5], "x": 5.75, "y": 1},
+                {"matrix": [1, 6], "x": 6.75, "y": 1},
+                {"matrix": [1, 7], "x": 7.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+                {"matrix": [1, 9], "x": 9.75, "y": 1},
+                {"matrix": [1, 10], "x": 10.75, "y": 1},
+                {"matrix": [1, 11], "x": 11.75, "y": 1},
+                {"matrix": [1, 12], "x": 12.75, "y": 1},
+                {"matrix": [1, 13], "x": 13.75, "y": 1},
+                {"matrix": [1, 14], "x": 14.75, "y": 1},
+                {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 16], "x": 17.5, "y": 1},
+                {"matrix": [1, 17], "x": 18.5, "y": 1},
+                {"matrix": [1, 18], "x": 19.5, "y": 1},
+                {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2},
+                {"matrix": [2, 5], "x": 6, "y": 2},
+                {"matrix": [2, 6], "x": 7, "y": 2},
+                {"matrix": [2, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2},
+                {"matrix": [2, 12], "x": 13, "y": 2},
+                {"matrix": [2, 13], "x": 14, "y": 2},
+                {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+                {"matrix": [2, 16], "x": 17.5, "y": 2},
+                {"matrix": [2, 17], "x": 18.5, "y": 2},
+                {"matrix": [2, 18], "x": 19.5, "y": 2},
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.5, "y": 3},
+                {"matrix": [3, 5], "x": 5.5, "y": 3},
+                {"matrix": [3, 6], "x": 6.5, "y": 3},
+                {"matrix": [3, 7], "x": 7.5, "y": 3},
+                {"matrix": [3, 8], "x": 8.5, "y": 3},
+                {"matrix": [3, 9], "x": 9.5, "y": 3},
+                {"matrix": [3, 10], "x": 10.5, "y": 3},
+                {"matrix": [3, 11], "x": 11.5, "y": 3},
+                {"matrix": [3, 12], "x": 12.5, "y": 3},
+                {"matrix": [3, 13], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 15], "x": 16.25, "y": 3},
+                {"matrix": [3, 16], "x": 17.5, "y": 3},
+                {"matrix": [3, 17], "x": 18.5, "y": 3},
+                {"matrix": [3, 18], "x": 19.5, "y": 3},
+                {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+                {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 14], "x": 14.75, "y": 4},
+                {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+                {"matrix": [4, 18], "x": 19.5, "y": 4}
+            ]
+        },
+        "LAYOUT_ansi_split_rshift": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0},
+                {"matrix": [0, 5], "x": 5.25, "y": 0},
+                {"matrix": [0, 6], "x": 6.25, "y": 0},
+                {"matrix": [0, 7], "x": 7.25, "y": 0},
+                {"matrix": [0, 8], "x": 8.25, "y": 0},
+                {"matrix": [0, 9], "x": 9.25, "y": 0},
+                {"matrix": [0, 10], "x": 10.25, "y": 0},
+                {"matrix": [0, 11], "x": 11.25, "y": 0},
+                {"matrix": [0, 12], "x": 12.25, "y": 0},
+                {"matrix": [0, 13], "x": 13.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+                {"matrix": [0, 16], "x": 17.5, "y": 0},
+                {"matrix": [0, 17], "x": 18.5, "y": 0},
+                {"matrix": [0, 18], "x": 19.5, "y": 0},
+                {"matrix": [0, 19], "x": 20.5, "y": 0},
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 3], "x": 3.75, "y": 1},
+                {"matrix": [1, 4], "x": 4.75, "y": 1},
+                {"matrix": [1, 5], "x": 5.75, "y": 1},
+                {"matrix": [1, 6], "x": 6.75, "y": 1},
+                {"matrix": [1, 7], "x": 7.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+                {"matrix": [1, 9], "x": 9.75, "y": 1},
+                {"matrix": [1, 10], "x": 10.75, "y": 1},
+                {"matrix": [1, 11], "x": 11.75, "y": 1},
+                {"matrix": [1, 12], "x": 12.75, "y": 1},
+                {"matrix": [1, 13], "x": 13.75, "y": 1},
+                {"matrix": [1, 14], "x": 14.75, "y": 1},
+                {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 16], "x": 17.5, "y": 1},
+                {"matrix": [1, 17], "x": 18.5, "y": 1},
+                {"matrix": [1, 18], "x": 19.5, "y": 1},
+                {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2},
+                {"matrix": [2, 5], "x": 6, "y": 2},
+                {"matrix": [2, 6], "x": 7, "y": 2},
+                {"matrix": [2, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2},
+                {"matrix": [2, 12], "x": 13, "y": 2},
+                {"matrix": [2, 13], "x": 14, "y": 2},
+                {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+                {"matrix": [2, 16], "x": 17.5, "y": 2},
+                {"matrix": [2, 17], "x": 18.5, "y": 2},
+                {"matrix": [2, 18], "x": 19.5, "y": 2},
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.5, "y": 3},
+                {"matrix": [3, 5], "x": 5.5, "y": 3},
+                {"matrix": [3, 6], "x": 6.5, "y": 3},
+                {"matrix": [3, 7], "x": 7.5, "y": 3},
+                {"matrix": [3, 8], "x": 8.5, "y": 3},
+                {"matrix": [3, 9], "x": 9.5, "y": 3},
+                {"matrix": [3, 10], "x": 10.5, "y": 3},
+                {"matrix": [3, 11], "x": 11.5, "y": 3},
+                {"matrix": [3, 12], "x": 12.5, "y": 3},
+                {"matrix": [3, 13], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 15], "x": 16.25, "y": 3},
+                {"matrix": [3, 16], "x": 17.5, "y": 3},
+                {"matrix": [3, 17], "x": 18.5, "y": 3},
+                {"matrix": [3, 18], "x": 19.5, "y": 3},
+                {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+                {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 14], "x": 14.75, "y": 4},
+                {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+                {"matrix": [4, 18], "x": 19.5, "y": 4}
+            ]
+        }
+    }
+}

+ 32 - 0
keyboards/geonworks/ee_at/keymaps/default/keymap.c

@@ -0,0 +1,32 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+    KC_F1, KC_F2,     QK_GESC, 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_DEL,    KC_NUM,  KC_PMNS, KC_PSLS, KC_PAST,
+    KC_F3, KC_F4,     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_P7,   KC_P8,   KC_P9,   KC_PPLS,
+    KC_F5, KC_F6,     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,             KC_P4,   KC_P5,   KC_P6,
+    KC_F7, KC_F8,     KC_LSFT,          KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),              KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+    KC_F9, KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                        KC_SPC,                                    KC_RALT, KC_RGUI, KC_RCTL,            KC_P0,            KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+    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,    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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,             KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,    KC_TRNS,          KC_VOLU, KC_VOLD, KC_MUTE, 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, KC_TRNS,                            KC_TRNS,                                     KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,          KC_TRNS)
+};

+ 32 - 0
keyboards/geonworks/ee_at/keymaps/via/keymap.c

@@ -0,0 +1,32 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+    KC_F1, KC_F2,     QK_GESC, 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_DEL,    KC_NUM,  KC_PMNS, KC_PSLS, KC_PAST,
+    KC_F3, KC_F4,     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_P7,   KC_P8,   KC_P9,   KC_PPLS,
+    KC_F5, KC_F6,     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,             KC_P4,   KC_P5,   KC_P6,
+    KC_F7, KC_F8,     KC_LSFT,          KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),              KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+    KC_F9, KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                        KC_SPC,                                    KC_RALT, KC_RGUI, KC_RCTL,            KC_P0,            KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+    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,    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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,             KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,    KC_TRNS,          KC_VOLU, KC_VOLD, KC_MUTE, 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, KC_TRNS,                            KC_TRNS,                                     KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,          KC_TRNS)
+};

+ 0 - 0
keyboards/w1_at/keymaps/via/rules.mk → keyboards/geonworks/ee_at/keymaps/via/rules.mk


+ 21 - 0
keyboards/geonworks/ee_at/matrix_diagram.md

@@ -0,0 +1,21 @@
+# Matrix Diagram for Yiancar-Designs EE-AT
+
+```
+                                                             ┌───────┐
+                                                2u Backspace │0F     │
+                                                             └───────┘
+┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┬───┐
+│00 │01 ││02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │2E ││0G │0H │0I │0J │
+├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┼───┤
+│10 │11 ││12   │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F   ││1G │1H │1I │   │
+├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┼───┼───┤1J │
+│20 │21 ││22    │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F      ││2G │2H │2I │   │
+├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤├───┼───┼───┼───┤
+│30 │31 ││32  │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E    │3F ││3G │3H │3I │   │
+├───┼───┤├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤├───┼───┼───┤4J │
+│40 │41 ││42   │43 │44   │48                         │4D   │4E │4F   ││4G │4H │4I │   │
+└───┴───┘└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┴───┘
+                                                          ┌──────────┐
+                                             2.75u RShift │3E        │
+                                                          └──────────┘
+```

+ 32 - 0
keyboards/geonworks/ee_at/readme.md

@@ -0,0 +1,32 @@
+# EE-AT
+
+This is a standard weird layout PCB, now with Hotswap. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A keyboard with STM32F072CB
+* Hardware Availability: https://geon.works/ 
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+    make geonworks/ee_at:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make geonworks/ee_at:<keymap>:flash`)

+ 2 - 0
keyboards/geonworks/ee_at/rules.mk

@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF

+ 25 - 87
keyboards/w1_at/info.json → keyboards/geonworks/w1_at/info.json

@@ -1,36 +1,43 @@
 {
-    "keyboard_name": "W1-AT",
     "manufacturer": "Yiancar-Designs",
-    "url": "https://yiancar-designs.com",
+    "keyboard_name": "W1-AT",
     "maintainer": "Yiancar-Designs",
-    "usb": {
-        "vid": "0x8968",
-        "pid": "0x5754",
-        "device_version": "0.0.1"
-    },
-    "matrix_pins": {
-        "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
-        "rows": ["A2", "B9", "B8", "B5", "B4"]
+    "bootloader": "stm32-dfu",
+    "bootmagic": {
+        "matrix": [0, 2]
     },
     "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "indicators": {
         "caps_lock": "B6",
-        "num_lock": "B3",
-        "scroll_lock": "A15",
         "kana": "A13",
-        "on_state": 0
+        "num_lock": "B3",
+        "on_state": 0,
+        "scroll_lock": "A15"
     },
-    "bootmagic": {
-        "matrix": [0, 2]
+    "matrix_pins": {
+        "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+        "rows": ["A2", "B9", "B8", "B5", "B4"]
     },
     "processor": "STM32F072",
-    "bootloader": "stm32-dfu",
+    "url": "https://yiancar-designs.com",
+    "usb": {
+        "device_version": "0.0.1",
+        "pid": "0x5754",
+        "vid": "0x8968"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
                 {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
                 {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
                 {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
                 {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
                 {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -46,15 +53,12 @@
                 {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
                 {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
                 {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
                 {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
                 {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
                 {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
                 {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
                 {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
                 {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
                 {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
                 {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
                 {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -69,15 +73,12 @@
                 {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
                 {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
                 {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
                 {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
                 {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
                 {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
                 {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
                 {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
                 {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
                 {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
                 {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
                 {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -91,15 +92,12 @@
                 {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
                 {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
                 {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
                 {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
                 {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
                 {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
                 {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
                 {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
                 {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
                 {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
                 {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
                 {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -114,21 +112,17 @@
                 {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
                 {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
                 {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
                 {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
                 {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
                 {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
                 {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
                 {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
                 {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
                 {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
                 {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
                 {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
                 {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
                 {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
                 {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
                 {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
                 {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -139,7 +133,6 @@
             "layout": [
                 {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
                 {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
                 {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
                 {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
                 {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -154,15 +147,12 @@
                 {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
                 {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
                 {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
                 {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
                 {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
                 {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
                 {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
                 {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
                 {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
                 {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
                 {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
                 {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -177,15 +167,12 @@
                 {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
                 {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
                 {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
                 {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
                 {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
                 {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
                 {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
                 {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
                 {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
                 {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
                 {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
                 {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -199,15 +186,12 @@
                 {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
                 {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
                 {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
                 {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
                 {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
                 {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
                 {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
                 {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
                 {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
                 {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
                 {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
                 {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
@@ -220,21 +204,17 @@
                 {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
                 {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
                 {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
                 {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
                 {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
                 {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
                 {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
                 {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
                 {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
                 {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
                 {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
                 {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
                 {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
                 {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
                 {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
                 {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
                 {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -245,7 +225,6 @@
             "layout": [
                 {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
                 {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
                 {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
                 {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
                 {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -261,15 +240,12 @@
                 {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
                 {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
                 {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
                 {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
                 {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
                 {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
                 {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
                 {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
                 {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
                 {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
                 {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
                 {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -284,15 +260,12 @@
                 {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
                 {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
                 {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
                 {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
                 {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
                 {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
                 {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
                 {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
                 {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
                 {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
                 {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
                 {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -306,15 +279,12 @@
                 {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
                 {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
                 {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
                 {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
                 {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
                 {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
                 {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
                 {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
                 {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
                 {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
                 {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
                 {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
@@ -328,21 +298,17 @@
                 {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
                 {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
                 {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
                 {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
                 {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
                 {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
                 {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
                 {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
                 {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
                 {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
                 {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
                 {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
                 {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
                 {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
                 {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
                 {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
                 {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -353,7 +319,6 @@
             "layout": [
                 {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
                 {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
                 {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
                 {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
                 {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -368,15 +333,12 @@
                 {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
                 {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
                 {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
                 {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
                 {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
                 {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
                 {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
                 {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
                 {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
                 {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
                 {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
                 {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -390,15 +352,12 @@
                 {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
                 {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
                 {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
                 {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
                 {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
                 {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
                 {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
                 {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
                 {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
                 {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
                 {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
                 {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -413,15 +372,12 @@
                 {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
                 {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
                 {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
                 {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
                 {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
                 {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
                 {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
                 {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
                 {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
                 {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
                 {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
                 {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -435,21 +391,17 @@
                 {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
                 {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
                 {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
                 {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
                 {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
                 {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
                 {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
                 {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
                 {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
                 {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
                 {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
                 {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
                 {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
                 {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
                 {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
                 {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
                 {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -460,7 +412,6 @@
             "layout": [
                 {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
                 {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
                 {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
                 {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
                 {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -476,15 +427,12 @@
                 {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
                 {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
                 {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
                 {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
                 {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
                 {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
                 {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
                 {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
                 {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
                 {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
                 {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
                 {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -498,15 +446,12 @@
                 {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
                 {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
                 {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
                 {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
                 {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
                 {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
                 {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
                 {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
                 {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
                 {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
                 {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
                 {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -521,15 +466,12 @@
                 {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
                 {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
                 {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
                 {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
                 {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
                 {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
                 {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
                 {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
                 {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
                 {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
                 {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
                 {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -544,21 +486,17 @@
                 {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
                 {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
                 {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
                 {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
                 {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
                 {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
                 {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
                 {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
                 {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
                 {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
                 {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
                 {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
                 {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
                 {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
                 {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
                 {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
                 {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -566,4 +504,4 @@
             ]
         }
     }
-}
+}

+ 1 - 1
keyboards/w1_at/keymaps/default/keymap.c → keyboards/geonworks/w1_at/keymaps/default/keymap.c

@@ -46,4 +46,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         }
     }
     return true;
-}
+}

+ 0 - 0
keyboards/w1_at/keymaps/via/keymap.c → keyboards/geonworks/w1_at/keymaps/via/keymap.c


+ 1 - 0
keyboards/geonworks/w1_at/keymaps/via/rules.mk

@@ -0,0 +1 @@
+VIA_ENABLE = yes

+ 0 - 0
keyboards/w1_at/keymaps/zq/keymap.c → keyboards/geonworks/w1_at/keymaps/zq/keymap.c


+ 0 - 0
keyboards/w1_at/keymaps/zq/readme.md → keyboards/geonworks/w1_at/keymaps/zq/readme.md


+ 0 - 0
keyboards/w1_at/keymaps/zq/rules.mk → keyboards/geonworks/w1_at/keymaps/zq/rules.mk


+ 0 - 0
keyboards/w1_at/matrix_diagram.md → keyboards/geonworks/w1_at/matrix_diagram.md


+ 3 - 3
keyboards/w1_at/readme.md → keyboards/geonworks/w1_at/readme.md

@@ -3,7 +3,7 @@
 This is a standard weird layout PCB, best build with a 10U spacebar. It supports VIA.
 
 * Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A TKL keyboard with STM32F072CB
+* Hardware Supported: A keyboard with STM32F072CB
 * Hardware Availability: https://geon.works/ 
 
 ## Instructions
@@ -12,7 +12,7 @@ This is a standard weird layout PCB, best build with a 10U spacebar. It supports
 
 Make example for this keyboard (after setting up your build environment):
 
-    make w1_at:default
+    make geonworks/w1_at:default
 
 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 
@@ -29,4 +29,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
 - Unplug
 - Hold Escape
 - Plug In
-- Flash using QMK Toolbox or CLI (`make w1_at:<keymap>:flash`)
+- Flash using QMK Toolbox or CLI (`make geonworks/w1_at:<keymap>:flash`)

+ 2 - 0
keyboards/geonworks/w1_at/rules.mk

@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF

+ 7 - 7
keyboards/w1_at/w1_at.c → keyboards/geonworks/w1_at/w1_at.c

@@ -13,18 +13,18 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
- #include "quantum.h"
+#include "quantum.h"
 
 void led_init_ports(void) {
     // Set our LED pins as open drain outputs
-    palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
-    palSetLineMode(LED_NUM_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
-    palSetLineMode(LED_SCROLL_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
-    palSetLineMode(LED_KANA_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
-    palSetLineMode(A14, PAL_MODE_OUTPUT_OPENDRAIN);
+    setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+    setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+    setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+    setPinOutputOpenDrain(LED_KANA_PIN);
+    setPinOutputOpenDrain(A14);
 }
 
 layer_state_t layer_state_set_kb(layer_state_t state) {
     writePin(A14, !layer_state_cmp(state, 1));
     return layer_state_set_user(state);
-}
+}

+ 0 - 21
keyboards/w1_at/config.h

@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Yiancar-Designs
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published byß
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
-#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

+ 0 - 9
keyboards/w1_at/keymaps/default/readme.md

@@ -1,9 +0,0 @@
-# The default keymap for W1-AT. 
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/pLdgxlJ.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)

+ 0 - 9
keyboards/w1_at/keymaps/via/readme.md

@@ -1,9 +0,0 @@
-# The default keymap for W1-AT. VIA support enabled.
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/4bUxnAz.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)

+ 0 - 15
keyboards/w1_at/rules.mk

@@ -1,15 +0,0 @@
-# Wildcard to allow APM32 MCU
-DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output