summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-03-29 15:47:59 +1100
committerGitHub <noreply@github.com>2023-03-29 15:47:59 +1100
commit06664e8a94116b5d40b2348ec89ba2fc6248ec16 (patch)
tree42c79796aef495754078eaf4856f6b31f10975a6
parentdc2a625a34a4abade436adcd137ec7a38c36beaa (diff)
Fix layouts containing keys with multiple matrix positions (#20191)
-rw-r--r--keyboards/1upkeyboards/1up60rgb/1up60rgb.h109
-rw-r--r--keyboards/1upkeyboards/1up60rgb/info.json502
-rw-r--r--keyboards/40percentclub/ut47/info.json53
-rw-r--r--keyboards/40percentclub/ut47/ut47.c2
-rw-r--r--keyboards/40percentclub/ut47/ut47.h31
-rw-r--r--keyboards/converter/a1200/a1200.h47
-rw-r--r--keyboards/converter/a1200/info.json213
-rw-r--r--keyboards/converter/hp_46010a/hp_46010a.h2
-rw-r--r--keyboards/handwired/ddg_56/ddg_56.h32
-rw-r--r--keyboards/handwired/ddg_56/info.json79
-rw-r--r--keyboards/handwired/uthol/info.json300
-rw-r--r--keyboards/handwired/uthol/uthol.h34
-rw-r--r--keyboards/handwired/wabi/info.json73
-rw-r--r--keyboards/handwired/wabi/wabi.h40
-rw-r--r--keyboards/jian/handwired/handwired.c2
-rw-r--r--keyboards/jian/handwired/handwired.h30
-rw-r--r--keyboards/jian/handwired/info.json59
-rw-r--r--keyboards/jian/info.json60
-rw-r--r--keyboards/jian/keymaps/advanced/keymap.c20
-rw-r--r--keyboards/jian/keymaps/default/keymap.c20
-rw-r--r--keyboards/jian/keymaps/left_hand/keymap.c70
-rw-r--r--keyboards/jian/keymaps/via/keymap.c10
-rw-r--r--keyboards/jian/nsrev2/info.json59
-rw-r--r--keyboards/jian/nsrev2/nsrev2.c2
-rw-r--r--keyboards/jian/nsrev2/nsrev2.h39
-rw-r--r--keyboards/jian/rev1/info.json59
-rw-r--r--keyboards/jian/rev1/rev1.h34
-rw-r--r--keyboards/jian/rev2/info.json59
-rw-r--r--keyboards/jian/rev2/rev2.c2
-rw-r--r--keyboards/jian/rev2/rev2.h58
-rw-r--r--keyboards/keyhive/ut472/info.json53
-rw-r--r--keyboards/keyhive/ut472/ut472.h33
-rw-r--r--keyboards/maxr1998/phoebe/info.json300
-rw-r--r--keyboards/maxr1998/phoebe/phoebe.c2
-rw-r--r--keyboards/maxr1998/phoebe/phoebe.h18
-rw-r--r--keyboards/mechkeys/mechmini/v2/info.json201
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/v2.h68
-rw-r--r--keyboards/mt/mt40/info.json56
-rw-r--r--keyboards/mt/mt40/mt40.h42
-rw-r--r--keyboards/sx60/info.json340
-rwxr-xr-xkeyboards/sx60/sx60.h58
-rw-r--r--keyboards/xiudi/xd96/info.json616
-rw-r--r--keyboards/xiudi/xd96/xd96.h75
43 files changed, 2144 insertions, 1818 deletions
diff --git a/keyboards/1upkeyboards/1up60rgb/1up60rgb.h b/keyboards/1upkeyboards/1up60rgb/1up60rgb.h
deleted file mode 100644
index 5ee6c12bcf..0000000000
--- a/keyboards/1upkeyboards/1up60rgb/1up60rgb.h
+++ /dev/null
@@ -1,109 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT_all( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
-    k40, k41,      k43,           k46,                k4A, k4B,      k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* ANSI variant. No extra keys for ISO */
-#define LAYOUT_60_ansi( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      k2E, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
-    k40, k41,      k43,           k46,                k4A, k4B,      k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* ANSI-Tsangan variant, with split right shift key */
-#define LAYOUT_60_ansi_tsangan_split_rshift( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      k2E, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
-    k40, k41,      k43,           k46,                     k4B,      k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0D }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, XXX, k4D, k4E } \
-}
-
-/* ISO variant. Remove useless ANSI keys */
-#define LAYOUT_60_iso( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
-    k40, k41,      k43,           k46,                k4A, k4B,      k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2D }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* HHKB Variant */
-#define LAYOUT_60_ansi_split_bs_rshift( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      k2E, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
-    k40, k41,      k43,           k46,                k4A, k4B,      k4D, k4E  \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* ANSI Variant */
-#define LAYOUT_60_ansi_split_rshift( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      k2E, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
-    k40, k41,      k43,           k46,                k4A, k4B,      k4D, k4E  \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0D }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
-    { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* HHKB Variant */
-#define LAYOUT_60_hhkb( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      k2E, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
-         k41,      k43,           k46,                     k4B,      k4D \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
-    { XXX, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, XXX, k4D, XXX } \
-}
diff --git a/keyboards/1upkeyboards/1up60rgb/info.json b/keyboards/1upkeyboards/1up60rgb/info.json
index b0ea1ed036..5c9e72252f 100644
--- a/keyboards/1upkeyboards/1up60rgb/info.json
+++ b/keyboards/1upkeyboards/1up60rgb/info.json
@@ -23,67 +23,499 @@
   "layouts": {
     "LAYOUT_all": {
       "layout": [
-        {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, 
-        {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, 
-        {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, 
-        {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [0, 14], "x": 14, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2},
+        {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
+      ]
     },
 
     "LAYOUT_60_ansi": {
       "layout": [
-        {"x":0, "y":0, "label":"~"}, {"x":1, "y":0, "label":"!"}, {"x":2, "y":0, "label":"@"}, {"x":3, "y":0, "label":"#"}, {"x":4, "y":0, "label":"$"}, {"x":5, "y":0, "label":"%"}, {"x":6, "y":0, "label":"^"}, {"x":7, "y":0, "label":"&"}, {"x":8, "y":0, "label":"*"}, {"x":9, "y":0, "label":"("}, {"x":10, "y":0, "label":")"}, {"x":11, "y":0, "label":"_"}, {"x":12, "y":0, "label":"+"}, {"x":13, "y":0, "label":"Backspace", "w":2}, 
-        {"x":0, "y":1, "label":"Tab", "w":1.5}, {"x":1.5, "y":1, "label":"Q"}, {"x":2.5, "y":1, "label":"W"}, {"x":3.5, "y":1, "label":"E"}, {"x":4.5, "y":1, "label":"R"}, {"x":5.5, "y":1, "label":"T"}, {"x":6.5, "y":1, "label":"Y"}, {"x":7.5, "y":1, "label":"U"}, {"x":8.5, "y":1, "label":"I"}, {"x":9.5, "y":1, "label":"O"}, {"x":10.5, "y":1, "label":"P"}, {"x":11.5, "y":1, "label":"{"}, {"x":12.5, "y":1, "label":"}"}, {"x":13.5, "y":1, "label":"|", "w":1.5}, 
-        {"x":0, "y":2, "label":"Caps Lock", "w":1.75}, {"x":1.75, "y":2, "label":"A"}, {"x":2.75, "y":2, "label":"S"}, {"x":3.75, "y":2, "label":"D"}, {"x":4.75, "y":2, "label":"F"}, {"x":5.75, "y":2, "label":"G"}, {"x":6.75, "y":2, "label":"H"}, {"x":7.75, "y":2, "label":"J"}, {"x":8.75, "y":2, "label":"K"}, {"x":9.75, "y":2, "label":"L"}, {"x":10.75, "y":2, "label":":"}, {"x":11.75, "y":2, "label":"\""}, {"x":12.75, "y":2, "label":"Enter", "w":2.25}, 
-        {"x":0, "y":3, "label":"Shift", "w":2.25}, {"x":2.25, "y":3, "label":"Z"}, {"x":3.25, "y":3, "label":"X"}, {"x":4.25, "y":3, "label":"C"}, {"x":5.25, "y":3, "label":"V"}, {"x":6.25, "y":3, "label":"B"}, {"x":7.25, "y":3, "label":"N"}, {"x":8.25, "y":3, "label":"M"}, {"x":9.25, "y":3, "label":"<"}, {"x":10.25, "y":3, "label":">"}, {"x":11.25, "y":3, "label":"?"}, {"x":12.25, "y":3, "label":"Shift", "w":2.75}, 
-        {"x":0, "y":4, "label":"Ctrl", "w":1.25}, {"x":1.25, "y":4, "label":"Win", "w":1.25}, {"x":2.5, "y":4, "label":"Alt", "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "label":"Alt", "w":1.25}, {"x":11.25, "y":4, "label":"Win", "w":1.25}, {"x":12.5, "y":4, "label":"Menu", "w":1.25}, {"x":13.75, "y":4, "label":"Ctrl", "w":1.25}]
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
+      ]
     },
 
     "LAYOUT_60_iso": {
       "layout": [
-        {"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, 
-        {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, 
-        {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, 
-        {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2},
+        {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
+      ]
     },
 
     "LAYOUT_60_ansi_split_bs_rshift": {
       "layout": [
-        {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, 
-        {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, 
-        {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, 
-        {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [0, 14], "x": 14, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 6], "x": 4, "y": 4, "w": 6},
+        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+        {"matrix": [4, 11], "x": 11.5, "y": 4},
+        {"matrix": [4, 13], "x": 12.5, "y": 4},
+        {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5}
+      ]
     },
 
     "LAYOUT_60_ansi_split_rshift": {
       "layout": [
-        {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0, "w":2}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, 
-        {"label":"Esc", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, 
-        {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, 
-        {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Alt", "x":1.25, "y":4, "w": 1.25}, {"label":"Gui", "x":2.5, "y":4, "w":1.25}, {"label": "Space", "x":3.75, "y":4, "w":6.25}, {"label":"Fn", "x":10, "y":4, "w":1.25}, {"label":"Gui", "x":11.25, "y":4, "w": 1.25}, {"label":"Alt", "x":12.5, "y":4, "w": 1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
       ]
     },
 
     "LAYOUT_60_ansi_tsangan_split_rshift": {
       "layout": [
-        {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label": "Bksp", "x":13, "y":0, "w":2}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, 
-        {"label":"Esc", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, 
-        {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label": "Alt Gr", "x":14, "y":3}, 
-        {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4}, {"label":"GUI", "x":2.5, "y":4, "w":1.5}, {"label":"space", "x":4, "y":4, "w":7}, {"label":"Fn", "x":11, "y":4, "w":1.5}, {"label":"Alt", "x":12.5, "y":4}, {"label":"GUI", "x":13.5, "y":4, "w": 1.5}
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+        {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+        {"matrix": [4, 13], "x": 12.5, "y": 4},
+        {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5}
       ]
     },
 
     "LAYOUT_60_hhkb": {
       "layout": [
-        {"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, 
-        {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":13.5, "y":1, "w":1.5}, 
-        {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, 
-        {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, 
-        {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [0, 14], "x": 14, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+        {"matrix": [1, 2], "x": 1.5, "y": 1},
+        {"matrix": [1, 3], "x": 2.5, "y": 1},
+        {"matrix": [1, 4], "x": 3.5, "y": 1},
+        {"matrix": [1, 5], "x": 4.5, "y": 1},
+        {"matrix": [1, 6], "x": 5.5, "y": 1},
+        {"matrix": [1, 7], "x": 6.5, "y": 1},
+        {"matrix": [1, 8], "x": 7.5, "y": 1},
+        {"matrix": [1, 9], "x": 8.5, "y": 1},
+        {"matrix": [1, 10], "x": 9.5, "y": 1},
+        {"matrix": [1, 11], "x": 10.5, "y": 1},
+        {"matrix": [1, 12], "x": 11.5, "y": 1},
+        {"matrix": [1, 13], "x": 12.5, "y": 1},
+        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2},
+        {"matrix": [2, 11], "x": 10.75, "y": 2},
+        {"matrix": [2, 12], "x": 11.75, "y": 2},
+        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+        {"matrix": [3, 7], "x": 7.25, "y": 3},
+        {"matrix": [3, 8], "x": 8.25, "y": 3},
+        {"matrix": [3, 9], "x": 9.25, "y": 3},
+        {"matrix": [3, 10], "x": 10.25, "y": 3},
+        {"matrix": [3, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+        {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+        {"matrix": [4, 13], "x": 12.5, "y": 4}
+      ]
     }
   }
 }
diff --git a/keyboards/40percentclub/ut47/info.json b/keyboards/40percentclub/ut47/info.json
index 055db80471..668f277f40 100644
--- a/keyboards/40percentclub/ut47/info.json
+++ b/keyboards/40percentclub/ut47/info.json
@@ -12,7 +12,58 @@
   "bootloader": "caterina",
   "layouts": {
     "LAYOUT": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.5}, {"label":"LT(3) / Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2, "w":1.5}, {"label":"Z", "x":1.5, "y":2}, {"label":"X", "x":2.5, "y":2}, {"label":"C", "x":3.5, "y":2}, {"label":"V", "x":4.5, "y":2}, {"label":"B", "x":5.5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":"<", "x":8.5, "y":2}, {"label":">", "x":9.5, "y":2}, {"label":"?", "x":10.5, "y":2}, {"label":"Shift / Enter", "x":11.5, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Alt", "x":1, "y":3}, {"label":"GUI", "x":2, "y":3}, {"label":"Menu", "x":3, "y":3}, {"label":"MO(2)", "x":4, "y":3, "w":1.25}, {"x":5.25, "y":3, "w":2}, {"label":"MO(1)", "x":7.25, "y":3, "w":1.25}, {"label":"\u2190", "x":8.5, "y":3}, {"label":"\u2193", "x":9.5, "y":3}, {"label":"\u2191", "x":10.5, "y":3}, {"label":"\u2192", "x":11.5, "y":3}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.5},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+        {"matrix": [1, 1], "x": 1.25, "y": 1},
+        {"matrix": [1, 2], "x": 2.25, "y": 1},
+        {"matrix": [1, 3], "x": 3.25, "y": 1},
+        {"matrix": [1, 4], "x": 4.25, "y": 1},
+        {"matrix": [1, 5], "x": 5.25, "y": 1},
+        {"matrix": [1, 6], "x": 6.25, "y": 1},
+        {"matrix": [1, 7], "x": 7.25, "y": 1},
+        {"matrix": [1, 8], "x": 8.25, "y": 1},
+        {"matrix": [1, 9], "x": 9.25, "y": 1},
+        {"matrix": [1, 10], "x": 10.25, "y": 1},
+        {"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.25},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2},
+        {"matrix": [2, 2], "x": 2.5, "y": 2},
+        {"matrix": [2, 3], "x": 3.5, "y": 2},
+        {"matrix": [2, 4], "x": 4.5, "y": 2},
+        {"matrix": [2, 5], "x": 5.5, "y": 2},
+        {"matrix": [2, 6], "x": 6.5, "y": 2},
+        {"matrix": [2, 7], "x": 7.5, "y": 2},
+        {"matrix": [2, 8], "x": 8.5, "y": 2},
+        {"matrix": [2, 9], "x": 9.5, "y": 2},
+        {"matrix": [2, 10], "x": 10.5, "y": 2},
+        {"matrix": [2, 11], "x": 11.5, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3},
+        {"matrix": [3, 1], "x": 1, "y": 3},
+        {"matrix": [3, 2], "x": 2, "y": 3},
+        {"matrix": [3, 3], "x": 3, "y": 3},
+        {"matrix": [3, 4], "x": 4, "y": 3, "w": 1.25},
+        {"matrix": [3, 5], "x": 5.25, "y": 3, "w": 2},
+        {"matrix": [3, 7], "x": 7.25, "y": 3, "w": 1.25},
+        {"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}
+      ]
     }
   }
 }
diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c
index 9d46a4679d..d5675e1047 100644
--- a/keyboards/40percentclub/ut47/ut47.c
+++ b/keyboards/40percentclub/ut47/ut47.c
@@ -13,7 +13,7 @@
  * 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 "ut47.h"
+#include "quantum.h"
 #ifdef LED_ENABLE
   #include "uart.h"
 
diff --git a/keyboards/40percentclub/ut47/ut47.h b/keyboards/40percentclub/ut47/ut47.h
deleted file mode 100644
index f595d3a458..0000000000
--- a/keyboards/40percentclub/ut47/ut47.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2018 Carlos Filoteo
- *
- * 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
-
-#include "quantum.h"
-
-#define LAYOUT( \
-  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \
-  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, \
-  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, \
-  K30, K31, K32, K33, K34,    K35,   K37, K38, K39, K3a, K3b  \
-) \
-  { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b }, \
-    { K30, K31, K32, K33, K34, K35, K35, K37, K38, K39, K3a, K3b }  \
-  }
diff --git a/keyboards/converter/a1200/a1200.h b/keyboards/converter/a1200/a1200.h
deleted file mode 100644
index 3f7defb244..0000000000
--- a/keyboards/converter/a1200/a1200.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2021 8bits4ever
- *
- * 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
-
-#define _x_ KC_NO
-
-#include "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- * The first section contains "names" for physical keys of the keyboard
- * and defines their position on the board.
- * The second section defines position of the keys on the switch matrix 
- * (where COLUMNS and ROWS crosses). */
-
-#define LAYOUT( \
-    K5A,      K5B, K5C, K5D, K5E, K5F,      K5G, K5H, K5I, K5J, K5K,    \
-    \
-    K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N,K4O,    K4P, K4Q,       K4R, K4S, K4T, K4U, \
-    K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M,                             K3R, K3S, K3T, K3U, \
-    K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O,       K2P,        K2Q, K2R, K2S, K2T, \
-    K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L,      K1M,       K0F, K0G, K0H,   K1O, K1P, K1Q, K1R, \
-    K0A,      K0B,                K0C,                     K0D,      K0E,                        K0I,      K0J \
-) \
-{ \
-/* "Q" */ { K3A,   K3B,   K3C,   K3D,   K3E,   K3F,  K3G,   K3H,  K3I,   K3J,   K3K,   K3L,   K3M,  K2O,   K0F,   K1A }, \
-/* "A" */ { K2B,   K2C,   K2D,   K2E,   K2F,   K2G,  K2H,   K2I,  K2J,   K2K,   K2L,   K2M,   K2N,  K4P,   K0H,   K0B }, \
-/* "Z" */ { K1B,   K1C,   K1D,   K1E,   K1F,   K1G,  K1H,   K1I,  K1J,   K1K,   K1L,   K4O,   K0C,  K4O,   K0G,   K0A }, \
-/* PAD */ { K4U,   K2T,   K3T,   K2S,   K1Q,   K0J,  K3S,   K2R,  K1P,   K1R,   K3R,   K2Q,   K1O,  K0I,   K3U,   K1A }, \
-/* "1" */ { K4A,   K4B,   K4C,   K4D,   K4E,   K4F,  K4G,   K4H,  K4I,   K4J,   K4K,   K4L,   K4M,  K4N,   K2P,   K2A }, \
-/* 05 */  { _x_,   _x_,   _x_,   _x_,   _x_,   _x_,  _x_,   _x_,  _x_,   _x_,   _x_,   _x_,   _x_,  _x_,   _x_,   K1M }, \
-/* FN  */ { K5A,   K4R,   K5B,   K5C,   K5D,   K5E,  K5F,   K4S,  K5G,   K4T,   K5H,   K5I,   K5J,  K5K,   K4Q,   K0D }, \
-/* 07 */  { _x_,   _x_,   _x_,   _x_,   _x_,   _x_,  _x_,   _x_,  _x_,   _x_,   _x_,   _x_,   _x_,  _x_,   _x_,   K0E }, \
-}
-/*         A(15)  B(16)  C(17)  D(18)  E(19)  F(20) G(21)  H(22) I(23)  J(24)  K(25)  L(26)   M(27) N(28)  O(29)  P(30)       */
diff --git a/keyboards/converter/a1200/info.json b/keyboards/converter/a1200/info.json
index e889432474..ab269afe97 100644
--- a/keyboards/converter/a1200/info.json
+++ b/keyboards/converter/a1200/info.json
@@ -3,107 +3,118 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-            {"label":"Esc", "x":0, "y":0}, 
-            {"label":"F1", "x":2, "y":0}, 
-            {"label":"F2", "x":3, "y":0}, 
-            {"label":"F3", "x":4, "y":0}, 
-            {"label":"F4", "x":5, "y":0}, 
-            {"label":"F5", "x":6, "y":0}, 
-            {"label":"F6", "x":8, "y":0}, 
-            {"label":"F7", "x":9, "y":0}, 
-            {"label":"F8", "x":10, "y":0}, 
-            {"label":"F9", "x":11, "y":0}, 
-            {"label":"F10", "x":12, "y":0},
-             
-            {"label":"~", "x":0, "y":1.5}, 
-            {"label":"!", "x":1, "y":1.5}, 
-            {"label":"@", "x":2, "y":1.5}, 
-            {"label":"#", "x":3, "y":1.5}, 
-            {"label":"$", "x":4, "y":1.5}, 
-            {"label":"%", "x":5, "y":1.5}, 
-            {"label":"^", "x":6, "y":1.5}, 
-            {"label":"&", "x":7, "y":1.5}, 
-            {"label":"*", "x":8, "y":1.5}, 
-            {"label":"(", "x":9, "y":1.5}, 
-            {"label":")", "x":10, "y":1.5}, 
-            {"label":"_", "x":11, "y":1.5}, 
-            {"label":"+", "x":12, "y":1.5}, 
-            {"label":"`", "x":13, "y":1.5}, 
-            {"label":"Backspace", "x":14, "y":1.5}, 
-            {"label":"Del", "x":15.25, "y":1.5, "w":1.5}, 
-            {"label":"Help", "x":16.75, "y":1.5, "w":1.5}, 
-            {"label":"Num Lock", "x":18.5, "y":1.5}, 
-            {"label":"/", "x":19.5, "y":1.5}, 
-            {"label":"*", "x":20.5, "y":1.5}, 
-            {"label":"-", "x":21.5, "y":1.5}, 
-            
-            {"label":"Tab", "x":0, "y":2.5, "w":1.5}, 
-            {"label":"Q", "x":1.5, "y":2.5}, 
-            {"label":"W", "x":2.5, "y":2.5}, 
-            {"label":"E", "x":3.5, "y":2.5}, 
-            {"label":"R", "x":4.5, "y":2.5}, 
-            {"label":"T", "x":5.5, "y":2.5}, 
-            {"label":"Y", "x":6.5, "y":2.5}, 
-            {"label":"U", "x":7.5, "y":2.5}, 
-            {"label":"I", "x":8.5, "y":2.5}, 
-            {"label":"O", "x":9.5, "y":2.5}, 
-            {"label":"P", "x":10.5, "y":2.5}, 
-            {"label":"{", "x":11.5, "y":2.5}, 
-            {"label":"}", "x":12.5, "y":2.5}, 
-            {"label":"7", "x":18.5, "y":2.5}, 
-            {"label":"8", "x":19.5, "y":2.5}, 
-            {"label":"9", "x":20.5, "y":2.5}, 
-            {"label":"+", "x":21.5, "y":2.5},
-             
-            {"label":"CTRL", "x":0, "y":3.5}, 
-            {"label":"Caps Lock", "x":1, "y":3.5}, 
-            {"label":"A", "x":2, "y":3.5}, 
-            {"label":"S", "x":3, "y":3.5}, 
-            {"label":"D", "x":4, "y":3.5}, 
-            {"label":"F", "x":5, "y":3.5}, 
-            {"label":"G", "x":6, "y":3.5}, 
-            {"label":"H", "x":7, "y":3.5}, 
-            {"label":"J", "x":8, "y":3.5}, 
-            {"label":"K", "x":9, "y":3.5}, 
-            {"label":"L", "x":10, "y":3.5}, 
-            {"label":":", "x":11, "y":3.5}, 
-            {"label":"\"", "x":12, "y":3.5}, 
-            {"label":"~", "x":13, "y":3.5}, 
-            {"label":"Enter", "x":14, "y":2.5, "h":2}, 
-            {"label":"\u2191", "x":16.25, "y":3.5}, 
-            {"label":"4", "x":18.5, "y":3.5}, 
-            {"label":"5", "x":19.5, "y":3.5}, 
-            {"label":"6", "x":20.5, "y":3.5}, 
-            {"label":"+", "x":21.5, "y":3.5},
-            
-            {"label":"Shift", "x":0, "y":4.5, "w":1.25}, 
-            {"label":"|", "x":1.25, "y":4.5}, 
-            {"label":"Z", "x":2.25, "y":4.5}, 
-            {"label":"X", "x":3.25, "y":4.5}, 
-            {"label":"C", "x":4.25, "y":4.5}, 
-            {"label":"V", "x":5.25, "y":4.5}, 
-            {"label":"B", "x":6.25, "y":4.5}, 
-            {"label":"N", "x":7.25, "y":4.5}, 
-            {"label":"M", "x":8.25, "y":4.5}, 
-            {"label":"<", "x":9.25, "y":4.5}, 
-            {"label":">", "x":10.25, "y":4.5}, 
-            {"label":"?", "x":11.25, "y":4.5}, 
-            {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, 
-            {"label":"\u2190", "x":15.25, "y":4.5}, 
-            {"label":"\u2193", "x":16.25, "y":4.5}, 
-            {"label":"\u2192", "x":17.25, "y":4.5}, 
-            {"label":"1", "x":18.5, "y":4.5}, 
-            {"label":"2", "x":19.5, "y":4.5}, 
-            {"label":"3", "x":20.5, "y":4.5}, 
-            {"label":"Enter", "x":21.5, "y":4.5, "h":2}, 
-            
-            {"label":"Alt", "x":1, "y":5.5, "w":1.5}, 
-            {"label":"Amiga", "x":2.5, "y":5.5, "w":1.5}, 
-            {"label":"Space", "x":4, "y":5.5, "w":7}, 
-            {"label":"Amiga", "x":11, "y":5.5, "w":1.5}, 
-            {"label":"Alt", "x":12.5, "y":5.5, "w":1.5}, 
-            {"label":"0", "x":18.5, "y":5.5, "w":2}, 
-            {"label":".", "x":20.5, "y":5.5}]
+                {"matrix": [6, 0], "x": 0, "y": 0},
+
+                {"matrix": [6, 2], "x": 2, "y": 0},
+                {"matrix": [6, 3], "x": 3, "y": 0},
+                {"matrix": [6, 4], "x": 4, "y": 0},
+                {"matrix": [6, 5], "x": 5, "y": 0},
+                {"matrix": [6, 6], "x": 6, "y": 0},
+
+                {"matrix": [6, 8], "x": 8, "y": 0},
+                {"matrix": [6, 10], "x": 9, "y": 0},
+                {"matrix": [6, 11], "x": 10, "y": 0},
+                {"matrix": [6, 12], "x": 11, "y": 0},
+                {"matrix": [6, 13], "x": 12, "y": 0},
+
+                {"matrix": [4, 0], "x": 0, "y": 1.5},
+                {"matrix": [4, 1], "x": 1, "y": 1.5},
+                {"matrix": [4, 2], "x": 2, "y": 1.5},
+                {"matrix": [4, 3], "x": 3, "y": 1.5},
+                {"matrix": [4, 4], "x": 4, "y": 1.5},
+                {"matrix": [4, 5], "x": 5, "y": 1.5},
+                {"matrix": [4, 6], "x": 6, "y": 1.5},
+                {"matrix": [4, 7], "x": 7, "y": 1.5},
+                {"matrix": [4, 8], "x": 8, "y": 1.5},
+                {"matrix": [4, 9], "x": 9, "y": 1.5},
+                {"matrix": [4, 10], "x": 10, "y": 1.5},
+                {"matrix": [4, 11], "x": 11, "y": 1.5},
+                {"matrix": [4, 12], "x": 12, "y": 1.5},
+                {"matrix": [4, 13], "x": 13, "y": 1.5},
+                {"matrix": [2, 11], "x": 14, "y": 1.5},
+
+                {"matrix": [1, 13], "x": 15.25, "y": 1.5, "w": 1.5},
+                {"matrix": [6, 14], "x": 16.75, "y": 1.5, "w": 1.5},
+
+                {"matrix": [6, 1], "x": 18.5, "y": 1.5},
+                {"matrix": [6, 7], "x": 19.5, "y": 1.5},
+                {"matrix": [6, 9], "x": 20.5, "y": 1.5},
+                {"matrix": [3, 0], "x": 21.5, "y": 1.5},
+
+                {"matrix": [0, 0], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [0, 1], "x": 1.5, "y": 2.5},
+                {"matrix": [0, 2], "x": 2.5, "y": 2.5},
+                {"matrix": [0, 3], "x": 3.5, "y": 2.5},
+                {"matrix": [0, 4], "x": 4.5, "y": 2.5},
+                {"matrix": [0, 5], "x": 5.5, "y": 2.5},
+                {"matrix": [0, 6], "x": 6.5, "y": 2.5},
+                {"matrix": [0, 7], "x": 7.5, "y": 2.5},
+                {"matrix": [0, 8], "x": 8.5, "y": 2.5},
+                {"matrix": [0, 9], "x": 9.5, "y": 2.5},
+                {"matrix": [0, 10], "x": 10.5, "y": 2.5},
+                {"matrix": [0, 11], "x": 11.5, "y": 2.5},
+                {"matrix": [0, 12], "x": 12.5, "y": 2.5},
+
+                {"matrix": [3, 10], "x": 18.5, "y": 2.5},
+                {"matrix": [3, 6], "x": 19.5, "y": 2.5},
+                {"matrix": [3, 2], "x": 20.5, "y": 2.5},
+                {"matrix": [3, 14], "x": 21.5, "y": 2.5},
+
+                {"matrix": [4, 15], "x": 0, "y": 3.5},
+                {"matrix": [1, 0], "x": 1, "y": 3.5},
+                {"matrix": [1, 1], "x": 2, "y": 3.5},
+                {"matrix": [1, 2], "x": 3, "y": 3.5},
+                {"matrix": [1, 3], "x": 4, "y": 3.5},
+                {"matrix": [1, 4], "x": 5, "y": 3.5},
+                {"matrix": [1, 5], "x": 6, "y": 3.5},
+                {"matrix": [1, 6], "x": 7, "y": 3.5},
+                {"matrix": [1, 7], "x": 8, "y": 3.5},
+                {"matrix": [1, 8], "x": 9, "y": 3.5},
+                {"matrix": [1, 9], "x": 10, "y": 3.5},
+                {"matrix": [1, 10], "x": 11, "y": 3.5},
+                {"matrix": [1, 11], "x": 12, "y": 3.5},
+                {"matrix": [1, 12], "x": 13, "y": 3.5},
+                {"matrix": [0, 13], "x": 14, "y": 2.5, "h": 2},
+
+                {"matrix": [4, 14], "x": 16.25, "y": 3.5},
+
+                {"matrix": [3, 11], "x": 18.5, "y": 3.5},
+                {"matrix": [3, 7], "x": 19.5, "y": 3.5},
+                {"matrix": [3, 3], "x": 20.5, "y": 3.5},
+                {"matrix": [3, 1], "x": 21.5, "y": 3.5},
+
+                {"matrix": [3, 15], "x": 0, "y": 4.5, "w": 1.25},
+                {"matrix": [2, 0], "x": 1.25, "y": 4.5},
+                {"matrix": [2, 1], "x": 2.25, "y": 4.5},
+                {"matrix": [2, 2], "x": 3.25, "y": 4.5},
+                {"matrix": [2, 3], "x": 4.25, "y": 4.5},
+                {"matrix": [2, 4], "x": 5.25, "y": 4.5},
+                {"matrix": [2, 5], "x": 6.25, "y": 4.5},
+                {"matrix": [2, 6], "x": 7.25, "y": 4.5},
+                {"matrix": [2, 7], "x": 8.25, "y": 4.5},
+                {"matrix": [2, 8], "x": 9.25, "y": 4.5},
+                {"matrix": [2, 9], "x": 10.25, "y": 4.5},
+                {"matrix": [2, 10], "x": 11.25, "y": 4.5},
+                {"matrix": [5, 15], "x": 12.25, "y": 4.5, "w": 2.75},
+
+                {"matrix": [0, 14], "x": 15.25, "y": 4.5},
+                {"matrix": [2, 14], "x": 16.25, "y": 4.5},
+                {"matrix": [1, 14], "x": 17.25, "y": 4.5},
+
+                {"matrix": [3, 12], "x": 18.5, "y": 4.5},
+                {"matrix": [3, 8], "x": 19.5, "y": 4.5},
+                {"matrix": [3, 4], "x": 20.5, "y": 4.5},
+                {"matrix": [3, 9], "x": 21.5, "y": 4.5, "h": 2},
+
+                {"matrix": [2, 15], "x": 1, "y": 5.5, "w": 1.5},
+                {"matrix": [1, 15], "x": 2.5, "y": 5.5, "w": 1.5},
+                {"matrix": [2, 12], "x": 4, "y": 5.5, "w": 7},
+                {"matrix": [6, 15], "x": 11, "y": 5.5, "w": 1.5},
+                {"matrix": [7, 15], "x": 12.5, "y": 5.5, "w": 1.5},
+
+                {"matrix": [3, 13], "x": 18.5, "y": 5.5, "w": 2},
+                {"matrix": [3, 5], "x": 20.5, "y": 5.5}
+            ]
         }
     }
 }
diff --git a/keyboards/converter/hp_46010a/hp_46010a.h b/keyboards/converter/hp_46010a/hp_46010a.h
index fd5adfc639..86fb3806f0 100644
--- a/keyboards/converter/hp_46010a/hp_46010a.h
+++ b/keyboards/converter/hp_46010a/hp_46010a.h
@@ -54,7 +54,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     {KEY_Y,     KEY_T,    KEY_R,    KEY_E,    KEY_W,    KEY_Q,    KEY_TAB,  KEY_U    }, \
     {KEY_RES,   KEY_F,    KEY_D,    KEY_S,    KEY_A,    KC_NO,    KEY_2,    KEY_H    }, \
     {KEY_P7,    KEY_P4,   KEY_P8,   KEY_P5,   KEY_P9,   KEY_P6,   KEY_PADE, KEY_PCOM }, \
-    {KEY_MULT,  KEY_P1,   KEY_DIV,  KEY_P2,   KEY_PLUS, KEY_P3,   KEY_MINU, KEY_PTAB }, \
+    {KEY_MULT,  KEY_P1,   KEY_DIV,  KEY_P2,   KEY_ADD,  KEY_P3,   KEY_SUBT, KEY_PTAB }, \
     {KEY_B1,    KEY_P0,   KEY_B2,   KC_NO,    KEY_B3,   KEY_PDOT, KEY_B4,   KC_NO    }, \
     {KEY_B,     KEY_V,    KEY_C,    KEY_X,    KEY_Z,    KEY_PRNT, KEY_DELE, KEY_N    }, \
 }
diff --git a/keyboards/handwired/ddg_56/ddg_56.h b/keyboards/handwired/ddg_56/ddg_56.h
deleted file mode 100644
index dd0c78bea0..0000000000
--- a/keyboards/handwired/ddg_56/ddg_56.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2019 Spaceman
- *
- * 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
-
-#include "quantum.h"
-#define LAYOUT( \
-     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,     k0D, k1D, \
-     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,     k2D, k3D, \
-     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \
-     k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,        k4B, \
-               k41, k42, k43, k44, k45, k46, k47, k48, k49,             k4A, k4C, k4D \
-) \
-{ \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D }, \
-    { k30, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D } \
-}
diff --git a/keyboards/handwired/ddg_56/info.json b/keyboards/handwired/ddg_56/info.json
index a6407d262d..2a0f5df409 100644
--- a/keyboards/handwired/ddg_56/info.json
+++ b/keyboards/handwired/ddg_56/info.json
@@ -25,11 +25,80 @@
   "layouts": {
       "LAYOUT": {
           "layout": [
-            {"x":0, "y":0.25}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":14, "y":1}, {"x":15, "y":1},
-            {"x":0, "y":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":14, "y":2}, {"x":15, "y":2},
-            {"x":0, "y":2.25}, {"x":1.25, "y":2}, {"x":2.25, "y":2}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2},
-            {"x":0, "y":3.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3},
-            {"x":14.5, "y":3.25}, {"x":1.3333, "y":4, "w":1.5}, {"x":2.8333, "y":4}, {"x":3.8333, "y":4, "w":1.25}, {"x":5.0833, "y":4}, {"x":6.0833, "y":4, "w":2.25}, {"x":8.3333, "y":4}, {"x":9.3333, "y":4, "w":1.25}, {"x":10.5833, "y":4}, {"x":11.5833, "y":4, "w":1.5}, {"x":13.5, "y":4.25}, {"x":14.5, "y":4.25}, {"x":15.5, "y":4.25}]
+            {"matrix": [0, 0], "x": 0, "y": 0.25},
+            {"matrix": [0, 1], "x": 1.25, "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": 14, "y": 1},
+            {"matrix": [1, 13], "x": 15, "y": 1},
+            {"matrix": [1, 0], "x": 0, "y": 1.25},
+            {"matrix": [1, 1], "x": 1.25, "y": 1},
+            {"matrix": [1, 2], "x": 2.25, "y": 1},
+            {"matrix": [1, 3], "x": 3.25, "y": 1},
+            {"matrix": [1, 4], "x": 4.25, "y": 1},
+            {"matrix": [1, 5], "x": 5.25, "y": 1},
+            {"matrix": [1, 6], "x": 6.25, "y": 1},
+            {"matrix": [1, 7], "x": 7.25, "y": 1},
+            {"matrix": [1, 8], "x": 8.25, "y": 1},
+            {"matrix": [1, 9], "x": 9.25, "y": 1},
+            {"matrix": [1, 10], "x": 10.25, "y": 1},
+            {"matrix": [1, 11], "x": 11.25, "y": 1},
+            {"matrix": [1, 12], "x": 12.25, "y": 1},
+
+            {"matrix": [2, 13], "x": 14, "y": 2},
+            {"matrix": [3, 13], "x": 15, "y": 2},
+            {"matrix": [2, 0], "x": 0, "y": 2.25},
+            {"matrix": [2, 1], "x": 1.25, "y": 2},
+            {"matrix": [2, 2], "x": 2.25, "y": 2},
+            {"matrix": [2, 3], "x": 3.25, "y": 2},
+            {"matrix": [2, 4], "x": 4.25, "y": 2},
+            {"matrix": [2, 5], "x": 5.25, "y": 2},
+            {"matrix": [2, 6], "x": 6.25, "y": 2},
+            {"matrix": [2, 7], "x": 7.25, "y": 2},
+            {"matrix": [2, 8], "x": 8.25, "y": 2},
+            {"matrix": [2, 9], "x": 9.25, "y": 2},
+            {"matrix": [2, 10], "x": 10.25, "y": 2},
+            {"matrix": [2, 11], "x": 11.25, "y": 2},
+            {"matrix": [2, 12], "x": 12.25, "y": 2},
+
+            {"matrix": [3, 0], "x": 0, "y": 3.25},
+            {"matrix": [3, 1], "x": 1.25, "y": 3},
+            {"matrix": [3, 2], "x": 2.25, "y": 3},
+            {"matrix": [3, 3], "x": 3.25, "y": 3},
+            {"matrix": [3, 4], "x": 4.25, "y": 3},
+            {"matrix": [3, 5], "x": 5.25, "y": 3},
+            {"matrix": [3, 6], "x": 6.25, "y": 3},
+            {"matrix": [3, 7], "x": 7.25, "y": 3},
+            {"matrix": [3, 8], "x": 8.25, "y": 3},
+            {"matrix": [3, 9], "x": 9.25, "y": 3},
+            {"matrix": [3, 10], "x": 10.25, "y": 3},
+            {"matrix": [3, 11], "x": 11.25, "y": 3},
+            {"matrix": [3, 12], "x": 12.25, "y": 3},
+            {"matrix": [4, 11], "x": 14.5, "y": 3.25},
+
+            {"matrix": [4, 1], "x": 1.3333, "y": 4, "w": 1.5},
+            {"matrix": [4, 2], "x": 2.8333, "y": 4},
+            {"matrix": [4, 3], "x": 3.8333, "y": 4, "w": 1.25},
+            {"matrix": [4, 4], "x": 5.0833, "y": 4},
+            {"matrix": [4, 5], "x": 6.0833, "y": 4, "w": 2.25},
+            {"matrix": [4, 6], "x": 8.3333, "y": 4},
+            {"matrix": [4, 7], "x": 9.3333, "y": 4, "w": 1.25},
+            {"matrix": [4, 8], "x": 10.5833, "y": 4},
+            {"matrix": [4, 9], "x": 11.5833, "y": 4, "w": 1.5},
+            {"matrix": [4, 10], "x": 13.5, "y": 4.25},
+            {"matrix": [4, 12], "x": 14.5, "y": 4.25},
+            {"matrix": [4, 13], "x": 15.5, "y": 4.25}
+          ]
       }
   }
 }
diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json
index 1b195973a3..7270e23172 100644
--- a/keyboards/handwired/uthol/info.json
+++ b/keyboards/handwired/uthol/info.json
@@ -12,243 +12,69 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {
-                    "x": 0,
-                    "y": 0
-                },
-                {
-                    "x": 1,
-                    "y": 0
-                },
-                {
-                    "x": 2,
-                    "y": 0
-                },
-                {
-                    "x": 3,
-                    "y": 0
-                },
-                {
-                    "x": 4,
-                    "y": 0
-                },
-                {
-                    "x": 5,
-                    "y": 0
-                },
-                {
-                    "x": 6,
-                    "y": 0
-                },
-                {
-                    "x": 7,
-                    "y": 0
-                },
-                {
-                    "x": 8,
-                    "y": 0
-                },
-                {
-                    "x": 9,
-                    "y": 0
-                },
-                {
-                    "x": 10,
-                    "y": 0
-                },
-                {
-                    "x": 11,
-                    "y": 0
-                },
-                {
-                    "x": 0,
-                    "y": 1
-                },
-                {
-                    "x": 1,
-                    "y": 1
-                },
-                {
-                    "x": 2,
-                    "y": 1
-                },
-                {
-                    "x": 3,
-                    "y": 1
-                },
-                {
-                    "x": 4,
-                    "y": 1
-                },
-                {
-                    "x": 5,
-                    "y": 1
-                },
-                {
-                    "x": 6,
-                    "y": 1
-                },
-                {
-                    "x": 7,
-                    "y": 1
-                },
-                {
-                    "x": 8,
-                    "y": 1
-                },
-                {
-                    "x": 9,
-                    "y": 1
-                },
-                {
-                    "x": 10,
-                    "y": 1
-                },
-                {
-                    "x": 11,
-                    "y": 1
-                },
-                {
-                    "x": 0,
-                    "y": 2
-                },
-                {
-                    "x": 1,
-                    "y": 2
-                },
-                {
-                    "x": 2,
-                    "y": 2
-                },
-                {
-                    "x": 3,
-                    "y": 2
-                },
-                {
-                    "x": 4,
-                    "y": 2
-                },
-                {
-                    "x": 5,
-                    "y": 2
-                },
-                {
-                    "x": 6,
-                    "y": 2
-                },
-                {
-                    "x": 7,
-                    "y": 2
-                },
-                {
-                    "x": 8,
-                    "y": 2
-                },
-                {
-                    "x": 9,
-                    "y": 2
-                },
-                {
-                    "x": 10,
-                    "y": 2
-                },
-                {
-                    "x": 11,
-                    "y": 2
-                },
-                {
-                    "x": 0,
-                    "y": 3
-                },
-                {
-                    "x": 1,
-                    "y": 3
-                },
-                {
-                    "x": 2,
-                    "y": 3
-                },
-                {
-                    "x": 3,
-                    "y": 3
-                },
-                {
-                    "x": 4,
-                    "y": 3
-                },
-                {
-                    "x": 5,
-                    "y": 3
-                },
-                {
-                    "x": 6,
-                    "y": 3
-                },
-                {
-                    "x": 7,
-                    "y": 3
-                },
-                {
-                    "x": 8,
-                    "y": 3
-                },
-                {
-                    "x": 9,
-                    "y": 3
-                },
-                {
-                    "x": 10,
-                    "y": 3
-                },
-                {
-                    "x": 11,
-                    "y": 3
-                },
-                {
-                    "x": 0,
-                    "y": 4
-                },
-                {
-                    "x": 1,
-                    "y": 4
-                },
-                {
-                    "x": 2,
-                    "y": 4
-                },
-                {
-                    "x": 3,
-                    "y": 4
-                },
-                {
-                    "x": 4,
-                    "y": 4
-                },
-                {
-                    "x": 5,
-                    "y": 4,
-                    "w": 2
-                },
-                {
-                    "x": 7,
-                    "y": 4
-                },
-                {
-                    "x": 8,
-                    "y": 4
-                },
-                {
-                    "x": 9,
-                    "y": 4
-                },
-                {
-                    "x": 10,
-                    "y": 4
-                },
-                {
-                    "x": 11,
-                    "y": 4
-                }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1},
+                {"matrix": [1, 6], "x": 6, "y": 1},
+                {"matrix": [1, 7], "x": 7, "y": 1},
+                {"matrix": [1, 8], "x": 8, "y": 1},
+                {"matrix": [1, 9], "x": 9, "y": 1},
+                {"matrix": [1, 10], "x": 10, "y": 1},
+                {"matrix": [1, 11], "x": 11, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2},
+                {"matrix": [2, 4], "x": 4, "y": 2},
+                {"matrix": [2, 5], "x": 5, "y": 2},
+                {"matrix": [2, 6], "x": 6, "y": 2},
+                {"matrix": [2, 7], "x": 7, "y": 2},
+                {"matrix": [2, 8], "x": 8, "y": 2},
+                {"matrix": [2, 9], "x": 9, "y": 2},
+                {"matrix": [2, 10], "x": 10, "y": 2},
+                {"matrix": [2, 11], "x": 11, "y": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3},
+                {"matrix": [3, 6], "x": 6, "y": 3},
+                {"matrix": [3, 7], "x": 7, "y": 3},
+                {"matrix": [3, 8], "x": 8, "y": 3},
+                {"matrix": [3, 9], "x": 9, "y": 3},
+                {"matrix": [3, 10], "x": 10, "y": 3},
+                {"matrix": [3, 11], "x": 11, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2, "y": 4},
+                {"matrix": [4, 3], "x": 3, "y": 4},
+                {"matrix": [4, 4], "x": 4, "y": 4},
+                {"matrix": [4, 5], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 7], "x": 7, "y": 4},
+                {"matrix": [4, 8], "x": 8, "y": 4},
+                {"matrix": [4, 9], "x": 9, "y": 4},
+                {"matrix": [4, 10], "x": 10, "y": 4},
+                {"matrix": [4, 11], "x": 11, "y": 4}
             ]
         }
     }
diff --git a/keyboards/handwired/uthol/uthol.h b/keyboards/handwired/uthol/uthol.h
deleted file mode 100644
index 6130f7f1b2..0000000000
--- a/keyboards/handwired/uthol/uthol.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2022 Uthol
- *
- * 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
-
-#include "quantum.h"
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
-    k40, k41, k42, k43, k44,    k45,   k47, k48, k49, k4a, k4b \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
-    { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
-}
diff --git a/keyboards/handwired/wabi/info.json b/keyboards/handwired/wabi/info.json
index 6f9fb6cb93..1baea8b6ac 100644
--- a/keyboards/handwired/wabi/info.json
+++ b/keyboards/handwired/wabi/info.json
@@ -17,6 +17,77 @@
     "bootloader": "atmel-dfu",
     "layouts": {
         "LAYOUT": {
-            "layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1", "x":2.25, "y":0}, {"label":"2", "x":3.25, "y":0}, {"label":"3", "x":4.25, "y":0}, {"label":"4", "x":5.25, "y":0}, {"label":"5", "x":6.25, "y":0}, {"label":"6", "x":8.75, "y":0}, {"label":"7", "x":9.75, "y":0}, {"label":"8", "x":10.75, "y":0}, {"label":"9", "x":11.75, "y":0}, {"label":"0", "x":12.75, "y":0}, {"label":"-", "x":13.75, "y":0}, {"label":"=", "x":14.75, "y":0}, {"label":"Backspace", "x":15.75, "y":0, "w":2}, {"label":"Tab", "x":0.75, "y":1, "w":1.5}, {"label":"Q", "x":2.25, "y":1}, {"label":"W", "x":3.25, "y":1}, {"label":"E", "x":4.25, "y":1}, {"label":"R", "x":5.25, "y":1}, {"label":"T", "x":6.25, "y":1}, {"label":"Y", "x":8.75, "y":1}, {"label":"U", "x":9.75, "y":1}, {"label":"I", "x":10.75, "y":1}, {"label":"O", "x":11.75, "y":1}, {"label":"P", "x":12.75, "y":1}, {"label":"[", "x":13.75, "y":1}, {"label":"]", "x":14.75, "y":1}, {"label":"\\", "x":15.75, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.5, "y":2, "w":1.75}, {"label":"A", "x":2.25, "y":2}, {"label":"S", "x":3.25, "y":2}, {"label":"D", "x":4.25, "y":2}, {"label":"F", "x":5.25, "y":2}, {"label":"G", "x":6.25, "y":2}, {"label":"H", "x":8.75, "y":2}, {"label":"J", "x":9.75, "y":2}, {"label":"K", "x":10.75, "y":2}, {"label":"L", "x":11.75, "y":2}, {"label":";", "x":12.75, "y":2}, {"label":"'", "x":13.75, "y":2}, {"label":"Enter", "x":14.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Up", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":4, "y":4, "w":1.25}, {"label":"Space", "x":5.25, "y":4}, {"label":"Page Down", "x":6.25, "y":4, "w":1.25}, {"label":"Enter", "x":8.5, "y":4, "w":1.25}, {"label":"Space", "x":9.75, "y":4}, {"label":"Backspace", "x":10.75, "y":4, "w":1.25}, {"label":"Left", "x":15.5, "y":4}, {"label":"Down", "x":16.5, "y":4}, {"label":"Right", "x":17.5, "y":4}]        }
+            "layout": [
+                {"matrix": [0, 0], "x": 1.25, "y": 0},
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 8.75, "y": 0},
+                {"matrix": [0, 7], "x": 9.75, "y": 0},
+                {"matrix": [0, 8], "x": 10.75, "y": 0},
+                {"matrix": [0, 9], "x": 11.75, "y": 0},
+                {"matrix": [0, 10], "x": 12.75, "y": 0},
+                {"matrix": [0, 11], "x": 13.75, "y": 0},
+                {"matrix": [0, 12], "x": 14.75, "y": 0},
+                {"matrix": [0, 13], "x": 15.75, "y": 0, "w": 2},
+
+                {"matrix": [1, 0], "x": 0.75, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 2.25, "y": 1},
+                {"matrix": [1, 2], "x": 3.25, "y": 1},
+                {"matrix": [1, 3], "x": 4.25, "y": 1},
+                {"matrix": [1, 4], "x": 5.25, "y": 1},
+                {"matrix": [1, 5], "x": 6.25, "y": 1},
+                {"matrix": [1, 6], "x": 8.75, "y": 1},
+                {"matrix": [1, 7], "x": 9.75, "y": 1},
+                {"matrix": [1, 8], "x": 10.75, "y": 1},
+                {"matrix": [1, 9], "x": 11.75, "y": 1},
+                {"matrix": [1, 10], "x": 12.75, "y": 1},
+                {"matrix": [1, 11], "x": 13.75, "y": 1},
+                {"matrix": [1, 12], "x": 14.75, "y": 1},
+                {"matrix": [1, 13], "x": 15.75, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 0], "x": 0.5, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [2, 2], "x": 3.25, "y": 2},
+                {"matrix": [2, 3], "x": 4.25, "y": 2},
+                {"matrix": [2, 4], "x": 5.25, "y": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 2},
+                {"matrix": [2, 6], "x": 8.75, "y": 2},
+                {"matrix": [2, 7], "x": 9.75, "y": 2},
+                {"matrix": [2, 8], "x": 10.75, "y": 2},
+                {"matrix": [2, 9], "x": 11.75, "y": 2},
+                {"matrix": [2, 10], "x": 12.75, "y": 2},
+                {"matrix": [2, 11], "x": 13.75, "y": 2},
+                {"matrix": [2, 12], "x": 14.75, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 1], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [3, 3], "x": 4.25, "y": 3},
+                {"matrix": [3, 4], "x": 5.25, "y": 3},
+                {"matrix": [3, 5], "x": 6.25, "y": 3},
+                {"matrix": [3, 6], "x": 8.75, "y": 3},
+                {"matrix": [3, 7], "x": 9.75, "y": 3},
+                {"matrix": [3, 8], "x": 10.75, "y": 3},
+                {"matrix": [3, 9], "x": 11.75, "y": 3},
+                {"matrix": [3, 10], "x": 12.75, "y": 3},
+                {"matrix": [3, 11], "x": 13.75, "y": 3, "w": 2.75},
+                {"matrix": [3, 13], "x": 16.5, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 4, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5.25, "y": 4},
+                {"matrix": [4, 5], "x": 6.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 6], "x": 8.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 7], "x": 9.75, "y": 4},
+                {"matrix": [4, 8], "x": 10.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 15.5, "y": 4},
+                {"matrix": [4, 12], "x": 16.5, "y": 4},
+                {"matrix": [4, 13], "x": 17.5, "y": 4}
+            ]
+        }
     }
 }
diff --git a/keyboards/handwired/wabi/wabi.h b/keyboards/handwired/wabi/wabi.h
deleted file mode 100644
index 87b679efad..0000000000
--- a/keyboards/handwired/wabi/wabi.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2020 Ross Montsinger
- *
- * 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
-
-#include "quantum.h"
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
-    K40, K41,      K43, K44, K45, K46, K47, K48,           K4B, K4C, K4D \
-    ) { \
-  { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-  { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-  { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
-  { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
-  { K40, K41, K41, K43, K44, K45, K46, K47, K48, K48, K48, K4B, K4C, K4D } \
-}
diff --git a/keyboards/jian/handwired/handwired.c b/keyboards/jian/handwired/handwired.c
index 2c14518299..f803394c74 100644
--- a/keyboards/jian/handwired/handwired.c
+++ b/keyboards/jian/handwired/handwired.c
@@ -1,4 +1,4 @@
-#include "handwired.h"
+#include "quantum.h"
 
 const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
   {{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
diff --git a/keyboards/jian/handwired/handwired.h b/keyboards/jian/handwired/handwired.h
deleted file mode 100644
index 7d961690d2..0000000000
--- a/keyboards/jian/handwired/handwired.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-#define LAYOUT( \
-  L00, L01, L02, L03, L04, L05, L06,    R06, R05, R04, R03, R02, R01, R00, \
-       L11, L12, L13, L14, L15, L16,    R16, R15, R14, R13, R12, R11, \
-       L21, L22, L23, L24, L25, L26,    R26, R25, R24, R23, R22, R21, \
-                      L34, L35, L36,    R36, R35, R34 \
-) \
-{ \
-  {L00, L01, L02, L03, L04, L05, L06,   R06, R05, R04, R03, R02, R01, R00}, \
-  {XXX, L11, L12, L13, L14, L15, L16,   R16, R15, R14, R13, R12, R11, XXX}, \
-  {XXX, L21, L22, L23, L24, L25, L26,   R26, R25, R24, R23, R22, R21, XXX}, \
-  {XXX, XXX, XXX, XXX, L34, L35, L36,   R36, R35, R34, XXX, XXX, XXX, XXX} \
-}
-
-#define LAYOUT_symmetric( \
-  K00, K01, K02, K03, K04, K05, K06, \
-       K11, K12, K13, K14, K15, K16, \
-       K21, K22, K23, K24, K25, K26, \
-                      K34, K35, K36 \
-) \
-{ \
-  {K00, K01, K02, K03, K04, K05, K06,   K06, K05, K04, K03, K02, K01, K00}, \
-  {XXX, K11, K12, K13, K14, K15, K16,   K16, K15, K14, K13, K12, K11, XXX}, \
-  {XXX, K21, K22, K23, K24, K25, K26,   K26, K25, K24, K23, K22, K21, XXX}, \
-  {XXX, XXX, XXX, XXX, K34, K35, K36,   K36, K35, K34, XXX, XXX, XXX, XXX} \
-}
diff --git a/keyboards/jian/handwired/info.json b/keyboards/jian/handwired/info.json
index bd76da9e96..dc68963b6b 100644
--- a/keyboards/jian/handwired/info.json
+++ b/keyboards/jian/handwired/info.json
@@ -9,5 +9,62 @@
     },
     "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
-    "bootloader": "caterina"
+    "bootloader": "caterina",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 1.5},
+                {"matrix": [0, 1], "x": 1, "y": 0.75},
+                {"matrix": [0, 2], "x": 2, "y": 0.625},
+                {"matrix": [0, 3], "x": 3, "y": 0.25},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0.25},
+                {"matrix": [0, 6], "x": 6, "y": 0.375},
+
+                {"matrix": [0, 7], "x": 10, "y": 0.375},
+                {"matrix": [0, 8], "x": 11, "y": 0.25},
+                {"matrix": [0, 9], "x": 12, "y": 0},
+                {"matrix": [0, 10], "x": 13, "y": 0.25},
+                {"matrix": [0, 11], "x": 14, "y": 0.625},
+                {"matrix": [0, 12], "x": 15, "y": 0.75},
+                {"matrix": [0, 13], "x": 16, "y": 1.5},
+
+                {"matrix": [1, 1], "x": 1, "y": 1.75},
+                {"matrix": [1, 2], "x": 2, "y": 1.625},
+                {"matrix": [1, 3], "x": 3, "y": 1.25},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1.25},
+                {"matrix": [1, 6], "x": 6, "y": 1.375},
+
+                {"matrix": [1, 7], "x": 10, "y": 1.375},
+                {"matrix": [1, 8], "x": 11, "y": 1.25},
+                {"matrix": [1, 9], "x": 12, "y": 1},
+                {"matrix": [1, 10], "x": 13, "y": 1.25},
+                {"matrix": [1, 11], "x": 14, "y": 1.625},
+                {"matrix": [1, 12], "x": 15, "y": 1.75},
+
+                {"matrix": [2, 1], "x": 1, "y": 2.75},
+                {"matrix": [2, 2], "x": 2, "y": 2.625},
+                {"matrix": [2, 3], "x": 3, "y": 2.25},
+                {"matrix": [2, 4], "x": 4, "y": 2},
+                {"matrix": [2, 5], "x": 5, "y": 2.25},
+                {"matrix": [2, 6], "x": 6, "y": 2.375},
+
+                {"matrix": [2, 7], "x": 10, "y": 2.375},
+                {"matrix": [2, 8], "x": 11, "y": 2.25},
+                {"matrix": [2, 9], "x": 12, "y": 2},
+                {"matrix": [2, 10], "x": 13, "y": 2.25},
+                {"matrix": [2, 11], "x": 14, "y": 2.625},
+                {"matrix": [2, 12], "x": 15, "y": 2.75},
+
+                {"matrix": [3, 4], "x": 5, "y": 3.25},
+                {"matrix": [3, 5], "x": 6, "y": 3.375},
+                {"matrix": [3, 6], "x": 7, "y": 3.5},
+
+                {"matrix": [3, 7], "x": 9, "y": 3.5},
+                {"matrix": [3, 8], "x": 10, "y": 3.375},
+                {"matrix": [3, 9], "x": 11, "y": 3.25}
+            ]
+        }
+    }
 }
diff --git a/keyboards/jian/info.json b/keyboards/jian/info.json
index 2e59944921..f0b0261dc9 100644
--- a/keyboards/jian/info.json
+++ b/keyboards/jian/info.json
@@ -5,65 +5,5 @@
     "usb": {
         "vid": "0xC0DE",
         "pid": "0x1337"
-    },
-    "layouts": {
-        "LAYOUT": {
-            "layout": [
-                { "label": "Super", "x": 0,  "y": 1.5   },
-                { "label": "~",     "x": 1,  "y": 0.75  },
-                { "label": "Q",     "x": 2,  "y": 0.625 },
-                { "label": "W",     "x": 3,  "y": 0.25  },
-                { "label": "E",     "x": 4,  "y": 0     },
-                { "label": "R",     "x": 5,  "y": 0.25  },
-                { "label": "T",     "x": 6,  "y": 0.375 },
-
-                { "label": "Y",     "x": 10, "y": 0.375 },
-                { "label": "U",     "x": 11, "y": 0.25  },
-                { "label": "I",     "x": 12, "y": 0     },
-                { "label": "O",     "x": 13, "y": 0.25  },
-                { "label": "P",     "x": 14, "y": 0.625 },
-                { "label": "{[",    "x": 15, "y": 0.75  },
-                { "label": "}]",    "x": 16, "y": 1.5   },
-
-
-                { "label": "Ctrl",  "x": 1,  "y": 1.75  },
-                { "label": "A",     "x": 2,  "y": 1.625 },
-                { "label": "S",     "x": 3,  "y": 1.25  },
-                { "label": "D",     "x": 4,  "y": 1     },
-                { "label": "F",     "x": 5,  "y": 1.25  },
-                { "label": "G",     "x": 6,  "y": 1.375 },
-
-                { "label": "H",     "x": 10, "y": 1.375 },
-                { "label": "J",     "x": 11, "y": 1.25  },
-                { "label": "K",     "x": 12, "y": 1     },
-                { "label": "L",     "x": 13, "y": 1.25  },
-                { "label": ":;",    "x": 14, "y": 1.625 },
-                { "label": "\"'",   "x": 15, "y": 1.75  },
-
-
-                { "label": "Alt",   "x": 1,  "y": 2.75  },
-                { "label": "Z",     "x": 2,  "y": 2.625 },
-                { "label": "X",     "x": 3,  "y": 2.25  },
-                { "label": "C",     "x": 4,  "y": 2     },
-                { "label": "V",     "x": 5,  "y": 2.25  },
-                { "label": "B",     "x": 6,  "y": 2.375 },
-
-                { "label": "N",     "x": 10, "y": 2.375 },
-                { "label": "M",     "x": 11, "y": 2.25  },
-                { "label": "<,",    "x": 12, "y": 2     },
-                { "label": ">.",    "x": 13, "y": 2.25  },
-                { "label": "?/",    "x": 14, "y": 2.625 },
-                { "label": "|\\",   "x": 15, "y": 2.75  },
-
-
-                { "label": "Tab",   "x": 5,  "y": 3.25  },
-                { "label": "Spc",   "x": 6,  "y": 3.375 },
-                { "label": "Enter", "x": 7,  "y": 3.5   },
-
-                { "label": "Esc",   "x": 9,  "y": 3.5   },
-                { "label": "Bscp",  "x": 10, "y": 3.375 },
-                { "label": "Del",   "x": 11, "y": 3.25  }
-            ]
-        }
     }
 }
diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c
index 6b308a4820..a825e061b5 100644
--- a/keyboards/jian/keymaps/advanced/keymap.c
+++ b/keyboards/jian/keymaps/advanced/keymap.c
@@ -211,18 +211,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                       _______, _______, _______,      _______, _______, _______
 ),
 
-[_ADJUST] = LAYOUT_symmetric(
-  QK_BOOT, DB_TOGG, AS_UP,   CH_WMN,  CH_CMK,  CH_QWE,  CH_DVK,
-           AS_RPT,  AS_TOGG, XXXXXXX, XXXXXXX, QWERTY,  PLOVER,
-           BL_ADJ,  AS_DOWN, XXXXXXX, XXXXXXX, ISO,     THUMB_ALT,
-                                      _______, SW_TG,   _______
+[_ADJUST] = LAYOUT(
+  QK_BOOT, DB_TOGG, AS_UP,   CH_WMN,  CH_CMK,  CH_QWE,  CH_DVK,       CH_DVK,  CH_QWE,  CH_CMK,  CH_WMN,  AS_UP,   DB_TOGG, QK_BOOT,
+           AS_RPT,  AS_TOGG, XXXXXXX, XXXXXXX, QWERTY,  PLOVER,       PLOVER,  QWERTY,  XXXXXXX, XXXXXXX, AS_TOGG, AS_RPT,
+           BL_ADJ,  AS_DOWN, XXXXXXX, XXXXXXX, ISO,     THUMB_ALT, THUMB_ALT,  ISO,     XXXXXXX, XXXXXXX, AS_DOWN, BL_ADJ,
+                                      _______, SW_TG,   _______,      _______, SW_TG,   _______
 ),
 #if defined(RGBLIGHT) | defined(BACKLIGHT_ENABLE)
-[_BCKLT_ADJ] = LAYOUT_symmetric(
-  XXXXXXX, XXXXXXX, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,
-           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,
-           BL_ADJ,  BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
-                                      _______, _______, _______
+[_BCKLT_ADJ] = LAYOUT(
+  XXXXXXX, XXXXXXX, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,      RGB_HUI, RGB_HUD, RGB_VAI, BL_UP,   XXXXXXX, XXXXXXX, XXXXXXX,
+           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,      RGB_SAI, RGB_SAD, RGB_VAD, BL_DOWN, XXXXXXX, XXXXXXX,
+           BL_ADJ,  BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,      RGB_MOD, RGB_RMOD,RGB_TOG, BL_TOGG, BL_BRTG, BL_ADJ,
+                                      _______, _______, _______,      _______, _______, _______
 ),
 #endif // defined(RGBLIGHT) | defined(BACKLIGHT_ENABLE)
 #ifdef TRAINING_HALFES_LOCK
diff --git a/keyboards/jian/keymaps/default/keymap.c b/keyboards/jian/keymaps/default/keymap.c
index 3948dd119f..4d0de652f1 100644
--- a/keyboards/jian/keymaps/default/keymap.c
+++ b/keyboards/jian/keymaps/default/keymap.c
@@ -71,19 +71,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                               _______, _______, _______,      _______, _______, _______
 ),
 
-[_ADJUST] = LAYOUT_symmetric(
-  QK_BOOT, DB_TOGG,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-           XXXXXXX,        WORKMAN, COLEMAK, DVORAK,  QWERTY,  XXXXXXX,
-           TG(_BCKLT_ADJ), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-                                             _______, SW_TG,   _______
+[_ADJUST] = LAYOUT(
+  QK_BOOT, DB_TOGG,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG,        QK_BOOT,
+           XXXXXXX,        WORKMAN, COLEMAK, DVORAK,  QWERTY,  XXXXXXX,      XXXXXXX, QWERTY,  DVORAK,  COLEMAK, WORKMAN, XXXXXXX,
+           TG(_BCKLT_ADJ), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(_BCKLT_ADJ),
+                                             _______, SW_TG,   _______,      _______, SW_TG,   _______
 ),
 
 #if defined(RGBLIGHT) || defined(BACKLIGHT_ENABLE)
-[_BCKLT_ADJ] = LAYOUT_symmetric(
-  XXXXXXX, XXXXXXX,        XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,
-           XXXXXXX,        XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,
-           TG(_BCKLT_ADJ), BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
-                                             _______, _______, _______
+[_BCKLT_ADJ] = LAYOUT(
+  XXXXXXX, XXXXXXX,        XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,      RGB_HUI, RGB_HUD, RGB_VAI, BL_UP,   XXXXXXX, XXXXXXX,        XXXXXXX,
+           XXXXXXX,        XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,      RGB_SAI, RGB_SAD, RGB_VAD, BL_DOWN, XXXXXXX, XXXXXXX,
+           TG(_BCKLT_ADJ), BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,      RGB_MOD, RGB_RMOD,RGB_TOG, BL_TOGG, BL_BRTG, TG(_BCKLT_ADJ),
+                                             _______, _______, _______,      _______, _______, _______
 )
 #endif // defined(RGBLIGHT) || defined(BACKLIGHT_ENABLE)
 
diff --git a/keyboards/jian/keymaps/left_hand/keymap.c b/keyboards/jian/keymaps/left_hand/keymap.c
index 5f6b93bc6e..3f67215b8b 100644
--- a/keyboards/jian/keymaps/left_hand/keymap.c
+++ b/keyboards/jian/keymaps/left_hand/keymap.c
@@ -26,46 +26,46 @@ enum jian_layers {
 };
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_DFLT_L] = LAYOUT_symmetric_left(
-  KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E,                 KC_R,                KC_T,
-           KC_LCTL,        KC_A, KC_S, KC_D,                 KC_F,                KC_G,
-           KC_LALT,        KC_Z, KC_X, KC_C,                 KC_V,                KC_B,
-                                       LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT)
+[_DFLT_L] = LAYOUT(
+  KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E,                 KC_R,                KC_T,                     KC_T,                KC_R,                KC_E,                 KC_W,    KC_Q,    LGUI_T(KC_GRV), KC_LSFT,
+           KC_LCTL,        KC_A, KC_S, KC_D,                 KC_F,                KC_G,                     KC_G,                KC_F,                KC_D,                 KC_S,    KC_A,    KC_LCTL,
+           KC_LALT,        KC_Z, KC_X, KC_C,                 KC_V,                KC_B,                     KC_B,                KC_V,                KC_C,                 KC_X,    KC_Z,    KC_LALT,
+                                       LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT),      LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC),
 ),
-[_DFLT_R] = LAYOUT_symmetric_right(
-  KC_Y,                KC_U,    KC_I,               KC_O,    KC_P,    KC_LBRC, KC_RBRC,
-  KC_H,                KC_J,    KC_K,               KC_L,    KC_SCLN, KC_QUOT,
-  KC_N,                KC_M,    KC_COMM,            KC_DOT,  KC_SLSH, KC_BSLS,
-  LT(_LOWR_R, KC_ESC), _______, LT(_RAIS_R, KC_DEL)
+[_DFLT_R] = LAYOUT(
+  KC_RBRC, KC_LBRC, KC_P,    KC_O,    KC_I,                KC_U,    KC_Y,                     KC_Y,                KC_U,    KC_I,               KC_O,    KC_P,    KC_LBRC, KC_RBRC,
+           KC_QUOT, KC_SCLN, KC_L,    KC_K,                KC_J,    KC_H,                     KC_H,                KC_J,    KC_K,               KC_L,    KC_SCLN, KC_QUOT,
+           KC_BSLS, KC_SLSH, KC_DOT,  KC_COMM,             KC_M,    KC_N,                     KC_N,                KC_M,    KC_COMM,            KC_DOT,  KC_SLSH, KC_BSLS,
+                                      LT(_RAIS_R, KC_DEL), _______, LT(_LOWR_R, KC_ESC),      LT(_LOWR_R, KC_ESC), _______, LT(_RAIS_R, KC_DEL)
 ),
-[_RAIS_L] = LAYOUT_symmetric_left(
-  _______, LGUI_T(KC_CAPS), KC_SCRL, KC_HOME, KC_PSCR, KC_PGUP,              KC_VOLU,
-           LCTL_T(KC_APP),  KC_INS,  KC_LEFT, KC_UP,   KC_RGHT,              KC_MUTE,
-           _______,         KC_PAUS, KC_END,  KC_DOWN, KC_PGDN,              KC_VOLD,
-                                              _______, LT(_RAIS_R, KC_TAB) , LT(_ADJUST, KC_ESC)
+[_RAIS_L] = LAYOUT(
+  _______, LGUI_T(KC_CAPS), KC_SCRL, KC_HOME, KC_PSCR, KC_PGUP,              KC_VOLU,                  KC_VOLU,             KC_PGUP,             KC_PSCR, KC_HOME, KC_SCRL, LGUI_T(KC_CAPS), _______,
+           LCTL_T(KC_APP),  KC_INS,  KC_LEFT, KC_UP,   KC_RGHT,              KC_MUTE,                  KC_MUTE,             KC_RGHT,             KC_UP,   KC_LEFT, KC_INS,  LGUI_T(KC_APP),
+           _______,         KC_PAUS, KC_END,  KC_DOWN, KC_PGDN,              KC_VOLD,                  KC_VOLD,             KC_PGDN,             KC_DOWN, KC_END,  KC_PAUS, _______,
+                                              _______, LT(_RAIS_R, KC_TAB) , LT(_ADJUST, KC_ESC),      LT(_ADJUST, KC_ESC), LT(_RAIS_R, KC_TAB), _______
 ),
-[_RAIS_R] = LAYOUT_symmetric_left(
-  KC_RSFT, KC_RGUI, XXXXXXX, KC_F7, KC_F8,               KC_F9,   KC_F10,
-           KC_RCTL, XXXXXXX, KC_F4, KC_F5,               KC_F6,   KC_F11,
-           KC_LALT, XXXXXXX, KC_F1, KC_F2,               KC_F3,   KC_F12,
-                                    LT(_ADJUST, KC_DEL), _______, _______
+[_RAIS_R] = LAYOUT(
+  KC_RSFT, KC_RGUI, XXXXXXX, KC_F7, KC_F8,               KC_F9,   KC_F10,       KC_F10,  KC_F9,   KC_F8,               KC_F7,   XXXXXXX, KC_RGUI, KC_RSFT,
+           KC_RCTL, XXXXXXX, KC_F4, KC_F5,               KC_F6,   KC_F11,       KC_F11,  KC_F6,   KC_F5,               KC_F4,   XXXXXXX, KC_RCTL,
+           KC_LALT, XXXXXXX, KC_F1, KC_F2,               KC_F3,   KC_F12,       KC_F12,  KC_F3,   KC_F2,               KC_F1,   XXXXXXX, KC_LALT,
+                                    LT(_ADJUST, KC_DEL), _______, _______,      _______, _______, LT(_ADJUST, KC_DEL)
 ),
-[_LOWR_L] = LAYOUT_symmetric_left(
-  _______, _______, XXXXXXX, KC_7, KC_8,                KC_9,                KC_0,
-           _______, KC_GRV,  KC_4, KC_5,                KC_6,                KC_MINS,
-           _______, KC_0,    KC_1, KC_2,                KC_3,                KC_EQL,
-                                   LT(_ADJUST, KC_DEL), LT(_LOWR_R, KC_TAB), _______
+[_LOWR_L] = LAYOUT(
+  _______, _______, XXXXXXX, KC_7, KC_8,                KC_9,                KC_0,         KC_0,    KC_9,                KC_8,                KC_7,    XXXXXXX, _______, _______,
+           _______, KC_GRV,  KC_4, KC_5,                KC_6,                KC_MINS,      KC_MINS, KC_6,                KC_5,                KC_4,    KC_GRV,  _______,
+           _______, KC_0,    KC_1, KC_2,                KC_3,                KC_EQL,       KC_EQL,  KC_3,                KC_2,                KC_1,    KC_0,    _______,
+                                   LT(_ADJUST, KC_DEL), LT(_LOWR_R, KC_TAB), _______,      _______, LT(_LOWR_R, KC_TAB), LT(_ADJUST, KC_DEL)
 ),
-[_LOWR_R] = LAYOUT_symmetric_left(
- _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
-          _______, KC_TILD, KC_DLR,  KC_PERC, KC_CIRC, KC_UNDS,
-          _______, KC_LPRN, KC_EXLM, KC_AT,   KC_HASH, KC_PLUS,
-                                     _______, _______, LT(_ADJUST, KC_ESC)
+[_LOWR_R] = LAYOUT(
+ _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,                  KC_RPRN,             KC_LPRN, KC_ASTR, KC_AMPR, XXXXXXX, _______, _______,
+          _______, KC_TILD, KC_DLR,  KC_PERC, KC_CIRC, KC_UNDS,                  KC_UNDS,             KC_CIRC, KC_PERC, KC_DLR,  KC_TILD, _______,
+          _______, KC_LPRN, KC_EXLM, KC_AT,   KC_HASH, KC_PLUS,                  KC_PLUS,             KC_HASH, KC_AT,   KC_EXLM, KC_LPRN, _______,
+                                     _______, _______, LT(_ADJUST, KC_ESC),      LT(_ADJUST, KC_ESC), _______, _______
 ),
-[_ADJUST] = LAYOUT_symmetric_left(
-  QK_BOOT, DB_TOGG, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,
-           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,
-           XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
-                                      _______, _______, _______
+[_ADJUST] = LAYOUT(
+  QK_BOOT, DB_TOGG, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,      RGB_HUI, RGB_HUD, RGB_VAI, BL_UP,   XXXXXXX, DB_TOGG, QK_BOOT,
+           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,      RGB_SAI, RGB_SAD, RGB_VAD, BL_DOWN, XXXXXXX, XXXXXXX,
+           XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,      RGB_MOD, RGB_RMOD,RGB_TOG, BL_TOGG, BL_BRTG, XXXXXXX,
+                                      _______, _______, _______,      _______, _______, _______
 )
 };
diff --git a/keyboards/jian/keymaps/via/keymap.c b/keyboards/jian/keymaps/via/keymap.c
index 3d6c7507ba..281cbc64eb 100644
--- a/keyboards/jian/keymaps/via/keymap.c
+++ b/keyboards/jian/keymaps/via/keymap.c
@@ -19,10 +19,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
            _______,         KC_P0,   KC_P1,   KC_P2,   KC_P3,   KC_PCMM,      KC_VOLD, KC_END,  KC_DOWN, KC_PGDN, KC_PAUS, _______,
                                         _______, _______, LT(3, KC_ENT),      LT(3, KC_ESC), _______, _______
 ),
-[3] = LAYOUT_symmetric(
-  QK_BOOT, DB_TOGG, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,
-           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,
-           XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
-                                      _______, SH_TOGG, _______
+[3] = LAYOUT(
+  QK_BOOT, DB_TOGG, XXXXXXX, BL_UP,   RGB_VAI, RGB_HUD, RGB_HUI,      RGB_HUI, RGB_HUD, RGB_VAI, BL_UP,   XXXXXXX, DB_TOGG, QK_BOOT,
+           XXXXXXX, XXXXXXX, BL_DOWN, RGB_VAD, RGB_SAD, RGB_SAI,      RGB_SAI, RGB_SAD, RGB_VAD, BL_DOWN, XXXXXXX, XXXXXXX,
+           XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,      RGB_MOD, RGB_RMOD,RGB_TOG, BL_TOGG, BL_BRTG, XXXXXXX,
+                                      _______, SH_TOGG, _______,      _______, SH_TOGG, _______
 )
 };
diff --git a/keyboards/jian/nsrev2/info.json b/keyboards/jian/nsrev2/info.json
index e51b65c501..e7ec688b88 100644
--- a/keyboards/jian/nsrev2/info.json
+++ b/keyboards/jian/nsrev2/info.json
@@ -18,5 +18,62 @@
         "esc_output": "D3"
     },
     "processor": "atmega32u4",
-    "bootloader": "qmk-dfu"
+    "bootloader": "qmk-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [2, 0], "x": 0, "y": 1.5},
+                {"matrix": [0, 0], "x": 1, "y": 0.75},
+                {"matrix": [0, 1], "x": 2, "y": 0.625},
+                {"matrix": [1, 2], "x": 3, "y": 0.25},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [0, 3], "x": 5, "y": 0.25},
+                {"matrix": [0, 4], "x": 6, "y": 0.375},
+
+                {"matrix": [4, 4], "x": 10, "y": 0.375},
+                {"matrix": [4, 3], "x": 11, "y": 0.25},
+                {"matrix": [4, 2], "x": 12, "y": 0},
+                {"matrix": [5, 2], "x": 13, "y": 0.25},
+                {"matrix": [4, 1], "x": 14, "y": 0.625},
+                {"matrix": [4, 0], "x": 15, "y": 0.75},
+                {"matrix": [6, 0], "x": 16, "y": 1.5},
+
+                {"matrix": [1, 0], "x": 1, "y": 1.75},
+                {"matrix": [1, 1], "x": 2, "y": 1.625},
+                {"matrix": [2, 2], "x": 3, "y": 1.25},
+                {"matrix": [1, 3], "x": 4, "y": 1},
+                {"matrix": [1, 4], "x": 5, "y": 1.25},
+                {"matrix": [0, 5], "x": 6, "y": 1.375},
+
+                {"matrix": [4, 5], "x": 10, "y": 1.375},
+                {"matrix": [5, 4], "x": 11, "y": 1.25},
+                {"matrix": [5, 3], "x": 12, "y": 1},
+                {"matrix": [6, 2], "x": 13, "y": 1.25},
+                {"matrix": [5, 1], "x": 14, "y": 1.625},
+                {"matrix": [5, 0], "x": 15, "y": 1.75},
+
+                {"matrix": [2, 1], "x": 1, "y": 2.75},
+                {"matrix": [3, 2], "x": 2, "y": 2.625},
+                {"matrix": [3, 3], "x": 3, "y": 2.25},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2.25},
+                {"matrix": [1, 5], "x": 6, "y": 2.375},
+
+                {"matrix": [5, 5], "x": 10, "y": 2.375},
+                {"matrix": [6, 4], "x": 11, "y": 2.25},
+                {"matrix": [6, 3], "x": 12, "y": 2},
+                {"matrix": [7, 3], "x": 13, "y": 2.25},
+                {"matrix": [7, 2], "x": 14, "y": 2.625},
+                {"matrix": [6, 1], "x": 15, "y": 2.75},
+
+                {"matrix": [3, 4], "x": 5, "y": 3.25},
+                {"matrix": [2, 5], "x": 6, "y": 3.375},
+                {"matrix": [3, 5], "x": 7, "y": 3.5},
+
+                {"matrix": [7, 5], "x": 9, "y": 3.5},
+                {"matrix": [6, 5], "x": 10, "y": 3.375},
+                {"matrix": [7, 4], "x": 11, "y": 3.25}
+            ]
+        }
+    }
 }
diff --git a/keyboards/jian/nsrev2/nsrev2.c b/keyboards/jian/nsrev2/nsrev2.c
index 48827416f1..1b65d4f016 100644
--- a/keyboards/jian/nsrev2/nsrev2.c
+++ b/keyboards/jian/nsrev2/nsrev2.c
@@ -1,4 +1,4 @@
-#include "nsrev2.h"
+#include "quantum.h"
 
 #ifdef SWAP_HANDS_ENABLE
 __attribute__ ((weak))
diff --git a/keyboards/jian/nsrev2/nsrev2.h b/keyboards/jian/nsrev2/nsrev2.h
deleted file mode 100644
index 80dd6def0c..0000000000
--- a/keyboards/jian/nsrev2/nsrev2.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-  L20, L00, L01, L12, L02, L03, L04,    R04, R03, R02, R12, R01, R00, R20, \
-       L10, L11, L22, L13, L14, L05,    R05, R14, R13, R22, R11, R10, \
-       L21, L32, L33, L23, L24, L15,    R15, R24, R23, R33, R32, R21, \
-                      L34, L25, L35,    R35, R25, R34 \
-) \
-{ \
-  {L00, L01, L02, L03, L04, L05 }, \
-  {L10, L11, L12, L13, L14, L15 }, \
-  {L20, L21, L22, L23, L24, L25 }, \
-  {XXX, XXX, L32, L33, L34, L35 }, \
-  {R00, R01, R02, R03, R04, R05 }, \
-  {R10, R11, R12, R13, R14, R15 }, \
-  {R20, R21, R22, R23, R24, R25 }, \
-  {XXX, XXX, R32, R33, R34, R35 }  \
-}
-
-#define LAYOUT_symmetric( \
-  K20, K00, K01, K12, K02, K03, K04, \
-       K10, K11, K22, K13, K14, K05, \
-       K21, K32, K33, K23, K24, K15, \
-                      K34, K25, K35  \
-) \
-{ \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }, \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }  \
-}
diff --git a/keyboards/jian/rev1/info.json b/keyboards/jian/rev1/info.json
index 9ca0a41785..0f1efc95b3 100644
--- a/keyboards/jian/rev1/info.json
+++ b/keyboards/jian/rev1/info.json
@@ -13,5 +13,62 @@
         "levels": 5
     },
     "processor": "atmega32u4",
-    "bootloader": "caterina"
+    "bootloader": "caterina",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 1.5},
+                {"matrix": [0, 1], "x": 1, "y": 0.75},
+                {"matrix": [0, 2], "x": 2, "y": 0.625},
+                {"matrix": [0, 3], "x": 3, "y": 0.25},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0.25},
+                {"matrix": [0, 6], "x": 6, "y": 0.375},
+
+                {"matrix": [4, 6], "x": 10, "y": 0.375},
+                {"matrix": [4, 5], "x": 11, "y": 0.25},
+                {"matrix": [4, 4], "x": 12, "y": 0},
+                {"matrix": [4, 3], "x": 13, "y": 0.25},
+                {"matrix": [4, 2], "x": 14, "y": 0.625},
+                {"matrix": [4, 1], "x": 15, "y": 0.75},
+                {"matrix": [4, 0], "x": 16, "y": 1.5},
+
+                {"matrix": [1, 1], "x": 1, "y": 1.75},
+                {"matrix": [1, 2], "x": 2, "y": 1.625},
+                {"matrix": [1, 3], "x": 3, "y": 1.25},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1.25},
+                {"matrix": [1, 6], "x": 6, "y": 1.375},
+
+                {"matrix": [5, 6], "x": 10, "y": 1.375},
+                {"matrix": [5, 5], "x": 11, "y": 1.25},
+                {"matrix": [5, 4], "x": 12, "y": 1},
+                {"matrix": [5, 3], "x": 13, "y": 1.25},
+                {"matrix": [5, 2], "x": 14, "y": 1.625},
+                {"matrix": [5, 1], "x": 15, "y": 1.75},
+
+                {"matrix": [2, 1], "x": 1, "y": 2.75},
+                {"matrix": [2, 2], "x": 2, "y": 2.625},
+                {"matrix": [2, 3], "x": 3, "y": 2.25},
+                {"matrix": [2, 4], "x": 4, "y": 2},
+                {"matrix": [2, 5], "x": 5, "y": 2.25},
+                {"matrix": [2, 6], "x": 6, "y": 2.375},
+
+                {"matrix": [6, 6], "x": 10, "y": 2.375},
+                {"matrix": [6, 5], "x": 11, "y": 2.25},
+                {"matrix": [6, 4], "x": 12, "y": 2},
+                {"matrix": [6, 3], "x": 13, "y": 2.25},
+                {"matrix": [6, 2], "x": 14, "y": 2.625},
+                {"matrix": [6, 1], "x": 15, "y": 2.75},
+
+                {"matrix": [3, 4], "x": 5, "y": 3.25},
+                {"matrix": [3, 5], "x": 6, "y": 3.375},
+                {"matrix": [3, 6], "x": 7, "y": 3.5},
+
+                {"matrix": [7, 6], "x": 9, "y": 3.5},
+                {"matrix": [7, 5], "x": 10, "y": 3.375},
+                {"matrix": [7, 4], "x": 11, "y": 3.25}
+            ]
+        }
+    }
 }
diff --git a/keyboards/jian/rev1/rev1.h b/keyboards/jian/rev1/rev1.h
index bba95a1dd7..8f42184bdf 100644
--- a/keyboards/jian/rev1/rev1.h
+++ b/keyboards/jian/rev1/rev1.h
@@ -4,40 +4,6 @@
 
 #define XXX KC_NO
 
-#define LAYOUT( \
-  L00, L01, L02, L03, L04, L05, L06,    R06, R05, R04, R03, R02, R01, R00, \
-       L11, L12, L13, L14, L15, L16,    R16, R15, R14, R13, R12, R11, \
-       L21, L22, L23, L24, L25, L26,    R26, R25, R24, R23, R22, R21, \
-                      L34, L35, L36,    R36, R35, R34 \
-) \
-{ \
-  {L00, L01, L02, L03, L04, L05, L06}, \
-  {XXX, L11, L12, L13, L14, L15, L16}, \
-  {XXX, L21, L22, L23, L24, L25, L26}, \
-  {XXX, XXX, XXX, XXX, L34, L35, L36}, \
-  {R00, R01, R02, R03, R04, R05, R06}, \
-  {XXX, R11, R12, R13, R14, R15, R16}, \
-  {XXX, R21, R22, R23, R24, R25, R26}, \
-  {XXX, XXX, XXX, XXX, R34, R35, R36} \
-}
-
-#define LAYOUT_symmetric( \
-  K00, K01, K02, K03, K04, K05, K06, \
-       K11, K12, K13, K14, K15, K16, \
-       K21, K22, K23, K24, K25, K26, \
-                      K34, K35, K36 \
-) \
-{ \
-  {K00, K01, K02, K03, K04, K05, K06}, \
-  {XXX, K11, K12, K13, K14, K15, K16}, \
-  {XXX, K21, K22, K23, K24, K25, K26}, \
-  {XXX, XXX, XXX, XXX, K34, K35, K36}, \
-  {K00, K01, K02, K03, K04, K05, K06}, \
-  {XXX, K11, K12, K13, K14, K15, K16}, \
-  {XXX, K21, K22, K23, K24, K25, K26}, \
-  {XXX, XXX, XXX, XXX, K34, K35, K36} \
-}
-
 #ifdef DIPS_ENABLE
 #define LAYOUT_dips( \
   DL0, DL1, DL2, DL3, DL4, DL5, \
diff --git a/keyboards/jian/rev2/info.json b/keyboards/jian/rev2/info.json
index 6cae5556e2..3f04339046 100644
--- a/keyboards/jian/rev2/info.json
+++ b/keyboards/jian/rev2/info.json
@@ -20,5 +20,62 @@
         "soft_serial_pin": "D1"
     },
     "processor": "atmega32u4",
-    "bootloader": "qmk-dfu"
+    "bootloader": "qmk-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [2, 0], "x": 0, "y": 1.5},
+                {"matrix": [0, 0], "x": 1, "y": 0.75},
+                {"matrix": [0, 1], "x": 2, "y": 0.625},
+                {"matrix": [1, 2], "x": 3, "y": 0.25},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [0, 3], "x": 5, "y": 0.25},
+                {"matrix": [0, 4], "x": 6, "y": 0.375},
+
+                {"matrix": [4, 4], "x": 10, "y": 0.375},
+                {"matrix": [4, 3], "x": 11, "y": 0.25},
+                {"matrix": [4, 2], "x": 12, "y": 0},
+                {"matrix": [5, 2], "x": 13, "y": 0.25},
+                {"matrix": [4, 1], "x": 14, "y": 0.625},
+                {"matrix": [4, 0], "x": 15, "y": 0.75},
+                {"matrix": [6, 0], "x": 16, "y": 1.5},
+
+                {"matrix": [1, 0], "x": 1, "y": 1.75},
+                {"matrix": [1, 1], "x": 2, "y": 1.625},
+                {"matrix": [2, 2], "x": 3, "y": 1.25},
+                {"matrix": [1, 3], "x": 4, "y": 1},
+                {"matrix": [1, 4], "x": 5, "y": 1.25},
+                {"matrix": [0, 5], "x": 6, "y": 1.375},
+
+                {"matrix": [4, 5], "x": 10, "y": 1.375},
+                {"matrix": [5, 4], "x": 11, "y": 1.25},
+                {"matrix": [5, 3], "x": 12, "y": 1},
+                {"matrix": [6, 2], "x": 13, "y": 1.25},
+                {"matrix": [5, 1], "x": 14, "y": 1.625},
+                {"matrix": [5, 0], "x": 15, "y": 1.75},
+
+                {"matrix": [2, 1], "x": 1, "y": 2.75},
+                {"matrix": [3, 2], "x": 2, "y": 2.625},
+                {"matrix": [3, 3], "x": 3, "y": 2.25},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 4], "x": 5, "y": 2.25},
+                {"matrix": [1, 5], "x": 6, "y": 2.375},
+
+                {"matrix": [5, 5], "x": 10, "y": 2.375},
+                {"matrix": [6, 4], "x": 11, "y": 2.25},
+                {"matrix": [6, 3], "x": 12, "y": 2},
+                {"matrix": [7, 3], "x": 13, "y": 2.25},
+                {"matrix": [7, 2], "x": 14, "y": 2.625},
+                {"matrix": [6, 1], "x": 15, "y": 2.75},
+
+                {"matrix": [3, 4], "x": 5, "y": 3.25},
+                {"matrix": [2, 5], "x": 6, "y": 3.375},
+                {"matrix": [3, 5], "x": 7, "y": 3.5},
+
+                {"matrix": [7, 5], "x": 9, "y": 3.5},
+                {"matrix": [6, 5], "x": 10, "y": 3.375},
+                {"matrix": [7, 4], "x": 11, "y": 3.25}
+            ]
+        }
+    }
 }
diff --git a/keyboards/jian/rev2/rev2.c b/keyboards/jian/rev2/rev2.c
index b18676af38..1b65d4f016 100644
--- a/keyboards/jian/rev2/rev2.c
+++ b/keyboards/jian/rev2/rev2.c
@@ -1,4 +1,4 @@
-#include "rev2.h"
+#include "quantum.h"
 
 #ifdef SWAP_HANDS_ENABLE
 __attribute__ ((weak))
diff --git a/keyboards/jian/rev2/rev2.h b/keyboards/jian/rev2/rev2.h
deleted file mode 100644
index 7abf46e303..0000000000
--- a/keyboards/jian/rev2/rev2.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-  L20, L00, L01, L12, L02, L03, L04,    R04, R03, R02, R12, R01, R00, R20, \
-       L10, L11, L22, L13, L14, L05,    R05, R14, R13, R22, R11, R10, \
-       L21, L32, L33, L23, L24, L15,    R15, R24, R23, R33, R32, R21, \
-                      L34, L25, L35,    R35, R25, R34 \
-) \
-{ \
-  {L00, L01, L02, L03, L04, L05 }, \
-  {L10, L11, L12, L13, L14, L15 }, \
-  {L20, L21, L22, L23, L24, L25 }, \
-  {XXX, XXX, L32, L33, L34, L35 }, \
-  {R00, R01, R02, R03, R04, R05 }, \
-  {R10, R11, R12, R13, R14, R15 }, \
-  {R20, R21, R22, R23, R24, R25 }, \
-  {XXX, XXX, R32, R33, R34, R35 }  \
-}
-
-#define LAYOUT_symmetric( \
-  K20, K00, K01, K12, K02, K03, K04, \
-       K10, K11, K22, K13, K14, K05, \
-       K21, K32, K33, K23, K24, K15, \
-                      K34, K25, K35  \
-) \
-{ \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }, \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }  \
-}
-
-#define LAYOUT_symmetric_left LAYOUT_symmetric
-
-#define LAYOUT_symmetric_right( \
-  K04, K03, K02, K12, K01, K00, K20, \
-  K05, K14, K13, K22, K11, K10, \
-  K15, K24, K23, K33, K32, K21, \
-  K35, K25, K34  \
-) \
-{ \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }, \
-  {K00, K01, K02, K03, K04, K05 }, \
-  {K10, K11, K12, K13, K14, K15 }, \
-  {K20, K21, K22, K23, K24, K25 }, \
-  {XXX, XXX, K32, K33, K34, K35 }  \
-}
diff --git a/keyboards/keyhive/ut472/info.json b/keyboards/keyhive/ut472/info.json
index d80901cf50..26aa44379b 100644
--- a/keyboards/keyhive/ut472/info.json
+++ b/keyboards/keyhive/ut472/info.json
@@ -17,7 +17,58 @@
   "bootloader": "atmel-dfu",
   "layouts": {
     "LAYOUT": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.5}, {"label":"LT(3) / Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2, "w":1.5}, {"label":"Z", "x":1.5, "y":2}, {"label":"X", "x":2.5, "y":2}, {"label":"C", "x":3.5, "y":2}, {"label":"V", "x":4.5, "y":2}, {"label":"B", "x":5.5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":"<", "x":8.5, "y":2}, {"label":">", "x":9.5, "y":2}, {"label":"?", "x":10.5, "y":2}, {"label":"Shift / Enter", "x":11.5, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Alt", "x":1, "y":3}, {"label":"GUI", "x":2, "y":3}, {"label":"Menu", "x":3, "y":3}, {"label":"MO(2)", "x":4, "y":3, "w":1.25}, {"x":5.25, "y":3, "w":2}, {"label":"MO(1)", "x":7.25, "y":3, "w":1.25}, {"label":"\u2190", "x":8.5, "y":3}, {"label":"\u2193", "x":9.5, "y":3}, {"label":"\u2191", "x":10.5, "y":3}, {"label":"\u2192", "x":11.5, "y":3}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.5},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+        {"matrix": [1, 1], "x": 1.25, "y": 1},
+        {"matrix": [1, 2], "x": 2.25, "y": 1},
+        {"matrix": [1, 3], "x": 3.25, "y": 1},
+        {"matrix": [1, 4], "x": 4.25, "y": 1},
+        {"matrix": [1, 5], "x": 5.25, "y": 1},
+        {"matrix": [1, 6], "x": 6.25, "y": 1},
+        {"matrix": [1, 7], "x": 7.25, "y": 1},
+        {"matrix": [1, 8], "x": 8.25, "y": 1},
+        {"matrix": [1, 9], "x": 9.25, "y": 1},
+        {"matrix": [1, 10], "x": 10.25, "y": 1},
+        {"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.25},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2},
+        {"matrix": [2, 2], "x": 2.5, "y": 2},
+        {"matrix": [2, 3], "x": 3.5, "y": 2},
+        {"matrix": [2, 4], "x": 4.5, "y": 2},
+        {"matrix": [2, 5], "x": 5.5, "y": 2},
+        {"matrix": [2, 6], "x": 6.5, "y": 2},
+        {"matrix": [2, 7], "x": 7.5, "y": 2},
+        {"matrix": [2, 8], "x": 8.5, "y": 2},
+        {"matrix": [2, 9], "x": 9.5, "y": 2},
+        {"matrix": [2, 10], "x": 10.5, "y": 2},
+        {"matrix": [2, 11], "x": 11.5, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3},
+        {"matrix": [3, 1], "x": 1, "y": 3},
+        {"matrix": [3, 2], "x": 2, "y": 3},
+        {"matrix": [3, 3], "x": 3, "y": 3},
+        {"matrix": [3, 4], "x": 4, "y": 3, "w": 1.25},
+        {"matrix": [3, 5], "x": 5.25, "y": 3, "w": 2},
+        {"matrix": [3, 7], "x": 7.25, "y": 3, "w": 1.25},
+        {"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}
+      ]
     }
   }
 }
diff --git a/keyboards/keyhive/ut472/ut472.h b/keyboards/keyhive/ut472/ut472.h
deleted file mode 100644
index 391392896a..0000000000
--- a/keyboards/keyhive/ut472/ut472.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2018 Carlos Filoteo
- *
- * 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
-
-#include "quantum.h"
-
-#define LAYOUT( \
-  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \
-  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, \
-  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, \
-  K30, K31, K32, K33, K34,    K35,   K37, K38, K39, K3a, K3b  \
-) \
-  { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b }, \
-    { K30, K31, K32, K33, K34, K35, K35, K37, K38, K39, K3a, K3b }  \
-  }
-
diff --git a/keyboards/maxr1998/phoebe/info.json b/keyboards/maxr1998/phoebe/info.json
index 62a9702953..38e6cb69b8 100644
--- a/keyboards/maxr1998/phoebe/info.json
+++ b/keyboards/maxr1998/phoebe/info.json
@@ -23,243 +23,69 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {
-                    "x": 0,
-                    "y": 0
-                },
-                {
-                    "x": 1,
-                    "y": 0
-                },
-                {
-                    "x": 2,
-                    "y": 0
-                },
-                {
-                    "x": 3,
-                    "y": 0
-                },
-                {
-                    "x": 4,
-                    "y": 0
-                },
-                {
-                    "x": 5,
-                    "y": 0
-                },
-                {
-                    "x": 6,
-                    "y": 0
-                },
-                {
-                    "x": 7,
-                    "y": 0
-                },
-                {
-                    "x": 8,
-                    "y": 0
-                },
-                {
-                    "x": 9,
-                    "y": 0
-                },
-                {
-                    "x": 10,
-                    "y": 0
-                },
-                {
-                    "x": 11,
-                    "y": 0
-                },
-                {
-                    "x": 0,
-                    "y": 1
-                },
-                {
-                    "x": 1,
-                    "y": 1
-                },
-                {
-                    "x": 2,
-                    "y": 1
-                },
-                {
-                    "x": 3,
-                    "y": 1
-                },
-                {
-                    "x": 4,
-                    "y": 1
-                },
-                {
-                    "x": 5,
-                    "y": 1
-                },
-                {
-                    "x": 6,
-                    "y": 1
-                },
-                {
-                    "x": 7,
-                    "y": 1
-                },
-                {
-                    "x": 8,
-                    "y": 1
-                },
-                {
-                    "x": 9,
-                    "y": 1
-                },
-                {
-                    "x": 10,
-                    "y": 1
-                },
-                {
-                    "x": 11,
-                    "y": 1
-                },
-                {
-                    "x": 0,
-                    "y": 2
-                },
-                {
-                    "x": 1,
-                    "y": 2
-                },
-                {
-                    "x": 2,
-                    "y": 2
-                },
-                {
-                    "x": 3,
-                    "y": 2
-                },
-                {
-                    "x": 4,
-                    "y": 2
-                },
-                {
-                    "x": 5,
-                    "y": 2
-                },
-                {
-                    "x": 6,
-                    "y": 2
-                },
-                {
-                    "x": 7,
-                    "y": 2
-                },
-                {
-                    "x": 8,
-                    "y": 2
-                },
-                {
-                    "x": 9,
-                    "y": 2
-                },
-                {
-                    "x": 10,
-                    "y": 2
-                },
-                {
-                    "x": 11,
-                    "y": 2
-                },
-                {
-                    "x": 0,
-                    "y": 3
-                },
-                {
-                    "x": 1,
-                    "y": 3
-                },
-                {
-                    "x": 2,
-                    "y": 3
-                },
-                {
-                    "x": 3,
-                    "y": 3
-                },
-                {
-                    "x": 4,
-                    "y": 3
-                },
-                {
-                    "x": 5,
-                    "y": 3
-                },
-                {
-                    "x": 6,
-                    "y": 3
-                },
-                {
-                    "x": 7,
-                    "y": 3
-                },
-                {
-                    "x": 8,
-                    "y": 3
-                },
-                {
-                    "x": 9,
-                    "y": 3
-                },
-                {
-                    "x": 10,
-                    "y": 3
-                },
-                {
-                    "x": 11,
-                    "y": 3
-                },
-                {
-                    "x": 0,
-                    "y": 4
-                },
-                {
-                    "x": 1,
-                    "y": 4
-                },
-                {
-                    "x": 2,
-                    "y": 4
-                },
-                {
-                    "x": 3,
-                    "y": 4
-                },
-                {
-                    "x": 4,
-                    "y": 4
-                },
-                {
-                    "w": 2,
-                    "x": 5,
-                    "y": 4
-                },
-                {
-                    "x": 7,
-                    "y": 4
-                },
-                {
-                    "x": 8,
-                    "y": 4
-                },
-                {
-                    "x": 9,
-                    "y": 4
-                },
-                {
-                    "x": 10,
-                    "y": 4
-                },
-                {
-                    "x": 11,
-                    "y": 4
-                }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1},
+                {"matrix": [1, 6], "x": 6, "y": 1},
+                {"matrix": [1, 7], "x": 7, "y": 1},
+                {"matrix": [1, 8], "x": 8, "y": 1},
+                {"matrix": [1, 9], "x": 9, "y": 1},
+                {"matrix": [1, 10], "x": 10, "y": 1},
+                {"matrix": [1, 11], "x": 11, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2},
+                {"matrix": [2, 4], "x": 4, "y": 2},
+                {"matrix": [2, 5], "x": 5, "y": 2},
+                {"matrix": [2, 6], "x": 6, "y": 2},
+                {"matrix": [2, 7], "x": 7, "y": 2},
+                {"matrix": [2, 8], "x": 8, "y": 2},
+                {"matrix": [2, 9], "x": 9, "y": 2},
+                {"matrix": [2, 10], "x": 10, "y": 2},
+                {"matrix": [2, 11], "x": 11, "y": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3},
+                {"matrix": [3, 6], "x": 6, "y": 3},
+                {"matrix": [3, 7], "x": 7, "y": 3},
+                {"matrix": [3, 8], "x": 8, "y": 3},
+                {"matrix": [3, 9], "x": 9, "y": 3},
+                {"matrix": [3, 10], "x": 10, "y": 3},
+                {"matrix": [3, 11], "x": 11, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2, "y": 4},
+                {"matrix": [4, 3], "x": 3, "y": 4},
+                {"matrix": [4, 4], "x": 4, "y": 4},
+                {"matrix": [4, 5], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 7], "x": 7, "y": 4},
+                {"matrix": [4, 8], "x": 8, "y": 4},
+                {"matrix": [4, 9], "x": 9, "y": 4},
+                {"matrix": [4, 10], "x": 10, "y": 4},
+                {"matrix": [4, 11], "x": 11, "y": 4}
             ]
         }
     },
diff --git a/keyboards/maxr1998/phoebe/phoebe.c b/keyboards/maxr1998/phoebe/phoebe.c
index 28d3afea50..b05f9b3235 100644
--- a/keyboards/maxr1998/phoebe/phoebe.c
+++ b/keyboards/maxr1998/phoebe/phoebe.c
@@ -1,3 +1,3 @@
-#include "phoebe.h"
+#include "quantum.h"
 
 const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {50, 50, 50};
diff --git a/keyboards/maxr1998/phoebe/phoebe.h b/keyboards/maxr1998/phoebe/phoebe.h
deleted file mode 100644
index f3e61756a3..0000000000
--- a/keyboards/maxr1998/phoebe/phoebe.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-      k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
-      k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
-      k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
-      k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
-      k40, k41, k42, k43, k44,    k45,   k47, k48, k49, k4a, k4b \
-) \
-{ \
-      { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
-      { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
-      { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
-      { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
-      { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
-}
diff --git a/keyboards/mechkeys/mechmini/v2/info.json b/keyboards/mechkeys/mechmini/v2/info.json
index d5f75aedce..34e410008d 100644
--- a/keyboards/mechkeys/mechmini/v2/info.json
+++ b/keyboards/mechkeys/mechmini/v2/info.json
@@ -20,16 +20,209 @@
   "bootloader": "atmel-dfu",
   "layouts": {
     "LAYOUT_ortho": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Caps", "x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"GUI", "x":3, "y":3}, {"label":"MO(1)", "x":4, "y":3}, {"label":"Space", "x":5, "y":3}, {"label":"Space", "x":6, "y":3}, {"label":"MO(2)", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2},
+        {"matrix": [2, 1], "x": 1, "y": 2},
+        {"matrix": [2, 2], "x": 2, "y": 2},
+        {"matrix": [2, 3], "x": 3, "y": 2},
+        {"matrix": [2, 4], "x": 4, "y": 2},
+        {"matrix": [2, 5], "x": 5, "y": 2},
+        {"matrix": [2, 6], "x": 6, "y": 2},
+        {"matrix": [2, 7], "x": 7, "y": 2},
+        {"matrix": [2, 8], "x": 8, "y": 2},
+        {"matrix": [2, 9], "x": 9, "y": 2},
+        {"matrix": [2, 10], "x": 10, "y": 2},
+        {"matrix": [2, 11], "x": 11, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3},
+        {"matrix": [3, 1], "x": 1, "y": 3},
+        {"matrix": [3, 2], "x": 2, "y": 3},
+        {"matrix": [3, 3], "x": 3, "y": 3},
+        {"matrix": [3, 4], "x": 4, "y": 3},
+        {"matrix": [3, 5], "x": 5, "y": 3},
+        {"matrix": [3, 6], "x": 6, "y": 3},
+        {"matrix": [3, 7], "x": 7, "y": 3},
+        {"matrix": [3, 8], "x": 8, "y": 3},
+        {"matrix": [3, 9], "x": 9, "y": 3},
+        {"matrix": [3, 10], "x": 10, "y": 3},
+        {"matrix": [3, 11], "x": 11, "y": 3}
+      ]
     },
     "LAYOUT_2u_space_ortho": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Caps", "x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"GUI", "x":3, "y":3}, {"label":"MO(1)", "x":4, "y":3}, {"label":"Space", "x":5, "y":3, "w":2}, {"label":"MO(2)", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2},
+        {"matrix": [2, 1], "x": 1, "y": 2},
+        {"matrix": [2, 2], "x": 2, "y": 2},
+        {"matrix": [2, 3], "x": 3, "y": 2},
+        {"matrix": [2, 4], "x": 4, "y": 2},
+        {"matrix": [2, 5], "x": 5, "y": 2},
+        {"matrix": [2, 6], "x": 6, "y": 2},
+        {"matrix": [2, 7], "x": 7, "y": 2},
+        {"matrix": [2, 8], "x": 8, "y": 2},
+        {"matrix": [2, 9], "x": 9, "y": 2},
+        {"matrix": [2, 10], "x": 10, "y": 2},
+        {"matrix": [2, 11], "x": 11, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3},
+        {"matrix": [3, 1], "x": 1, "y": 3},
+        {"matrix": [3, 2], "x": 2, "y": 3},
+        {"matrix": [3, 3], "x": 3, "y": 3},
+        {"matrix": [3, 4], "x": 4, "y": 3},
+        {"matrix": [3, 5], "x": 5, "y": 3, "w": 2},
+        {"matrix": [3, 7], "x": 7, "y": 3},
+        {"matrix": [3, 8], "x": 8, "y": 3},
+        {"matrix": [3, 9], "x": 9, "y": 3},
+        {"matrix": [3, 10], "x": 10, "y": 3},
+        {"matrix": [3, 11], "x": 11, "y": 3}
+      ]
     },
     "LAYOUT_625_space": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"Enter", "x":10.25, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":"Shift", "x":9.75, "y":2, "w":1.25}, {"label":">", "x":11, "y":2}, {"label":"Control", "x":0, "y":3, "w":1.25}, {"label":"Alt", "x":1.25, "y":3}, {"label":"GUI", "x":2.25, "y":3}, {"x":3.25, "y":3, "w":6.25}, {"label":"MO(1)", "x":9.5, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.75, "y":3, "w":1.25}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+        {"matrix": [1, 1], "x": 1.25, "y": 1},
+        {"matrix": [1, 2], "x": 2.25, "y": 1},
+        {"matrix": [1, 3], "x": 3.25, "y": 1},
+        {"matrix": [1, 4], "x": 4.25, "y": 1},
+        {"matrix": [1, 5], "x": 5.25, "y": 1},
+        {"matrix": [1, 6], "x": 6.25, "y": 1},
+        {"matrix": [1, 7], "x": 7.25, "y": 1},
+        {"matrix": [1, 8], "x": 8.25, "y": 1},
+        {"matrix": [1, 9], "x": 9.25, "y": 1},
+        {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2, "w": 1.25},
+        {"matrix": [2, 11], "x": 11, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 6], "x": 3.25, "y": 3, "w": 6.25},
+        {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.25},
+        {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25}
+      ]
     },
     "LAYOUT_split_space": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"Enter", "x":10.25, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":"Shift", "x":9.75, "y":2, "w":1.25}, {"label":">", "x":11, "y":2}, {"label":"Control", "x":0, "y":3, "w":1.25}, {"label":"Alt", "x":1.25, "y":3}, {"label":"GUI", "x":2.25, "y":3, "w":1.25}, {"label":"Space", "x":3.5, "y":3, "w":2.75}, {"label":"Space", "x":6.25, "y":3, "w":2.25}, {"label":"Control", "x":8.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.75, "y":3}, {"label":"MO(2)", "x":10.75, "y":3, "w":1.25}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+        {"matrix": [1, 1], "x": 1.25, "y": 1},
+        {"matrix": [1, 2], "x": 2.25, "y": 1},
+        {"matrix": [1, 3], "x": 3.25, "y": 1},
+        {"matrix": [1, 4], "x": 4.25, "y": 1},
+        {"matrix": [1, 5], "x": 5.25, "y": 1},
+        {"matrix": [1, 6], "x": 6.25, "y": 1},
+        {"matrix": [1, 7], "x": 7.25, "y": 1},
+        {"matrix": [1, 8], "x": 8.25, "y": 1},
+        {"matrix": [1, 9], "x": 9.25, "y": 1},
+        {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 2], "x": 1.75, "y": 2},
+        {"matrix": [2, 3], "x": 2.75, "y": 2},
+        {"matrix": [2, 4], "x": 3.75, "y": 2},
+        {"matrix": [2, 5], "x": 4.75, "y": 2},
+        {"matrix": [2, 6], "x": 5.75, "y": 2},
+        {"matrix": [2, 7], "x": 6.75, "y": 2},
+        {"matrix": [2, 8], "x": 7.75, "y": 2},
+        {"matrix": [2, 9], "x": 8.75, "y": 2},
+        {"matrix": [2, 10], "x": 9.75, "y": 2, "w": 1.25},
+        {"matrix": [2, 11], "x": 11, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+        {"matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.75},
+        {"matrix": [3, 7], "x": 6.25, "y": 3, "w": 2.25},
+        {"matrix": [3, 9], "x": 8.5, "y": 3, "w": 1.25},
+        {"matrix": [3, 10], "x": 9.75, "y": 3},
+        {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25}
+      ]
     }
   }
 }
diff --git a/keyboards/mechkeys/mechmini/v2/v2.h b/keyboards/mechkeys/mechmini/v2/v2.h
deleted file mode 100755
index 7e817ae9ab..0000000000
--- a/keyboards/mechkeys/mechmini/v2/v2.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2018 TurboMech /u/TurboMech <discord> @A9entOran9e#6134
- * 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
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT_ortho( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B } \
-}
-
-#define LAYOUT_625_space( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,      k1B, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
-    k30, k31, k32,                k36,                k3A, k3B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1B }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
-    { k30, k31, k32, XXX, XXX, XXX, k36, XXX, XXX, XXX, k3A, k3B } \
-}
-
-#define LAYOUT_split_space( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,      k1B, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
-    k30, k31, k32,      k34,           k37,      k39, k3A, k3B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1B }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
-    { k30, k31, k32, XXX, k34, XXX, XXX, k37, XXX, k39, k3A, k3B } \
-}
-
-#define LAYOUT_2u_space_ortho( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
-    k30, k31, k32, k33, k34,   k35,    k37, k38, k39, k3A, k3B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
-    { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3A, k3B } \
-}
diff --git a/keyboards/mt/mt40/info.json b/keyboards/mt/mt40/info.json
index 3af8ecceb2..4d3cab4eba 100644
--- a/keyboards/mt/mt40/info.json
+++ b/keyboards/mt/mt40/info.json
@@ -22,9 +22,63 @@
   "processor": "atmega32a",
   "bootloader": "bootloadhid",
   "community_layouts": ["planck_mit"],
+  "layout_aliases": {
+    "LAYOUT": "LAYOUT_planck_mit"
+  },
   "layouts": {
     "LAYOUT_planck_mit": {
-      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
+      "layout": [
+        {"matrix": [4, 0], "x": 0, "y": 0},
+        {"matrix": [3, 1], "x": 1, "y": 0},
+        {"matrix": [3, 2], "x": 2, "y": 0},
+        {"matrix": [3, 3], "x": 3, "y": 0},
+        {"matrix": [3, 4], "x": 4, "y": 0},
+        {"matrix": [3, 5], "x": 5, "y": 0},
+        {"matrix": [5, 2], "x": 6, "y": 0},
+        {"matrix": [5, 12], "x": 7, "y": 0},
+        {"matrix": [6, 12], "x": 8, "y": 0},
+        {"matrix": [6, 2], "x": 9, "y": 0},
+        {"matrix": [3, 10], "x": 10, "y": 0},
+        {"matrix": [4, 14], "x": 11, "y": 0},
+
+        {"matrix": [3, 0], "x": 0, "y": 1},
+        {"matrix": [2, 1], "x": 1, "y": 1},
+        {"matrix": [2, 2], "x": 2, "y": 1},
+        {"matrix": [2, 3], "x": 3, "y": 1},
+        {"matrix": [2, 4], "x": 4, "y": 1},
+        {"matrix": [2, 5], "x": 5, "y": 1},
+        {"matrix": [5, 3], "x": 6, "y": 1},
+        {"matrix": [5, 13], "x": 7, "y": 1},
+        {"matrix": [6, 13], "x": 8, "y": 1},
+        {"matrix": [6, 3], "x": 9, "y": 1},
+        {"matrix": [2, 10], "x": 10, "y": 1},
+        {"matrix": [2, 11], "x": 11, "y": 1},
+
+        {"matrix": [1, 0], "x": 0, "y": 2},
+        {"matrix": [1, 1], "x": 1, "y": 2},
+        {"matrix": [1, 2], "x": 2, "y": 2},
+        {"matrix": [1, 3], "x": 3, "y": 2},
+        {"matrix": [1, 4], "x": 4, "y": 2},
+        {"matrix": [1, 5], "x": 5, "y": 2},
+        {"matrix": [5, 4], "x": 6, "y": 2},
+        {"matrix": [5, 14], "x": 7, "y": 2},
+        {"matrix": [6, 14], "x": 8, "y": 2},
+        {"matrix": [6, 4], "x": 9, "y": 2},
+        {"matrix": [1, 10], "x": 10, "y": 2},
+        {"matrix": [6, 6], "x": 11, "y": 2},
+
+        {"matrix": [2, 0], "x": 0, "y": 3},
+        {"matrix": [0, 0], "x": 1, "y": 3},
+        {"matrix": [0, 1], "x": 2, "y": 3},
+        {"matrix": [0, 2], "x": 3, "y": 3},
+        {"matrix": [0, 4], "x": 4, "y": 3},
+        {"matrix": [0, 5], "x": 5, "y": 3, "w": 2},
+        {"matrix": [0, 11], "x": 7, "y": 3},
+        {"matrix": [5, 6], "x": 8, "y": 3},
+        {"matrix": [5, 8], "x": 9, "y": 3},
+        {"matrix": [5, 7], "x": 10, "y": 3},
+        {"matrix": [5, 9], "x": 11, "y": 3}
+      ]
     }
   }
 }
diff --git a/keyboards/mt/mt40/mt40.h b/keyboards/mt/mt40/mt40.h
deleted file mode 100644
index dc0de22b28..0000000000
--- a/keyboards/mt/mt40/mt40.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * 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
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Planck MIT layout
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT_planck_mit( \
-    k40, k31, k32, k33, k34, k35, k52, k5C, k6C, k62, k3A, k4E, \
-    k30, k21, k22, k23, k24, k25, k53, k5D, k6D, k63, k2A, k2B, \
-    k10, k11, k12, k13, k14, k15, k54, k5E, k6E, k64, k1A, k66, \
-    k20, k00, k01, k02, k04,    k05,   k0B, k56, k58, k57, k59 \
-) { \
-    { k00, k01, k02, XXX, k04, k05, XXX, XXX, XXX, XXX, XXX, k0B, XXX, XXX, XXX }, \
-    { k10, k11, k12, k13, k14, k15, XXX, XXX, XXX, XXX, k1A, XXX, XXX, XXX, XXX }, \
-    { k20, k21, k22, k23, k24, k25, XXX, XXX, XXX, XXX, k2A, k2B, XXX, XXX, XXX }, \
-    { k30, k31, k32, k33, k34, k35, XXX, XXX, XXX, XXX, k3A, XXX, XXX, XXX, XXX }, \
-    { k40, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k4E }, \
-    { XXX, XXX, k52, k53, k54, k05, k56, k57, k58, k59, XXX, XXX, k5C, k5D, k5E }, \
-    { XXX, XXX, k62, k63, k64, XXX, k66, XXX, XXX, XXX, XXX, XXX, k6C, k6D, k6E } \
-}
-
-#define LAYOUT LAYOUT_planck_mit
diff --git a/keyboards/sx60/info.json b/keyboards/sx60/info.json
index 86efe2239c..183e37b974 100644
--- a/keyboards/sx60/info.json
+++ b/keyboards/sx60/info.json
@@ -20,19 +20,351 @@
     "bootloader": "atmel-dfu",
     "layouts": {
         "LAYOUT": {
-            "layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1!", "x":2.25, "y":0}, {"label":"2@", "x":3.25, "y":0}, {"label":"3#", "x":4.25, "y":0}, {"label":"4$", "x":5.25, "y":0}, {"label":"5%", "x":6.25, "y":0}, {"label":"6^", "x":7.25, "y":0}, {"label":"7&", "x":9.25, "y":0}, {"label":"8*", "x":10.25, "y":0}, {"label":"9(", "x":11.25, "y":0}, {"label":"0)", "x":12.25, "y":0}, {"label":"-_", "x":13.25, "y":0}, {"label":"=+", "x":14.25, "y":0}, {"label":"\\|", "x":15.25, "y":0}, {"label":"`~", "x":16.25, "y":0}, {"label":"M1", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":8.75, "y":1}, {"label":"U", "x":9.75, "y":1}, {"label":"I", "x":10.75, "y":1}, {"label":"O", "x":11.75, "y":1}, {"label":"P", "x":12.75, "y":1}, {"label":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"Backspace", "x":15.75, "y":1, "w":1.5}, {"label":"M2", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":9, "y":2}, {"label":"J", "x":10, "y":2}, {"label":"K", "x":11, "y":2}, {"label":"L", "x":12, "y":2}, {"label":":", "x":13, "y":2}, {"label":"\"", "x":14, "y":2}, {"label":"ANSIEnter", "x":15, "y":2}, {"label":"ISOEnter", "x":16, "y":2, "w":1.25}, {"label":"M3", "x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":1.25}, {"label":"\\|", "x":2.5, "y":3}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":9.5, "y":3}, {"label":"M", "x":10.5, "y":3}, {"label":"<", "x":11.5, "y":3}, {"label":">", "x":12.5, "y":3}, {"label":"?", "x":13.5, "y":3}, {"label":"Shift", "x":14.5, "y":3, "w":1.75}, {"label":"Fn", "x":16.25, "y":3}, {"label":"M4", "x":0, "y":4}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2}, {"x":7, "y":4}, {"x":9, "y":4, "w":2.75}, {"label":"Alt", "x":11.75, "y":4, "w":1.25}, {"label":"Win", "x":13, "y":4, "w":1.25}, {"label":"Menu", "x":14.25, "y":4}, {"label":"Ctrl", "x":15.25, "y":4}, {"label":"Fn2", "x":16.25, "y":4}]
+            "layout": [
+                {"matrix": [0, 0], "x": 1.25, "y": 0},
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 7.25, "y": 0},
+
+                {"matrix": [0, 8], "x": 9.25, "y": 0},
+                {"matrix": [0, 9], "x": 10.25, "y": 0},
+                {"matrix": [0, 10], "x": 11.25, "y": 0},
+                {"matrix": [0, 11], "x": 12.25, "y": 0},
+                {"matrix": [0, 12], "x": 13.25, "y": 0},
+                {"matrix": [0, 13], "x": 14.25, "y": 0},
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+
+                {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 2], "x": 2.75, "y": 1},
+                {"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, 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": [2, 0], "x": 0, "y": 2},
+
+                {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"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, 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, 14], "x": 15, "y": 2},
+                {"matrix": [2, 15], "x": 16, "y": 2, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
+                {"matrix": [3, 2], "x": 2.5, "y": 3},
+                {"matrix": [3, 3], "x": 3.5, "y": 3},
+                {"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": 9.5, "y": 3},
+                {"matrix": [3, 9], "x": 10.5, "y": 3},
+                {"matrix": [3, 10], "x": 11.5, "y": 3},
+                {"matrix": [3, 11], "x": 12.5, "y": 3},
+                {"matrix": [3, 12], "x": 13.5, "y": 3},
+                {"matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 14], "x": 16.25, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 7, "y": 4},
+
+                {"matrix": [4, 8], "x": 9, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 13, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 14.25, "y": 4},
+                {"matrix": [4, 12], "x": 15.25, "y": 4},
+                {"matrix": [4, 13], "x": 16.25, "y": 4}
+            ]
         },
 
         "LAYOUT_ansi_split_bs_rshift": {
-            "layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1!", "x":2.25, "y":0}, {"label":"2@", "x":3.25, "y":0}, {"label":"3#", "x":4.25, "y":0}, {"label":"4$", "x":5.25, "y":0}, {"label":"5%", "x":6.25, "y":0}, {"label":"6^", "x":7.25, "y":0}, {"label":"7&", "x":9.25, "y":0}, {"label":"8*", "x":10.25, "y":0}, {"label":"9(", "x":11.25, "y":0}, {"label":"0)", "x":12.25, "y":0}, {"label":"-_", "x":13.25, "y":0}, {"label":"=+", "x":14.25, "y":0}, {"label":"\\|", "x":15.25, "y":0}, {"label":"`~", "x":16.25, "y":0}, {"label":"M1", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":8.75, "y":1}, {"label":"U", "x":9.75, "y":1}, {"label":"I", "x":10.75, "y":1}, {"label":"O", "x":11.75, "y":1}, {"label":"P", "x":12.75, "y":1}, {"label":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"Backspace", "x":15.75, "y":1, "w":1.5}, {"label":"M2", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":9, "y":2}, {"label":"J", "x":10, "y":2}, {"label":"K", "x":11, "y":2}, {"label":"L", "x":12, "y":2}, {"label":":", "x":13, "y":2}, {"label":"\"", "x":14, "y":2}, {"label":"Enter", "x":15, "y":2, "w":2.25}, {"label":"M3", "x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":9.5, "y":3}, {"label":"M", "x":10.5, "y":3}, {"label":"<", "x":11.5, "y":3}, {"label":">", "x":12.5, "y":3}, {"label":"?", "x":13.5, "y":3}, {"label":"Shift", "x":14.5, "y":3, "w":1.75}, {"label":"Fn", "x":16.25, "y":3}, {"label":"M4", "x":0, "y":4}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2}, {"x":7, "y":4}, {"x":9, "y":4, "w":2.75}, {"label":"Alt", "x":11.75, "y":4, "w":1.25}, {"label":"Win", "x":13, "y":4, "w":1.25}, {"label":"Menu", "x":14.25, "y":4}, {"label":"Ctrl", "x":15.25, "y":4}, {"label":"Fn2", "x":16.25, "y":4}]
+            "layout": [
+                {"matrix": [0, 0], "x": 1.25, "y": 0},
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 7.25, "y": 0},
+
+                {"matrix": [0, 8], "x": 9.25, "y": 0},
+                {"matrix": [0, 9], "x": 10.25, "y": 0},
+                {"matrix": [0, 10], "x": 11.25, "y": 0},
+                {"matrix": [0, 11], "x": 12.25, "y": 0},
+                {"matrix": [0, 12], "x": 13.25, "y": 0},
+                {"matrix": [0, 13], "x": 14.25, "y": 0},
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+
+                {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 2], "x": 2.75, "y": 1},
+                {"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, 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": [2, 0], "x": 0, "y": 2},
+
+                {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"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, 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, 14], "x": 15, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 3], "x": 3.5, "y": 3},
+                {"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": 9.5, "y": 3},
+                {"matrix": [3, 9], "x": 10.5, "y": 3},
+                {"matrix": [3, 10], "x": 11.5, "y": 3},
+                {"matrix": [3, 11], "x": 12.5, "y": 3},
+                {"matrix": [3, 12], "x": 13.5, "y": 3},
+                {"matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 15], "x": 16.25, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 7, "y": 4},
+
+                {"matrix": [4, 8], "x": 9, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 13, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 14.25, "y": 4},
+                {"matrix": [4, 12], "x": 15.25, "y": 4},
+                {"matrix": [4, 13], "x": 16.25, "y": 4}
+            ]
         },
 
         "LAYOUT_ansi_split_bs": {
-            "layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1!", "x":2.25, "y":0}, {"label":"2@", "x":3.25, "y":0}, {"label":"3#", "x":4.25, "y":0}, {"label":"4$", "x":5.25, "y":0}, {"label":"5%", "x":6.25, "y":0}, {"label":"6^", "x":7.25, "y":0}, {"label":"7&", "x":9.25, "y":0}, {"label":"8*", "x":10.25, "y":0}, {"label":"9(", "x":11.25, "y":0}, {"label":"0)", "x":12.25, "y":0}, {"label":"-_", "x":13.25, "y":0}, {"label":"=+", "x":14.25, "y":0}, {"label":"\\|", "x":15.25, "y":0}, {"label":"`~", "x":16.25, "y":0}, {"label":"M1", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":8.75, "y":1}, {"label":"U", "x":9.75, "y":1}, {"label":"I", "x":10.75, "y":1}, {"label":"O", "x":11.75, "y":1}, {"label":"P", "x":12.75, "y":1}, {"label":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"Backspace", "x":15.75, "y":1, "w":1.5}, {"label":"M2", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":9, "y":2}, {"label":"J", "x":10, "y":2}, {"label":"K", "x":11, "y":2}, {"label":"L", "x":12, "y":2}, {"label":":", "x":13, "y":2}, {"label":"\"", "x":14, "y":2}, {"label":"Enter", "x":15, "y":2, "w":2.25}, {"label":"M3", "x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":9.5, "y":3}, {"label":"M", "x":10.5, "y":3}, {"label":"<", "x":11.5, "y":3}, {"label":">", "x":12.5, "y":3}, {"label":"?", "x":13.5, "y":3}, {"label":"Shift", "x":14.5, "y":3, "w":2.75}, {"label":"M4", "x":0, "y":4}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2}, {"x":7, "y":4}, {"x":9, "y":4, "w":2.75}, {"label":"Alt", "x":11.75, "y":4, "w":1.25}, {"label":"Win", "x":13, "y":4, "w":1.25}, {"label":"Menu", "x":14.25, "y":4}, {"label":"Ctrl", "x":15.25, "y":4}, {"label":"Fn", "x":16.25, "y":4}]
+            "layout": [
+                {"matrix": [0, 0], "x": 1.25, "y": 0},
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 7.25, "y": 0},
+
+                {"matrix": [0, 8], "x": 9.25, "y": 0},
+                {"matrix": [0, 9], "x": 10.25, "y": 0},
+                {"matrix": [0, 10], "x": 11.25, "y": 0},
+                {"matrix": [0, 11], "x": 12.25, "y": 0},
+                {"matrix": [0, 12], "x": 13.25, "y": 0},
+                {"matrix": [0, 13], "x": 14.25, "y": 0},
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+
+                {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 2], "x": 2.75, "y": 1},
+                {"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, 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": [2, 0], "x": 0, "y": 2},
+
+                {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"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, 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, 14], "x": 15, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 3], "x": 3.5, "y": 3},
+                {"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": 9.5, "y": 3},
+                {"matrix": [3, 9], "x": 10.5, "y": 3},
+                {"matrix": [3, 10], "x": 11.5, "y": 3},
+                {"matrix": [3, 11], "x": 12.5, "y": 3},
+                {"matrix": [3, 12], "x": 13.5, "y": 3},
+                {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 7, "y": 4},
+
+                {"matrix": [4, 8], "x": 9, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 13, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 14.25, "y": 4},
+                {"matrix": [4, 12], "x": 15.25, "y": 4},
+                {"matrix": [4, 13], "x": 16.25, "y": 4}
+            ]
         },
 
         "LAYOUT_ansi_split_rshift": {
-            "layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1!", "x":2.25, "y":0}, {"label":"2@", "x":3.25, "y":0}, {"label":"3#", "x":4.25, "y":0}, {"label":"4$", "x":5.25, "y":0}, {"label":"5%", "x":6.25, "y":0}, {"label":"6^", "x":7.25, "y":0}, {"label":"7&", "x":9.25, "y":0}, {"label":"8*", "x":10.25, "y":0}, {"label":"9(", "x":11.25, "y":0}, {"label":"0)", "x":12.25, "y":0}, {"label":"-_", "x":13.25, "y":0}, {"label":"=+", "x":14.25, "y":0}, {"label":"Backspace", "x":15.25, "y":0, "w":2}, {"label":"M1", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":8.75, "y":1}, {"label":"U", "x":9.75, "y":1}, {"label":"I", "x":10.75, "y":1}, {"label":"O", "x":11.75, "y":1}, {"label":"P", "x":12.75, "y":1}, {"label":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"\\|", "x":15.75, "y":1, "w":1.5}, {"label":"M2", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":9, "y":2}, {"label":"J", "x":10, "y":2}, {"label":"K", "x":11, "y":2}, {"label":"L", "x":12, "y":2}, {"label":":", "x":13, "y":2}, {"label":"\"", "x":14, "y":2}, {"label":"Enter", "x":15, "y":2, "w":2.25}, {"label":"M3", "x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":9.5, "y":3}, {"label":"M", "x":10.5, "y":3}, {"label":"<", "x":11.5, "y":3}, {"label":">", "x":12.5, "y":3}, {"label":"?", "x":13.5, "y":3}, {"label":"Shift", "x":14.5, "y":3, "w":1.75}, {"label":"Fn", "x":16.25, "y":3}, {"label":"M4", "x":0, "y":4}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2}, {"x":7, "y":4}, {"x":9, "y":4, "w":2.75}, {"label":"Alt", "x":11.75, "y":4, "w":1.25}, {"label":"Win", "x":13, "y":4, "w":1.25}, {"label":"Menu", "x":14.25, "y":4}, {"label":"Ctrl", "x":15.25, "y":4}, {"label":"Fn2", "x":16.25, "y":4}]
+            "layout": [
+                {"matrix": [0, 0], "x": 1.25, "y": 0},
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 7.25, "y": 0},
+
+                {"matrix": [0, 8], "x": 9.25, "y": 0},
+                {"matrix": [0, 9], "x": 10.25, "y": 0},
+                {"matrix": [0, 10], "x": 11.25, "y": 0},
+                {"matrix": [0, 11], "x": 12.25, "y": 0},
+                {"matrix": [0, 12], "x": 13.25, "y": 0},
+                {"matrix": [0, 13], "x": 14.25, "y": 0},
+                {"matrix": [0, 14], "x": 15.25, "y": 0, "w": 2},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+
+                {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+                {"matrix": [1, 2], "x": 2.75, "y": 1},
+                {"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, 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": [2, 0], "x": 0, "y": 2},
+
+                {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"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, 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, 14], "x": 15, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 3], "x": 3.5, "y": 3},
+                {"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": 9.5, "y": 3},
+                {"matrix": [3, 9], "x": 10.5, "y": 3},
+                {"matrix": [3, 10], "x": 11.5, "y": 3},
+                {"matrix": [3, 11], "x": 12.5, "y": 3},
+                {"matrix": [3, 12], "x": 13.5, "y": 3},
+                {"matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75},
+                {"matrix": [3, 15], "x": 16.25, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 7, "y": 4},
+
+                {"matrix": [4, 8], "x": 9, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 13, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 14.25, "y": 4},
+                {"matrix": [4, 12], "x": 15.25, "y": 4},
+                {"matrix": [4, 13], "x": 16.25, "y": 4}
+            ]
         }
     }
 }
diff --git a/keyboards/sx60/sx60.h b/keyboards/sx60/sx60.h
index 605b6fe78d..6e72005421 100755
--- a/keyboards/sx60/sx60.h
+++ b/keyboards/sx60/sx60.h
@@ -21,61 +21,3 @@
 extern uint8_t mcp23018_status;
 
 uint8_t init_mcp23018(void);
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-          k00, k01, k02, k03, k04, k05, k06,    k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
-    k10,  k11,    k12, k13, k14, k15, k16,    k18, k19, k1A, k1B, k1C, k1D, k1E,  k1F, \
-    k20,    k21,    k22, k23, k24, k25, k26,    k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \
-    k30,   k31,  k32, k33, k34, k35, k36, k37,    k38, k39, k3A, k3B, k3C,  k3D,   k3E, \
-    k40,  k41,   k42,   k43,   k44,   k45,       k48,     k49,    k4A,   k4B, k4C, k4D \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, XXX, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, XXX, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, XXX, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3E }, \
-    { k40, k41, k42, k43, k44, k45, XXX, XXX, k48, k49, k4A, k4B, k4C, k4D, XXX, XXX } \
-}
-
-#define LAYOUT_ansi_split_bs_rshift( \
-          k00, k01, k02, k03, k04, k05, k06,    k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
-    k10,  k11,   k12, k13, k14, k15, k16,    k18, k19, k1A, k1B, k1C, k1D, k1E,   k1F, \
-    k20,    k21,  k22, k23, k24, k25, k26,    k28, k29, k2A, k2B, k2C, k2D,      k2E, \
-    k30,     k31,   k33, k34, k35, k36, k37,    k38, k39, k3A, k3B, k3C,   k3D,    k3E, \
-    k40,  k41,   k42,   k43,   k44,   k45,        k48,     k49,   k4A,   k4B, k4C, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, XXX, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, XXX, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, XXX, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, XXX, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3E }, \
-    { k40, k41, k42, k43, k44, k45, XXX, XXX, k48, k49, k4A, k4B, k4C, k4E, XXX, XXX } \
-}
-
-#define LAYOUT_ansi_split_bs( \
-          k00, k01, k02, k03, k04, k05, k06,    k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
-    k10,  k11,   k12, k13, k14, k15, k16,    k18, k19, k1A, k1B, k1C, k1D, k1E,   k1F, \
-    k20,    k21,  k22, k23, k24, k25, k26,    k28, k29, k2A, k2B, k2C, k2D,      k2E, \
-    k30,     k31,   k33, k34, k35, k36, k37,    k38, k39, k3A, k3B, k3C,     k3D, \
-    k40,  k41,   k42,   k43,   k44,   k45,        k48,     k49,   k4A,   k4B, k4C, k4D \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, XXX, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, XXX, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, XXX, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, XXX, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, XXX }, \
-    { k40, k41, k42, k43, k44, k45, XXX, XXX, k48, k49, k4A, k4B, k4C, k4D, XXX, XXX } \
-}
-
-#define LAYOUT_ansi_split_rshift( \
-         k00, k01, k02, k03, k04, k05, k06,    k08, k09, k0A, k0B, k0C, k0D, k0E, \
-    k10,  k11,   k12, k13, k14, k15, k16,    k18, k19, k1A, k1B, k1C, k1D, k1E,   k1F, \
-    k20,    k21,  k22, k23, k24, k25, k26,    k28, k29, k2A, k2B, k2C, k2D,      k2E, \
-    k30,     k31,   k33, k34, k35, k36, k37,    k38, k39, k3A, k3B, k3C,   k3D,    k3E, \
-    k40,  k41,   k42,   k43,   k44,   k45,        k48,     k49,   k4A,   k4B, k4C, k4D \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, XXX, k08, k09, k0A, k0B, k0C, k0D, k0E, k0E }, \
-    { k10, k11, k12, k13, k14, k15, k16, XXX, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, XXX, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, XXX, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3E }, \
-    { k40, k41, k42, k43, k44, k45, XXX, XXX, k48, k49, k4A, k4B, k4C, k4D, XXX, XXX } \
-}
diff --git a/keyboards/xiudi/xd96/info.json b/keyboards/xiudi/xd96/info.json
index 7d60236491..c5b667bb12 100644
--- a/keyboards/xiudi/xd96/info.json
+++ b/keyboards/xiudi/xd96/info.json
@@ -22,342 +22,332 @@
   "layouts": {  
     "LAYOUT_96_ansi": {
       "layout": [
-        {"label":"Esc", "x":0, "y":0},
-        {"label":"F1", "x":1, "y":0},
-        {"label":"F2", "x":2, "y":0},
-        {"label":"F3", "x":3, "y":0},
-        {"label":"F4", "x":4, "y":0},
-        {"label":"F5", "x":5, "y":0},
-        {"label":"F6", "x":6, "y":0},
-        {"label":"F7", "x":7, "y":0},
-        {"label":"F8", "x":8, "y":0},
-        {"label":"F9", "x":9, "y":0},
-        {"label":"F10", "x":10, "y":0},
-        {"label":"F11", "x":11, "y":0},
-        {"label":"F12", "x":12, "y":0},
-        {"label":"Insert", "x":13, "y":0},
-        {"label":"Delete", "x":14, "y":0},
-        {"label":"Home", "x":15, "y":0},
-        {"label":"End", "x":16, "y":0},
-        {"label":"PgUp", "x":17, "y":0},
-        {"label":"PgDn", "x":18, "y":0},
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [5, 6], "x": 14, "y": 0},
+        {"matrix": [0, 14], "x": 15, "y": 0},
+        {"matrix": [0, 15], "x": 16, "y": 0},
+        {"matrix": [0, 16], "x": 17, "y": 0},
+        {"matrix": [0, 17], "x": 18, "y": 0},
 
-        {"label":"~", "x":0, "y":1},
-        {"label":"!", "x":1, "y":1},
-        {"label":"@", "x":2, "y":1},
-        {"label":"#", "x":3, "y":1},
-        {"label":"$", "x":4, "y":1},
-        {"label":"%", "x":5, "y":1},
-        {"label":"^", "x":6, "y":1},
-        {"label":"&", "x":7, "y":1},
-        {"label":"*", "x":8, "y":1},
-        {"label":"(", "x":9, "y":1},
-        {"label":")", "x":10, "y":1},
-        {"label":"_", "x":11, "y":1},
-        {"label":"+", "x":12, "y":1},
-        {"label":"Backspace", "x":13, "y":1, "w":2},
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+        {"matrix": [1, 12], "x": 12, "y": 1},
+        {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+        {"matrix": [1, 14], "x": 15, "y": 1},
+        {"matrix": [1, 15], "x": 16, "y": 1},
+        {"matrix": [1, 16], "x": 17, "y": 1},
+        {"matrix": [1, 17], "x": 18, "y": 1},
 
-        {"label":"Num Lock", "x":15, "y":1},
-        {"label":"/", "x":16, "y":1},
-        {"label":"*", "x":17, "y":1},
-        {"label":"-", "x":18, "y":1},
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2},
+        {"matrix": [2, 2], "x": 2.5, "y": 2},
+        {"matrix": [2, 3], "x": 3.5, "y": 2},
+        {"matrix": [2, 4], "x": 4.5, "y": 2},
+        {"matrix": [2, 5], "x": 5.5, "y": 2},
+        {"matrix": [2, 6], "x": 6.5, "y": 2},
+        {"matrix": [2, 7], "x": 7.5, "y": 2},
+        {"matrix": [2, 8], "x": 8.5, "y": 2},
+        {"matrix": [2, 9], "x": 9.5, "y": 2},
+        {"matrix": [2, 10], "x": 10.5, "y": 2},
+        {"matrix": [2, 11], "x": 11.5, "y": 2},
+        {"matrix": [2, 12], "x": 12.5, "y": 2},
+        {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+        {"matrix": [2, 14], "x": 15, "y": 2},
+        {"matrix": [2, 15], "x": 16, "y": 2},
+        {"matrix": [2, 16], "x": 17, "y": 2},
 
-        {"label":"Tab", "x":0, "y":2, "w":1.5},
-        {"label":"Q", "x":1.5, "y":2},
-        {"label":"W", "x":2.5, "y":2},
-        {"label":"E", "x":3.5, "y":2},
-        {"label":"R", "x":4.5, "y":2},
-        {"label":"T", "x":5.5, "y":2},
-        {"label":"Y", "x":6.5, "y":2},
-        {"label":"U", "x":7.5, "y":2},
-        {"label":"I", "x":8.5, "y":2},
-        {"label":"O", "x":9.5, "y":2},
-        {"label":"P", "x":10.5, "y":2},
-        {"label":"{", "x":11.5, "y":2},
-        {"label":"}", "x":12.5, "y":2},
-        {"label":"|", "x":13.5, "y":2, "w":1.5},
-        {"label":"7", "x":15, "y":2},
-        {"label":"8", "x":16, "y":2},
-        {"label":"9", "x":17, "y":2},
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+        {"matrix": [3, 1], "x": 1.75, "y": 3},
+        {"matrix": [3, 2], "x": 2.75, "y": 3},
+        {"matrix": [3, 3], "x": 3.75, "y": 3},
+        {"matrix": [3, 4], "x": 4.75, "y": 3},
+        {"matrix": [3, 5], "x": 5.75, "y": 3},
+        {"matrix": [3, 6], "x": 6.75, "y": 3},
+        {"matrix": [3, 7], "x": 7.75, "y": 3},
+        {"matrix": [3, 8], "x": 8.75, "y": 3},
+        {"matrix": [3, 9], "x": 9.75, "y": 3},
+        {"matrix": [3, 10], "x": 10.75, "y": 3},
+        {"matrix": [3, 11], "x": 11.75, "y": 3},
+        {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+        {"matrix": [3, 14], "x": 15, "y": 3},
+        {"matrix": [3, 15], "x": 16, "y": 3},
+        {"matrix": [3, 16], "x": 17, "y": 3},
+        {"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
 
-        {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
-        {"label":"A", "x":1.75, "y":3},
-        {"label":"S", "x":2.75, "y":3},
-        {"label":"D", "x":3.75, "y":3},
-        {"label":"F", "x":4.75, "y":3},
-        {"label":"G", "x":5.75, "y":3},
-        {"label":"H", "x":6.75, "y":3},
-        {"label":"J", "x":7.75, "y":3},
-        {"label":"K", "x":8.75, "y":3},
-        {"label":"L", "x":9.75, "y":3},
-        {"label":":", "x":10.75, "y":3},
-        {"label":"\"", "x":11.75, "y":3},
-        {"label":"Enter", "x":12.75, "y":3, "w":2.25},
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+        {"matrix": [4, 2], "x": 2.25, "y": 4},
+        {"matrix": [4, 3], "x": 3.25, "y": 4},
+        {"matrix": [4, 4], "x": 4.25, "y": 4},
+        {"matrix": [4, 5], "x": 5.25, "y": 4},
+        {"matrix": [4, 6], "x": 6.25, "y": 4},
+        {"matrix": [4, 7], "x": 7.25, "y": 4},
+        {"matrix": [4, 8], "x": 8.25, "y": 4},
+        {"matrix": [4, 9], "x": 9.25, "y": 4},
+        {"matrix": [4, 10], "x": 10.25, "y": 4},
+        {"matrix": [4, 11], "x": 11.25, "y": 4},
+        {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+        {"matrix": [4, 13], "x": 14, "y": 4},
+        {"matrix": [4, 14], "x": 15, "y": 4},
+        {"matrix": [4, 15], "x": 16, "y": 4},
+        {"matrix": [4, 16], "x": 17, "y": 4},
 
-        {"label":"4", "x":15, "y":3},
-        {"label":"5", "x":16, "y":3},
-        {"label":"6", "x":17, "y":3},
-        {"label":"+", "x":18, "y":2, "h":2},
-
-        {"label":"Shift", "x":0, "y":4, "w":2.25},
-        {"label":"Z", "x":2.25, "y":4},
-        {"label":"X", "x":3.25, "y":4},
-        {"label":"C", "x":4.25, "y":4},
-        {"label":"V", "x":5.25, "y":4},
-        {"label":"B", "x":6.25, "y":4},
-        {"label":"N", "x":7.25, "y":4},
-        {"label":"M", "x":8.25, "y":4},
-        {"label":"<", "x":9.25, "y":4},
-        {"label":">", "x":10.25, "y":4},
-        {"label":"?", "x":11.25, "y":4},
-        {"label":"Shift", "x":12.25, "y":4, "w":1.75},
-        {"label":"\u2191", "x":14, "y":4},
-
-        {"label":"1", "x":15, "y":4},
-        {"label":"2", "x":16, "y":4},
-        {"label":"3", "x":17, "y":4},
-
-        {"label":"Ctrl", "x":0, "y":5, "w":1.25},
-        {"label":"Win", "x":1.25, "y":5, "w":1.25},
-        {"label":"Alt", "x":2.5, "y":5, "w":1.25},
-        {"x":3.75, "y":5, "w":6.25},
-        {"label":"Alt", "x":10, "y":5, "w":1.5},
-        {"label":"Ctrl", "x":11.5, "y":5, "w":1.5},
-        {"label":"\u2190", "x":13, "y":5},
-        {"label":"\u2193", "x":14, "y":5},
-        {"label":"\u2192", "x":15, "y":5},
-
-        {"label":"0", "x":16, "y":5},
-        {"label":".", "x":17, "y":5},
-        {"label":"Enter", "x":18, "y":4, "h":2}
+        {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+        {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+        {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+        {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+        {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+        {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
+        {"matrix": [5, 12], "x": 13, "y": 5},
+        {"matrix": [5, 13], "x": 14, "y": 5},
+        {"matrix": [5, 14], "x": 15, "y": 5},
+        {"matrix": [5, 15], "x": 16, "y": 5},
+        {"matrix": [5, 16], "x": 17, "y": 5},
+        {"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
       ]
     },
     "LAYOUT_96_iso": {
       "layout": [
-        {"label":"Esc", "x":0, "y":0},
-        {"label":"F1", "x":1, "y":0},
-        {"label":"F2", "x":2, "y":0},
-        {"label":"F3", "x":3, "y":0},
-        {"label":"F4", "x":4, "y":0},
-        {"label":"F5", "x":5, "y":0},
-        {"label":"F6", "x":6, "y":0},
-        {"label":"F7", "x":7, "y":0},
-        {"label":"F8", "x":8, "y":0},
-        {"label":"F9", "x":9, "y":0},
-        {"label":"F10", "x":10, "y":0},
-        {"label":"F11", "x":11, "y":0},
-        {"label":"F12", "x":12, "y":0},
-        {"label":"Insert", "x":13, "y":0},
-        {"label":"Delete", "x":14, "y":0},
-        {"label":"Home", "x":15, "y":0},
-        {"label":"End", "x":16, "y":0},
-        {"label":"PgUp", "x":17, "y":0},
-        {"label":"PgDn", "x":18, "y":0},
-
-        {"label":"~", "x":0, "y":1},
-        {"label":"!", "x":1, "y":1},
-        {"label":"\"", "x":2, "y":1},
-        {"label":"\u00a3", "x":3, "y":1},
-        {"label":"$", "x":4, "y":1},
-        {"label":"%", "x":5, "y":1},
-        {"label":"^", "x":6, "y":1},
-        {"label":"&", "x":7, "y":1},
-        {"label":"*", "x":8, "y":1},
-        {"label":"(", "x":9, "y":1},
-        {"label":")", "x":10, "y":1},
-        {"label":"_", "x":11, "y":1},
-        {"label":"+", "x":12, "y":1},
-        {"label":"Backspace", "x":13, "y":1, "w":2},
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [5, 6], "x": 14, "y": 0},
+        {"matrix": [0, 14], "x": 15, "y": 0},
+        {"matrix": [0, 15], "x": 16, "y": 0},
+        {"matrix": [0, 16], "x": 17, "y": 0},
+        {"matrix": [0, 17], "x": 18, "y": 0},
 
-        {"label":"Num Lock", "x":15, "y":1},
-        {"label":"/", "x":16, "y":1},
-        {"label":"*", "x":17, "y":1},
-        {"label":"-", "x":18, "y":1},
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+        {"matrix": [1, 12], "x": 12, "y": 1},
+        {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+        {"matrix": [1, 14], "x": 15, "y": 1},
+        {"matrix": [1, 15], "x": 16, "y": 1},
+        {"matrix": [1, 16], "x": 17, "y": 1},
+        {"matrix": [1, 17], "x": 18, "y": 1},
 
-        {"label":"Tab", "x":0, "y":2, "w":1.5},
-        {"label":"Q", "x":1.5, "y":2},
-        {"label":"W", "x":2.5, "y":2},
-        {"label":"E", "x":3.5, "y":2},
-        {"label":"R", "x":4.5, "y":2},
-        {"label":"T", "x":5.5, "y":2},
-        {"label":"Y", "x":6.5, "y":2},
-        {"label":"U", "x":7.5, "y":2},
-        {"label":"I", "x":8.5, "y":2},
-        {"label":"O", "x":9.5, "y":2},
-        {"label":"P", "x":10.5, "y":2},
-        {"label":"{", "x":11.5, "y":2},
-        {"label":"}", "x":12.5, "y":2},
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2},
+        {"matrix": [2, 2], "x": 2.5, "y": 2},
+        {"matrix": [2, 3], "x": 3.5, "y": 2},
+        {"matrix": [2, 4], "x": 4.5, "y": 2},
+        {"matrix": [2, 5], "x": 5.5, "y": 2},
+        {"matrix": [2, 6], "x": 6.5, "y": 2},
+        {"matrix": [2, 7], "x": 7.5, "y": 2},
+        {"matrix": [2, 8], "x": 8.5, "y": 2},
+        {"matrix": [2, 9], "x": 9.5, "y": 2},
+        {"matrix": [2, 10], "x": 10.5, "y": 2},
+        {"matrix": [2, 11], "x": 11.5, "y": 2},
+        {"matrix": [2, 12], "x": 12.5, "y": 2},
+        {"matrix": [2, 14], "x": 15, "y": 2},
+        {"matrix": [2, 15], "x": 16, "y": 2},
+        {"matrix": [2, 16], "x": 17, "y": 2},
 
-        {"label":"7", "x":15, "y":2},
-        {"label":"8", "x":16, "y":2},
-        {"label":"9", "x":17, "y":2},
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+        {"matrix": [3, 1], "x": 1.75, "y": 3},
+        {"matrix": [3, 2], "x": 2.75, "y": 3},
+        {"matrix": [3, 3], "x": 3.75, "y": 3},
+        {"matrix": [3, 4], "x": 4.75, "y": 3},
+        {"matrix": [3, 5], "x": 5.75, "y": 3},
+        {"matrix": [3, 6], "x": 6.75, "y": 3},
+        {"matrix": [3, 7], "x": 7.75, "y": 3},
+        {"matrix": [3, 8], "x": 8.75, "y": 3},
+        {"matrix": [3, 9], "x": 9.75, "y": 3},
+        {"matrix": [3, 10], "x": 10.75, "y": 3},
+        {"matrix": [3, 11], "x": 11.75, "y": 3},
+        {"matrix": [3, 13], "x": 12.75, "y": 3},
+        {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+        {"matrix": [3, 14], "x": 15, "y": 3},
+        {"matrix": [3, 15], "x": 16, "y": 3},
+        {"matrix": [3, 16], "x": 17, "y": 3},
+        {"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
 
-        {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
-        {"label":"A", "x":1.75, "y":3},
-        {"label":"S", "x":2.75, "y":3},
-        {"label":"D", "x":3.75, "y":3},
-        {"label":"F", "x":4.75, "y":3},
-        {"label":"G", "x":5.75, "y":3},
-        {"label":"H", "x":6.75, "y":3},
-        {"label":"J", "x":7.75, "y":3},
-        {"label":"K", "x":8.75, "y":3},
-        {"label":"L", "x":9.75, "y":3},
-        {"label":":", "x":10.75, "y":3},
-        {"label":"@", "x":11.75, "y":3},
-        {"label":"~", "x":12.75, "y":3},
-        {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2},
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4},
+        {"matrix": [4, 2], "x": 2.25, "y": 4},
+        {"matrix": [4, 3], "x": 3.25, "y": 4},
+        {"matrix": [4, 4], "x": 4.25, "y": 4},
+        {"matrix": [4, 5], "x": 5.25, "y": 4},
+        {"matrix": [4, 6], "x": 6.25, "y": 4},
+        {"matrix": [4, 7], "x": 7.25, "y": 4},
+        {"matrix": [4, 8], "x": 8.25, "y": 4},
+        {"matrix": [4, 9], "x": 9.25, "y": 4},
+        {"matrix": [4, 10], "x": 10.25, "y": 4},
+        {"matrix": [4, 11], "x": 11.25, "y": 4},
+        {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+        {"matrix": [4, 13], "x": 14, "y": 4},
+        {"matrix": [4, 14], "x": 15, "y": 4},
+        {"matrix": [4, 15], "x": 16, "y": 4},
+        {"matrix": [4, 16], "x": 17, "y": 4},
 
-        {"label":"4", "x":15, "y":3},
-        {"label":"5", "x":16, "y":3},
-        {"label":"6", "x":17, "y":3},
-        {"label":"+", "x":18, "y":2, "h":2},
-
-        {"label":"Shift", "x":0, "y":4, "w":1.25},
-        {"label":"|", "x":1.25, "y":4},
-        {"label":"Z", "x":2.25, "y":4},
-        {"label":"X", "x":3.25, "y":4},
-        {"label":"C", "x":4.25, "y":4},
-        {"label":"V", "x":5.25, "y":4},
-        {"label":"B", "x":6.25, "y":4},
-        {"label":"N", "x":7.25, "y":4},
-        {"label":"M", "x":8.25, "y":4},
-        {"label":"<", "x":9.25, "y":4},
-        {"label":">", "x":10.25, "y":4},
-        {"label":"?", "x":11.25, "y":4},
-        {"label":"Shift", "x":12.25, "y":4, "w":1.75},
-        {"label":"\u2191", "x":14, "y":4},
-
-        {"label":"1", "x":15, "y":4},
-        {"label":"2", "x":16, "y":4},
-        {"label":"3", "x":17, "y":4},
-
-        {"label":"Ctrl", "x":0, "y":5, "w":1.25},
-        {"label":"Win", "x":1.25, "y":5, "w":1.25},
-        {"label":"Alt", "x":2.5, "y":5, "w":1.25},
-        {"x":3.75, "y":5, "w":6.25},
-        {"label":"Alt", "x":10, "y":5, "w":1.5},
-        {"label":"Ctrl", "x":11.5, "y":5, "w":1.5},
-        {"label":"\u2190", "x":13, "y":5},
-        {"label":"\u2193", "x":14, "y":5},
-        {"label":"\u2192", "x":15, "y":5},
-
-        {"label":"0", "x":16, "y":5},
-        {"label":".", "x":17, "y":5},
-        {"label":"Enter", "x":18, "y":4, "h":2}
+        {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+        {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+        {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+        {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+        {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+        {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
+        {"matrix": [5, 12], "x": 13, "y": 5},
+        {"matrix": [5, 13], "x": 14, "y": 5},
+        {"matrix": [5, 14], "x": 15, "y": 5},
+        {"matrix": [5, 15], "x": 16, "y": 5},
+        {"matrix": [5, 16], "x": 17, "y": 5},
+        {"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
       ]
     },
     "LAYOUT_all": {
       "layout": [
-        {"label":"Esc", "x":0, "y":0},
-        {"label":"F1", "x":1, "y":0},
-        {"label":"F2", "x":2, "y":0},
-        {"label":"F3", "x":3, "y":0},
-        {"label":"F4", "x":4, "y":0},
-        {"label":"F5", "x":5, "y":0},
-        {"label":"F6", "x":6, "y":0},
-        {"label":"F7", "x":7, "y":0},
-        {"label":"F8", "x":8, "y":0},
-        {"label":"F9", "x":9, "y":0},
-        {"label":"F10", "x":10, "y":0},
-        {"label":"F11", "x":11, "y":0},
-        {"label":"F12", "x":12, "y":0},
-        {"label":"Insert", "x":13, "y":0},
-        {"label":"Delete", "x":14, "y":0},
-        {"label":"Home", "x":15, "y":0},
-        {"label":"End", "x":16, "y":0},
-        {"label":"PgUp", "x":17, "y":0},
-        {"label":"PgDn", "x":18, "y":0},
-
-        {"label":"~", "x":0, "y":1},
-        {"label":"!", "x":1, "y":1},
-        {"label":"@", "x":2, "y":1},
-        {"label":"#", "x":3, "y":1},
-        {"label":"$", "x":4, "y":1},
-        {"label":"%", "x":5, "y":1},
-        {"label":"^", "x":6, "y":1},
-        {"label":"&", "x":7, "y":1},
-        {"label":"*", "x":8, "y":1},
-        {"label":"(", "x":9, "y":1},
-        {"label":")", "x":10, "y":1},
-        {"label":"_", "x":11, "y":1},
-        {"label":"+", "x":12, "y":1},
-        {"label":"Backspace", "x":13, "y":1},
-        {"label":"Backspace", "x":14, "y":1},
-        {"label":"Num Lock", "x":15, "y":1},
-        {"label":"/", "x":16, "y":1},
-        {"label":"*", "x":17, "y":1},
-        {"label":"-", "x":18, "y":1},
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [5, 6], "x": 14, "y": 0},
+        {"matrix": [0, 14], "x": 15, "y": 0},
+        {"matrix": [0, 15], "x": 16, "y": 0},
+        {"matrix": [0, 16], "x": 17, "y": 0},
+        {"matrix": [0, 17], "x": 18, "y": 0},
 
-        {"label":"Tab", "x":0, "y":2, "w":1.5},
-        {"label":"Q", "x":1.5, "y":2},
-        {"label":"W", "x":2.5, "y":2},
-        {"label":"E", "x":3.5, "y":2},
-        {"label":"R", "x":4.5, "y":2},
-        {"label":"T", "x":5.5, "y":2},
-        {"label":"Y", "x":6.5, "y":2},
-        {"label":"U", "x":7.5, "y":2},
-        {"label":"I", "x":8.5, "y":2},
-        {"label":"O", "x":9.5, "y":2},
-        {"label":"P", "x":10.5, "y":2},
-        {"label":"{", "x":11.5, "y":2},
-        {"label":"}", "x":12.5, "y":2},
-        {"label":"|", "x":13.5, "y":2, "w":1.5},
-        {"label":"7", "x":15, "y":2},
-        {"label":"8", "x":16, "y":2},
-        {"label":"9", "x":17, "y":2},
-        {"label":"+", "x":18, "y":2},
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+        {"matrix": [1, 12], "x": 12, "y": 1},
+        {"matrix": [1, 13], "x": 13, "y": 1},
+        {"matrix": [5, 3], "x": 14, "y": 1},
+        {"matrix": [1, 14], "x": 15, "y": 1},
+        {"matrix": [1, 15], "x": 16, "y": 1},
+        {"matrix": [1, 16], "x": 17, "y": 1},
+        {"matrix": [1, 17], "x": 18, "y": 1},
 
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2},
+        {"matrix": [2, 2], "x": 2.5, "y": 2},
+        {"matrix": [2, 3], "x": 3.5, "y": 2},
+        {"matrix": [2, 4], "x": 4.5, "y": 2},
+        {"matrix": [2, 5], "x": 5.5, "y": 2},
+        {"matrix": [2, 6], "x": 6.5, "y": 2},
+        {"matrix": [2, 7], "x": 7.5, "y": 2},
+        {"matrix": [2, 8], "x": 8.5, "y": 2},
+        {"matrix": [2, 9], "x": 9.5, "y": 2},
+        {"matrix": [2, 10], "x": 10.5, "y": 2},
+        {"matrix": [2, 11], "x": 11.5, "y": 2},
+        {"matrix": [2, 12], "x": 12.5, "y": 2},
+        {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+        {"matrix": [2, 14], "x": 15, "y": 2},
+        {"matrix": [2, 15], "x": 16, "y": 2},
+        {"matrix": [2, 16], "x": 17, "y": 2},
+        {"matrix": [2, 17], "x": 18, "y": 2},
 
-        {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
-        {"label":"A", "x":1.75, "y":3},
-        {"label":"S", "x":2.75, "y":3},
-        {"label":"D", "x":3.75, "y":3},
-        {"label":"F", "x":4.75, "y":3},
-        {"label":"G", "x":5.75, "y":3},
-        {"label":"H", "x":6.75, "y":3},
-        {"label":"J", "x":7.75, "y":3},
-        {"label":"K", "x":8.75, "y":3},
-        {"label":"L", "x":9.75, "y":3},
-        {"label":":", "x":10.75, "y":3},
-        {"label":"\"", "x":11.75, "y":3},
-        {"label":"Enter", "x":12.75, "y":3},
-        {"label":"Enter", "x":13.75, "y":3, "w":1.25},
-        {"label":"4", "x":15, "y":3},
-        {"label":"5", "x":16, "y":3},
-        {"label":"6", "x":17, "y":3},
-        {"label":"+", "x":18, "y":3},
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+        {"matrix": [3, 1], "x": 1.75, "y": 3},
+        {"matrix": [3, 2], "x": 2.75, "y": 3},
+        {"matrix": [3, 3], "x": 3.75, "y": 3},
+        {"matrix": [3, 4], "x": 4.75, "y": 3},
+        {"matrix": [3, 5], "x": 5.75, "y": 3},
+        {"matrix": [3, 6], "x": 6.75, "y": 3},
+        {"matrix": [3, 7], "x": 7.75, "y": 3},
+        {"matrix": [3, 8], "x": 8.75, "y": 3},
+        {"matrix": [3, 9], "x": 9.75, "y": 3},
+        {"matrix": [3, 10], "x": 10.75, "y": 3},
+        {"matrix": [3, 11], "x": 11.75, "y": 3},
+        {"matrix": [3, 12], "x": 12.75, "y": 3},
+        {"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.25},
+        {"matrix": [3, 14], "x": 15, "y": 3},
+        {"matrix": [3, 15], "x": 16, "y": 3},
+        {"matrix": [3, 16], "x": 17, "y": 3},
+        {"matrix": [3, 17], "x": 18, "y": 3},
 
-        {"label":"Shift", "x":0, "y":4, "w":1.25},
-        {"label":"Shift", "x":1.25, "y":4},
-        {"label":"Z", "x":2.25, "y":4},
-        {"label":"X", "x":3.25, "y":4},
-        {"label":"C", "x":4.25, "y":4},
-        {"label":"V", "x":5.25, "y":4},
-        {"label":"B", "x":6.25, "y":4},
-        {"label":"N", "x":7.25, "y":4},
-        {"label":"M", "x":8.25, "y":4},
-        {"label":"<", "x":9.25, "y":4},
-        {"label":">", "x":10.25, "y":4},
-        {"label":"?", "x":11.25, "y":4},
-        {"label":"Shift", "x":12.25, "y":4, "w":1.75},
-        {"label":"\u2191", "x":14, "y":4},
-        {"label":"1", "x":15, "y":4},
-        {"label":"2", "x":16, "y":4},
-        {"label":"3", "x":17, "y":4},
-        {"label":"Enter", "x":18, "y":4},
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4},
+        {"matrix": [4, 2], "x": 2.25, "y": 4},
+        {"matrix": [4, 3], "x": 3.25, "y": 4},
+        {"matrix": [4, 4], "x": 4.25, "y": 4},
+        {"matrix": [4, 5], "x": 5.25, "y": 4},
+        {"matrix": [4, 6], "x": 6.25, "y": 4},
+        {"matrix": [4, 7], "x": 7.25, "y": 4},
+        {"matrix": [4, 8], "x": 8.25, "y": 4},
+        {"matrix": [4, 9], "x": 9.25, "y": 4},
+        {"matrix": [4, 10], "x": 10.25, "y": 4},
+        {"matrix": [4, 11], "x": 11.25, "y": 4},
+        {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+        {"matrix": [4, 13], "x": 14, "y": 4},
+        {"matrix": [4, 14], "x": 15, "y": 4},
+        {"matrix": [4, 15], "x": 16, "y": 4},
+        {"matrix": [4, 16], "x": 17, "y": 4},
+        {"matrix": [4, 17], "x": 18, "y": 4},
 
-        {"label":"Ctrl", "x":0, "y":5, "w":1.25},
-        {"label":"Win", "x":1.25, "y":5, "w":1.25},
-        {"label":"Alt", "x":2.5, "y":5, "w":1.25},
-        {"x":3.75, "y":5, "w":6.25},
-        {"label":"Alt", "x":10, "y":5, "w":1.5},
-        {"label":"Ctrl", "x":11.5, "y":5, "w":1.5},
-        {"label":"\u2190", "x":13, "y":5},
-        {"label":"\u2193", "x":14, "y":5},
-        {"label":"\u2192", "x":15, "y":5},
-        {"label":"0", "x":16, "y":5},
-        {"label":".", "x":17, "y":5},
-        {"label":"Enter", "x":18, "y":5}
+        {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+        {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+        {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+        {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+        {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+        {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
+        {"matrix": [5, 12], "x": 13, "y": 5},
+        {"matrix": [5, 13], "x": 14, "y": 5},
+        {"matrix": [5, 14], "x": 15, "y": 5},
+        {"matrix": [5, 15], "x": 16, "y": 5},
+        {"matrix": [5, 16], "x": 17, "y": 5},
+        {"matrix": [5, 17], "x": 18, "y": 5}
       ]
     }
   }
diff --git a/keyboards/xiudi/xd96/xd96.h b/keyboards/xiudi/xd96/xd96.h
deleted file mode 100644
index bb855da5b4..0000000000
--- a/keyboards/xiudi/xd96/xd96.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2019
- *
- * 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
-
-#include "quantum.h"
-#define ____ KC_NO
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT_96_ansi( \
-    K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
-    K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214,       K216, K217, K218, K219, \
-    K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,       K316, K317, K318,       \
-    K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412,       K414,       K416, K417, K418, K419, \
-    K501,       K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513,       K515, K516, K517, K518,       \
-    K601, K602, K603,                       K607,               K611, K612,       K614, K615, K616, K617, K618, K619  \
-) { \
-    { K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, K118, K119 }, \
-    { K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, K218, K219 }, \
-    { K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, K318, K419 }, \
-    { K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, ____, K414, K416, K417, K418, ____ }, \
-    { K501, ____, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K515, K516, K517, K518, K619 }, \
-    { K601, K602, K603, ____, ____, K607, K115, ____, K612, ____, K611, K612, K614, K615, K616, K617, K618, ____ }  \
-}
-
-#define LAYOUT_96_iso( \
-    K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
-    K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214,       K216, K217, K218, K219, \
-    K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,             K316, K317, K318,       \
-    K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412,       K414, K415, K416, K417, K418, K419, \
-    K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513,       K515, K516, K517, K518,       \
-    K601, K602, K603,                       K607,               K611, K612,       K614, K615, K616, K617, K618, K619  \
-) { \
-    { K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, K118, K119 }, \
-    { K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, K218, K219 }, \
-    { K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, K316, K317, K318, K419 }, \
-    { K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, ____ }, \
-    { K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K515, K516, K517, K518, K619 }, \
-    { K601, K602, K603, ____, ____, K607, K115, ____, K612, ____, K611, K612, K614, K615, K616, K617, K618, ____ }  \
-}
-
-#define LAYOUT_all( \
-    K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
-    K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \
-    K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,       K316, K317, K318, K319, \
-    K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412,       K414, K415, K416, K417, K418, K419, \
-    K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513,       K515, K516, K517, K518, K519, \
-    K601, K602, K603,                       K607,               K611, K612,       K614, K615, K616, K617, K618, K619  \
-) { \
-    { K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, K118, K119 }, \
-    { K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, K218, K219 }, \
-    { K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, K318, K319 }, \
-    { K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, K419 }, \
-    { K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K515, K516, K517, K518, K519 }, \
-    { K601, K602, K603, K215, ____, K607, K115, ____, K612, K215, K611, ____, K614, K615, K616, K617, K618, K619 }  \
-}