Browse Source

Move single `LAYOUT`s to data driven (#20365)

Ryan 3 years ago
parent
commit
5bd68e3695
100 changed files with 2618 additions and 3944 deletions
  1. 0 47
      keyboards/25keys/aleth42/info.json
  2. 52 1
      keyboards/25keys/aleth42/rev0/info.json
  3. 0 54
      keyboards/25keys/aleth42/rev0/rev0.h
  4. 52 1
      keyboards/25keys/aleth42/rev1/info.json
  5. 0 54
      keyboards/25keys/aleth42/rev1/rev1.h
  6. 0 14
      keyboards/30wer/30wer.h
  7. 40 38
      keyboards/30wer/info.json
  8. 0 49
      keyboards/3w6/info.json
  9. 50 1
      keyboards/3w6/rev1/info.json
  10. 0 44
      keyboards/3w6/rev1/rev1.h
  11. 50 1
      keyboards/3w6/rev2/info.json
  12. 1 1
      keyboards/3w6/rev2/rev2.c
  13. 0 44
      keyboards/3w6/rev2/rev2.h
  14. 0 26
      keyboards/40percentclub/half_n_half/half_n_half.h
  15. 49 45
      keyboards/40percentclub/half_n_half/info.json
  16. 0 0
      keyboards/4pplet/eagle_viper_rep/rev_b/info.json
  17. 0 20
      keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h
  18. 0 0
      keyboards/4pplet/waffling60/rev_a/info.json
  19. 0 36
      keyboards/4pplet/waffling60/rev_a/rev_a.h
  20. 0 0
      keyboards/4pplet/waffling60/rev_b/info.json
  21. 0 15
      keyboards/4pplet/waffling60/rev_b/rev_b.h
  22. 0 0
      keyboards/4pplet/waffling60/rev_c/info.json
  23. 0 15
      keyboards/4pplet/waffling60/rev_c/rev_c.h
  24. 0 0
      keyboards/4pplet/waffling60/rev_d/info.json
  25. 0 15
      keyboards/4pplet/waffling60/rev_d/rev_d.h
  26. 0 0
      keyboards/4pplet/waffling60/rev_d_ansi/info.json
  27. 0 17
      keyboards/4pplet/waffling60/rev_d_ansi/rev_d_ansi.c
  28. 0 35
      keyboards/4pplet/waffling60/rev_d_ansi/rev_d_ansi.h
  29. 0 0
      keyboards/4pplet/waffling60/rev_d_iso/info.json
  30. 0 17
      keyboards/4pplet/waffling60/rev_d_iso/rev_d_iso.c
  31. 0 35
      keyboards/4pplet/waffling60/rev_d_iso/rev_d_iso.h
  32. 0 41
      keyboards/abacus/abacus.h
  33. 45 45
      keyboards/abacus/info.json
  34. 0 44
      keyboards/acheron/elongate/beta/beta.h
  35. 61 56
      keyboards/acheron/elongate/beta/info.json
  36. 0 38
      keyboards/ada/ada1800mini/ada1800mini.h
  37. 83 70
      keyboards/ada/ada1800mini/info.json
  38. 0 30
      keyboards/ada/infinity81/infinity81.h
  39. 88 80
      keyboards/ada/infinity81/info.json
  40. 0 45
      keyboards/adelheid/adelheid.h
  41. 87 82
      keyboards/adelheid/info.json
  42. 0 31
      keyboards/adm42/adm42.h
  43. 46 42
      keyboards/adm42/info.json
  44. 65 65
      keyboards/adpenrose/kintsugi/info.json
  45. 1 1
      keyboards/adpenrose/kintsugi/kintsugi.c
  46. 0 46
      keyboards/adpenrose/kintsugi/kintsugi.h
  47. 75 66
      keyboards/afternoonlabs/breeze/rev0/info.json
  48. 0 39
      keyboards/afternoonlabs/breeze/rev0/rev0.h
  49. 75 66
      keyboards/afternoonlabs/breeze/rev1/info.json
  50. 0 39
      keyboards/afternoonlabs/breeze/rev1/rev1.h
  51. 79 68
      keyboards/afternoonlabs/oceanbreeze/rev1/info.json
  52. 0 42
      keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h
  53. 75 66
      keyboards/afternoonlabs/southern_breeze/rev1/info.json
  54. 0 39
      keyboards/afternoonlabs/southern_breeze/rev1/rev1.h
  55. 93 80
      keyboards/afternoonlabs/summer_breeze/rev1/info.json
  56. 0 39
      keyboards/afternoonlabs/summer_breeze/rev1/rev1.h
  57. 68 331
      keyboards/ai03/jp60/info.json
  58. 0 42
      keyboards/ai03/jp60/jp60.h
  59. 74 70
      keyboards/ai03/lunar/info.json
  60. 0 41
      keyboards/ai03/lunar/lunar.h
  61. 70 68
      keyboards/ai03/orbit/info.json
  62. 0 29
      keyboards/ai03/orbit/orbit.h
  63. 55 48
      keyboards/ai03/orbit_x/info.json
  64. 0 44
      keyboards/ai03/orbit_x/orbit_x.h
  65. 98 85
      keyboards/ai03/quasar/info.json
  66. 0 45
      keyboards/ai03/quasar/quasar.h
  67. 72 1
      keyboards/ai03/voyager60_alps/info.json
  68. 0 32
      keyboards/ai03/voyager60_alps/voyager60_alps.h
  69. 0 40
      keyboards/akb/eb46/eb46.h
  70. 53 46
      keyboards/akb/eb46/info.json
  71. 85 74
      keyboards/akb/raine/info.json
  72. 0 33
      keyboards/akb/raine/raine.h
  73. 81 70
      keyboards/aleblazer/zodiark/info.json
  74. 1 1
      keyboards/aleblazer/zodiark/zodiark.c
  75. 0 38
      keyboards/aleblazer/zodiark/zodiark.h
  76. 91 88
      keyboards/alf/x11/info.json
  77. 0 43
      keyboards/alf/x11/x11.h
  78. 0 15
      keyboards/alpha/alpha.h
  79. 32 1
      keyboards/alpha/info.json
  80. 0 36
      keyboards/alpine65/alpine65.h
  81. 71 67
      keyboards/alpine65/info.json
  82. 0 30
      keyboards/amjkeyboard/amj84/amj84.h
  83. 91 86
      keyboards/amjkeyboard/amj84/info.json
  84. 45 44
      keyboards/arabica37/rev1/info.json
  85. 0 21
      keyboards/arabica37/rev1/rev1.h
  86. 0 42
      keyboards/arisu/arisu.h
  87. 76 67
      keyboards/arisu/info.json
  88. 1 1
      keyboards/at_at/660m/660m.c
  89. 0 19
      keyboards/at_at/660m/660m.h
  90. 72 5
      keyboards/at_at/660m/info.json
  91. 1 1
      keyboards/atlantis/ak81_ve/ak81_ve.c
  92. 0 34
      keyboards/atlantis/ak81_ve/ak81_ve.h
  93. 96 81
      keyboards/atlantis/ak81_ve/info.json
  94. 0 50
      keyboards/atlas_65/atlas_65.h
  95. 75 67
      keyboards/atlas_65/info.json
  96. 0 21
      keyboards/atreus62/atreus62.h
  97. 73 1
      keyboards/atreus62/info.json
  98. 69 60
      keyboards/atreyu/rev1/info.json
  99. 1 1
      keyboards/atreyu/rev1/rev1.c
  100. 0 40
      keyboards/atreyu/rev1/rev1.h

+ 0 - 47
keyboards/25keys/aleth42/info.json

@@ -6,52 +6,5 @@
     "usb": {
         "vid": "0x04D8",
         "pid": "0xEAC8"
-    },
-    "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, "w":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, "w":1.75},
-                {"x":0, "y":2, "w":1.75},
-                {"x":1.75, "y":2},
-                {"x":2.75, "y":2},
-                {"x":3.75, "y":2},
-                {"x":4.75, "y":2},
-                {"x":5.75, "y":2},
-                {"x":6.75, "y":2},
-                {"x":7.75, "y":2},
-                {"x":8.75, "y":2},
-                {"x":9.75, "y":2},
-                {"x":10.75, "y":2, "w":1.25},
-                {"x":0, "y":3, "w":1.25},
-                {"x":1.25, "y":3},
-                {"x":2.25, "y":3, "w":1.25},
-                {"x":3.5, "y":3, "w":2.75},
-                {"x":6.25, "y":3, "w":2.25},
-                {"x":8.5, "y":3, "w":1.25},
-                {"x":9.75, "y":3},
-                {"x":10.75, "y":3, "w":1.25}]
-        }
     }
 }

+ 52 - 1
keyboards/25keys/aleth42/rev0/info.json

@@ -17,5 +17,56 @@
         "pin": "C7"
     },
     "processor": "atmega32u2",
-    "bootloader": "atmel-dfu"
+    "bootloader": "atmel-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "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": [3, 10], "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, 10], "x": 10.25, "y": 1, "w": 1.75},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.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, "w": 1.25},
+                {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.75},
+                {"matrix": [3, 4], "x": 6.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 5], "x": 8.5, "y": 3, "w": 1.25},
+                {"matrix": [3, 6], "x": 9.75, "y": 3},
+                {"matrix": [3, 7], "x": 10.75, "y": 3, "w": 1.25}
+            ]
+        }
+    }
 }

+ 0 - 54
keyboards/25keys/aleth42/rev0/rev0.h

@@ -1,54 +0,0 @@
-/* Copyright 2020 monksoffunk
- *
- * 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"
-
-// for readability
-#define XXX KC_NO
-
-/* 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.
- */
-/* ALETH42 layout
- * ,-----------------------------------------------------------.
- * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 38 |
- * |-----------------------------------------------------------|
- * | 10   | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A    |
- * |-----------------------------------------------------------|
- * | 20     | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A  |
- * |-----------------------------------------------------------|
- * | 30 | 31  | 32  |    33     |      34     | 35  | 36 | 37  |
- * `-----------------------------------------------------------'
- */
-#define LAYOUT( \
-  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k38,\
-  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,\
-  k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,\
-  k30, k31, k32, k33, k34, k35, k36, k37\
-) \
-{ \
-  { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A },\
-  { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A },\
-  { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A },\
-  { k30, k31, k32, k33, k34, k35, k36, k37, XXX, XXX, k38 }\
-}

+ 52 - 1
keyboards/25keys/aleth42/rev1/info.json

@@ -22,5 +22,56 @@
         "breathing": true
     },
     "processor": "atmega32u4",
-    "bootloader": "atmel-dfu"
+    "bootloader": "atmel-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "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": [3, 10], "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, 10], "x": 10.25, "y": 1, "w": 1.75},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.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, "w": 1.25},
+                {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.75},
+                {"matrix": [3, 4], "x": 6.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 5], "x": 8.5, "y": 3, "w": 1.25},
+                {"matrix": [3, 6], "x": 9.75, "y": 3},
+                {"matrix": [3, 7], "x": 10.75, "y": 3, "w": 1.25}
+            ]
+        }
+    }
 }

+ 0 - 54
keyboards/25keys/aleth42/rev1/rev1.h

@@ -1,54 +0,0 @@
-/* Copyright 2020 monksoffunk
- *
- * 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"
-
-// for readability
-#define XXX KC_NO
-
-/* 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.
- */
-/* ALETH42 layout
- * ,-----------------------------------------------------------.
- * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 38 |
- * |-----------------------------------------------------------|
- * | 10   | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A    |
- * |-----------------------------------------------------------|
- * | 20     | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A  |
- * |-----------------------------------------------------------|
- * | 30 | 31  | 32  |    33     |      34     | 35  | 36 | 37  |
- * `-----------------------------------------------------------'
- */
-#define LAYOUT( \
-  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k38,\
-  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,\
-  k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,\
-  k30, k31, k32, k33, k34, k35, k36, k37\
-) \
-{ \
-  { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A },\
-  { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A },\
-  { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A },\
-  { k30, k31, k32, k33, k34, k35, k36, k37, XXX, XXX, k38 }\
-}

+ 0 - 14
keyboards/30wer/30wer.h

@@ -1,14 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
-	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
-	     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b \
-) \
-{ \
-	{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \
-	{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c }, \
-	{      k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b } \
-}

+ 40 - 38
keyboards/30wer/info.json

@@ -18,44 +18,46 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"Tab", "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":"Bksp", "x":11, "y":0},
-                {"label":"Delete", "x":12, "y":0, "w":1.25},
-                {"label":"Ctrl", "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},
-                {"label":"Enter", "x":12.25, "y":1},
-                {"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":">", "x":9.75, "y":2},
-                {"label":"?", "x":10.75, "y":2},
-                {"label":"Space", "x":11.75, "y":2, "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, "w": 1.25},
+
+                {"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},
+                {"matrix": [1, 12], "x": 12.25, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.5}
             ]
         }
     }

+ 0 - 49
keyboards/3w6/info.json

@@ -6,54 +6,5 @@
     "usb": {
         "vid": "0xFEED",
         "pid": "0x4658"
-    },
-    "layouts": {
-        "LAYOUT": {
-            "layout": [
-                {"label": "k00", "x": 0, "y": 0.8},
-                {"label": "k01", "x": 1, "y": 0.2},
-                {"label": "k02", "x": 2, "y": 0},
-                {"label": "k03", "x": 3, "y": 0.2},
-                {"label": "k04", "x": 4, "y": 0.4},
-
-                {"label": "k05", "x": 8, "y": 0.4},
-                {"label": "k06", "x": 9, "y": 0.2},
-                {"label": "k07", "x": 10, "y": 0},
-                {"label": "k08", "x": 11, "y": 0.2},
-                {"label": "k09", "x": 12, "y": 0.8},
-
-                {"label": "k10", "x": 0, "y": 1.8},
-                {"label": "k11", "x": 1, "y": 1.2},
-                {"label": "k12", "x": 2, "y": 1},
-                {"label": "k13", "x": 3, "y": 1.2},
-                {"label": "k14", "x": 4, "y": 1.4},
-
-                {"label": "k15", "x": 8, "y": 1.4},
-                {"label": "k16", "x": 9, "y": 1.2},
-                {"label": "k17", "x": 10, "y": 1},
-                {"label": "k18", "x": 11, "y": 1.2},
-                {"label": "k19", "x": 12, "y": 1.8},
-
-                {"label": "k20", "x": 0, "y": 2.8},
-                {"label": "k21", "x": 1, "y": 2.2},
-                {"label": "k22", "x": 2, "y": 2},
-                {"label": "k23", "x": 3, "y": 2.2},
-                {"label": "k24", "x": 4, "y": 2.4},
-
-                {"label": "k25", "x": 8, "y": 2.4},
-                {"label": "k26", "x": 9, "y": 2.2},
-                {"label": "k27", "x": 10, "y": 2},
-                {"label": "k28", "x": 11, "y": 2.2},
-                {"label": "k29", "x": 12, "y": 2.8},
-
-                {"label": "k32", "x": 3.2, "y": 3.6},
-                {"label": "k33", "x": 4.2, "y": 3.6},
-                {"label": "k34", "x": 5.2, "y": 3.8},
-
-                {"label": "k35", "x": 6.8, "y": 3.8},
-                {"label": "k36", "x": 7.8, "y": 3.6},
-                {"label": "k37", "x": 8.8, "y": 3.6}
-            ]
-        }
     }
 }

+ 50 - 1
keyboards/3w6/rev1/info.json

@@ -3,5 +3,54 @@
         "device_version": "0.0.1"
     },
     "processor": "atmega32u4",
-    "bootloader": "atmel-dfu"
+    "bootloader": "atmel-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0.8},
+                {"matrix": [0, 1], "x": 1, "y": 0.2},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0.2},
+                {"matrix": [0, 4], "x": 4, "y": 0.4},
+
+                {"matrix": [4, 0], "x": 8, "y": 0.4},
+                {"matrix": [4, 1], "x": 9, "y": 0.2},
+                {"matrix": [4, 2], "x": 10, "y": 0},
+                {"matrix": [4, 3], "x": 11, "y": 0.2},
+                {"matrix": [4, 4], "x": 12, "y": 0.8},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.8},
+                {"matrix": [1, 1], "x": 1, "y": 1.2},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1.2},
+                {"matrix": [1, 4], "x": 4, "y": 1.4},
+
+                {"matrix": [5, 0], "x": 8, "y": 1.4},
+                {"matrix": [5, 1], "x": 9, "y": 1.2},
+                {"matrix": [5, 2], "x": 10, "y": 1},
+                {"matrix": [5, 3], "x": 11, "y": 1.2},
+                {"matrix": [5, 4], "x": 12, "y": 1.8},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.8},
+                {"matrix": [2, 1], "x": 1, "y": 2.2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2.2},
+                {"matrix": [2, 4], "x": 4, "y": 2.4},
+
+                {"matrix": [6, 0], "x": 8, "y": 2.4},
+                {"matrix": [6, 1], "x": 9, "y": 2.2},
+                {"matrix": [6, 2], "x": 10, "y": 2},
+                {"matrix": [6, 3], "x": 11, "y": 2.2},
+                {"matrix": [6, 4], "x": 12, "y": 2.8},
+
+                {"matrix": [3, 2], "x": 3.2, "y": 3.6},
+                {"matrix": [3, 3], "x": 4.2, "y": 3.6},
+                {"matrix": [3, 4], "x": 5.2, "y": 3.8},
+
+                {"matrix": [7, 0], "x": 6.8, "y": 3.8},
+                {"matrix": [7, 1], "x": 7.8, "y": 3.6},
+                {"matrix": [7, 2], "x": 8.8, "y": 3.6}
+            ]
+        }
+    }
 }

+ 0 - 44
keyboards/3w6/rev1/rev1.h

@@ -1,44 +0,0 @@
-/* Copyright 2021 weteor
- *
- * 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,\
-      k10, k11, k12, k13, k14,             k15, k16, k17, k18, k19,\
-      k20, k21, k22, k23, k24,             k25, k26, k27, k28, k29,\
-                   k32, k33, k34,       k35, k36, k37\
-) { \
-    {   k00,   k01,   k02,   k03,   k04 }, \
-    {   k10,   k11,   k12,   k13,   k14 }, \
-    {   k20,   k21,   k22,   k23,   k24 }, \
-    { KC_NO, KC_NO,   k32,   k33,   k34 }, \
-    \
-    {   k05,   k06,   k07,   k08,   k09 }, \
-    {   k15,   k16,   k17,   k18,   k19 }, \
-    {   k25,   k26,   k27,   k28,   k29 }, \
-    {   k35,   k36,   k37, KC_NO, KC_NO }, \
-}

+ 50 - 1
keyboards/3w6/rev2/info.json

@@ -3,5 +3,54 @@
         "device_version": "0.0.2"
     },
     "processor": "atmega32u4",
-    "bootloader": "atmel-dfu"
+    "bootloader": "atmel-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0.8},
+                {"matrix": [0, 1], "x": 1, "y": 0.2},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0.2},
+                {"matrix": [0, 4], "x": 4, "y": 0.4},
+
+                {"matrix": [4, 0], "x": 8, "y": 0.4},
+                {"matrix": [4, 1], "x": 9, "y": 0.2},
+                {"matrix": [4, 2], "x": 10, "y": 0},
+                {"matrix": [4, 3], "x": 11, "y": 0.2},
+                {"matrix": [4, 4], "x": 12, "y": 0.8},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.8},
+                {"matrix": [1, 1], "x": 1, "y": 1.2},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1.2},
+                {"matrix": [1, 4], "x": 4, "y": 1.4},
+
+                {"matrix": [5, 0], "x": 8, "y": 1.4},
+                {"matrix": [5, 1], "x": 9, "y": 1.2},
+                {"matrix": [5, 2], "x": 10, "y": 1},
+                {"matrix": [5, 3], "x": 11, "y": 1.2},
+                {"matrix": [5, 4], "x": 12, "y": 1.8},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.8},
+                {"matrix": [2, 1], "x": 1, "y": 2.2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2.2},
+                {"matrix": [2, 4], "x": 4, "y": 2.4},
+
+                {"matrix": [6, 0], "x": 8, "y": 2.4},
+                {"matrix": [6, 1], "x": 9, "y": 2.2},
+                {"matrix": [6, 2], "x": 10, "y": 2},
+                {"matrix": [6, 3], "x": 11, "y": 2.2},
+                {"matrix": [6, 4], "x": 12, "y": 2.8},
+
+                {"matrix": [3, 2], "x": 3.2, "y": 3.6},
+                {"matrix": [3, 3], "x": 4.2, "y": 3.6},
+                {"matrix": [3, 4], "x": 5.2, "y": 3.8},
+
+                {"matrix": [7, 0], "x": 6.8, "y": 3.8},
+                {"matrix": [7, 1], "x": 7.8, "y": 3.6},
+                {"matrix": [7, 2], "x": 8.8, "y": 3.6}
+            ]
+        }
+    }
 }

+ 1 - 1
keyboards/3w6/rev2/rev2.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "rev2.h"
+#include "quantum.h"
 
 #ifdef SWAP_HANDS_ENABLE
 __attribute__ ((weak))

+ 0 - 44
keyboards/3w6/rev2/rev2.h

@@ -1,44 +0,0 @@
-/* Copyright 2021 weteor
- *
- * 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,\
-      k10, k11, k12, k13, k14,             k15, k16, k17, k18, k19,\
-      k20, k21, k22, k23, k24,             k25, k26, k27, k28, k29,\
-                   k32, k33, k34,       k35, k36, k37\
-) { \
-    {   k00,   k01,   k02,   k03,   k04 }, \
-    {   k10,   k11,   k12,   k13,   k14 }, \
-    {   k20,   k21,   k22,   k23,   k24 }, \
-    { KC_NO, KC_NO,   k32,   k33,   k34 }, \
-    \
-    {   k05,   k06,   k07,   k08,   k09 }, \
-    {   k15,   k16,   k17,   k18,   k19 }, \
-    {   k25,   k26,   k27,   k28,   k29 }, \
-    {   k35,   k36,   k37, KC_NO, KC_NO }, \
-}

+ 0 - 26
keyboards/40percentclub/half_n_half/half_n_half.h

@@ -16,32 +16,6 @@
 #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( \
-    L00, L01, L02, L03, L04, L05, L06,     R00, R01, R02, R03, R04, R05, R06, \
-    L10, L11, L12, L13, L14, L15, L16,     R10, R11, R12, R13, R14, R15, R16, \
-    L20, L21, L22, L23, L24, L25, L26,     R20, R21, R22, R23, R24, R25, R26, \
-                        L34,                         R32 \
-) { \
-    { L00, L01, L02, L03, L04, L05, L06 }, \
-    { L10, L11, L12, L13, L14, L15, L16 }, \
-    { L20, L21, L22, L23, L24, L25, L26 }, \
-    { ___, ___, ___, ___, L34, ___, ___ }, \
-\
-    { R06, R05, R04, R03, R02, R01, R00 }, \
-    { R16, R15, R14, R13, R12, R11, R10 }, \
-    { R26, R25, R24, R23, R22, R21, R20 }, \
-    { ___, ___, ___, ___, R32, ___, ___ }  \
-}
 
 #ifdef USE_I2C
   #error "I2C not Supported"

+ 49 - 45
keyboards/40percentclub/half_n_half/info.json

@@ -21,53 +21,57 @@
   "layouts": {
     "LAYOUT": {
       "layout": [
-          {"label":"L00", "x":0, "y":0},
-          {"label":"L01", "x":1, "y":0},
-          {"label":"L02", "x":2, "y":0},
-          {"label":"L03", "x":3, "y":0},
-          {"label":"L04", "x":4, "y":0},
-          {"label":"L05", "x":5, "y":0},
-          {"label":"L06", "x":6, "y":0},
-          {"label":"R00", "x":7, "y":0},
-          {"label":"R01", "x":8, "y":0},
-          {"label":"R02", "x":9, "y":0},
-          {"label":"R03", "x":10, "y":0},
-          {"label":"R04", "x":11, "y":0},
-          {"label":"R05", "x":12, "y":0},
-          {"label":"R06", "x":13, "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},
 
-          {"label":"L10", "x":0, "y":1},
-          {"label":"L11", "x":1, "y":1},
-          {"label":"L12", "x":2, "y":1},
-          {"label":"L13", "x":3, "y":1},
-          {"label":"L14", "x":4, "y":1},
-          {"label":"L15", "x":5, "y":1},
-          {"label":"L16", "x":6, "y":1},
-          {"label":"R10", "x":7, "y":1},
-          {"label":"R11", "x":8, "y":1},
-          {"label":"R12", "x":9, "y":1},
-          {"label":"R13", "x":10, "y":1},
-          {"label":"R14", "x":11, "y":1},
-          {"label":"R15", "x":12, "y":1},
-          {"label":"R16", "x":13, "y":1},
+        {"matrix": [4, 6], "x": 7, "y": 0},
+        {"matrix": [4, 5], "x": 8, "y": 0},
+        {"matrix": [4, 4], "x": 9, "y": 0},
+        {"matrix": [4, 3], "x": 10, "y": 0},
+        {"matrix": [4, 2], "x": 11, "y": 0},
+        {"matrix": [4, 1], "x": 12, "y": 0},
+        {"matrix": [4, 0], "x": 13, "y": 0},
 
-          {"label":"L20", "x":0, "y":2},
-          {"label":"L21", "x":1, "y":2},
-          {"label":"L22", "x":2, "y":2},
-          {"label":"L23", "x":3, "y":2},
-          {"label":"L24", "x":4, "y":2},
-          {"label":"L25", "x":5, "y":2},
-          {"label":"L26", "x":6, "y":2},
-          {"label":"R20", "x":7, "y":2},
-          {"label":"R21", "x":8, "y":2},
-          {"label":"R22", "x":9, "y":2},
-          {"label":"R23", "x":10, "y":2},
-          {"label":"R24", "x":11, "y":2},
-          {"label":"R25", "x":12, "y":2},
-          {"label":"R26", "x":13, "y":2},
- 
-          {"label":"L34", "x":4, "y":3, "w":2},
-          {"label":"R32", "x":8, "y":3, "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": [5, 6], "x": 7, "y": 1},
+        {"matrix": [5, 5], "x": 8, "y": 1},
+        {"matrix": [5, 4], "x": 9, "y": 1},
+        {"matrix": [5, 3], "x": 10, "y": 1},
+        {"matrix": [5, 2], "x": 11, "y": 1},
+        {"matrix": [5, 1], "x": 12, "y": 1},
+        {"matrix": [5, 0], "x": 13, "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": [6, 6], "x": 7, "y": 2},
+        {"matrix": [6, 5], "x": 8, "y": 2},
+        {"matrix": [6, 4], "x": 9, "y": 2},
+        {"matrix": [6, 3], "x": 10, "y": 2},
+        {"matrix": [6, 2], "x": 11, "y": 2},
+        {"matrix": [6, 1], "x": 12, "y": 2},
+        {"matrix": [6, 0], "x": 13, "y": 2},
+
+        {"matrix": [3, 4], "x": 4, "y": 3, "w": 2},
+
+        {"matrix": [7, 4], "x": 8, "y": 3, "w": 2}
       ]
     }
   }

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/eagle_viper_rep/rev_b/info.json


+ 0 - 20
keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h

@@ -19,23 +19,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "quantum.h"
 
 void setLayerLed(layer_state_t state);
-
-#define LAYOUT( \
-    k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k36, \
-    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k56,\
-    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k76,\
-    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k96,\
-    k80, k90, k91, k92, k93, k84 ,k94, k85, k95, k86  \
-) \
-{ \
-    {k00, k01, k02, k03, k04, k05, k06}, \
-    {k10, k11, k12, k13, k14, k15, k16}, \
-    {k20, k21, k22, k23, k24, k25, k26}, \
-    {k30, k31, k32, k33, k34, k35, k36}, \
-    {k40, k41, k42, k43, k44, k45, k46}, \
-    {k50, k51, k52, k53, k54, k55, k56}, \
-    {k60, k61, k62, k63, k64, k65, k66}, \
-    {k70, k71, k72, k73, k74, k75, k76}, \
-    {k80, KC_NO, KC_NO, KC_NO, k84, k85, k86}, \
-    {k90, k91, k92, k93, k94, k95, k96}  \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_a/info.json


+ 0 - 36
keyboards/4pplet/waffling60/rev_a/rev_a.h

@@ -1,36 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
-
-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"
-
-// k<row><col>
-#define LAYOUT( \
-    k00, k01, k11, k02, k03, k04, k05, k15, k06, k07, k08, k18, k09, k0a, k1a, \
-    k10, k21, k12, k22, k13, k14, k25, k35, k16, k17, k28, k19, k29, k2a, \
-    k20, k31, k32, k23, k33, k24, k45, k26, k36, k27, k38, k39, k3a, \
-    k30, k40, k41, k42, k43, k34, k44, k55, k46, k37, k47, k48, k49, k4a, \
-    k50, k51, k52, k53, k54, k56, k57, k58, k59, k5a  \
-) \
-{ \
-    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \
-    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a}, \
-    {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a}, \
-    {k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5a}  \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_b/info.json


+ 0 - 15
keyboards/4pplet/waffling60/rev_b/rev_b.h

@@ -20,18 +20,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define CAPS_LOCK_COLOR HSV_ORANGE
 
 #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, k2c, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
-    k40, k41, k42, k44, k46, k48, k4a, 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, k2d}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
-    {k40, k41, k42, KC_NO, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d}, \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_c/info.json


+ 0 - 15
keyboards/4pplet/waffling60/rev_c/rev_c.h

@@ -20,18 +20,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define CAPS_LOCK_COLOR HSV_ORANGE
 
 #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, k2c, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
-    k40, k41, k42, k44, k46, k48, k4a, 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, k2d}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
-    {k40, k41, k42, KC_NO, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d}, \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_d/info.json


+ 0 - 15
keyboards/4pplet/waffling60/rev_d/rev_d.h

@@ -20,18 +20,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define CAPS_LOCK_COLOR HSV_ORANGE
 
 #include "quantum.h"
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2d, \
-    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, k3d, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k4d, \
-    k40, k41, k42, k44, k46, k48, k49, k4a, k4b, k4c  \
-) \
-{ \
-    {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}, \
-    {k40, k41, k42, KC_NO, k44, KC_NO, k46, KC_NO, k48, k49, k4a, k4b, k4c, k4d}, \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_d_ansi/info.json


+ 0 - 17
keyboards/4pplet/waffling60/rev_d_ansi/rev_d_ansi.c

@@ -1,17 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "rev_d_ansi.h"

+ 0 - 35
keyboards/4pplet/waffling60/rev_d_ansi/rev_d_ansi.h

@@ -1,35 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-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"
-
-// k<row><col>
-#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, k2c, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
-    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
-    k40, k41, k42, k44, k46, 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, k2d}, \
-    {k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
-    {k40, k41, k42, KC_NO, k44, KC_NO, k46, KC_NO, k48, KC_NO, KC_NO, k4b, k4c, k4d} \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/4pplet/waffling60/rev_d_iso/info.json


+ 0 - 17
keyboards/4pplet/waffling60/rev_d_iso/rev_d_iso.c

@@ -1,17 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "rev_d_iso.h"

+ 0 - 35
keyboards/4pplet/waffling60/rev_d_iso/rev_d_iso.h

@@ -1,35 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
-
-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"
-
-// k<row><col>
-#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, \
-    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, \
-    k40, k41, k42, k44, k46, 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, k2d}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
-    {k40, k41, k42, KC_NO, k44, KC_NO, k46, KC_NO, k48, KC_NO, KC_NO, k4b, k4c, k4d} \
-}

+ 0 - 41
keyboards/abacus/abacus.h

@@ -1,41 +0,0 @@
-/* Copyright 2020 nickolaij
- *
- * 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 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, \
-    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  \
-) \
-{ \
-    { 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, XXX, XXX, k34, XXX, k35, k36, k37, k38}   \
-}

+ 45 - 45
keyboards/abacus/info.json

@@ -26,54 +26,54 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"k00", "x":0, "y":0},
-                {"label":"k01", "x":1, "y":0},
-                {"label":"k02", "x":2, "y":0},
-                {"label":"k03", "x":3, "y":0},
-                {"label":"k04", "x":4, "y":0},
-                {"label":"k05", "x":5, "y":0},
-                {"label":"k06", "x":6, "y":0},
-                {"label":"k07", "x":7, "y":0},
-                {"label":"k08", "x":8, "y":0},
-                {"label":"k09", "x":9, "y":0},
-                {"label":"k0a", "x":10, "y":0},
-                {"label":"k0b", "x":11, "y":0, "w":1.75},
+                {"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.75},
 
-                {"label":"k10", "x":0, "y":1, "w":1.25},
-                {"label":"k11", "x":1.25, "y":1},
-                {"label":"k12", "x":2.25, "y":1},
-                {"label":"k13", "x":3.25, "y":1},
-                {"label":"k14", "x":4.25, "y":1},
-                {"label":"k15", "x":5.25, "y":1},
-                {"label":"k16", "x":6.25, "y":1},
-                {"label":"k17", "x":7.25, "y":1},
-                {"label":"k18", "x":8.25, "y":1},
-                {"label":"k19", "x":9.25, "y":1},
-                {"label":"k1a", "x":10.25, "y":1},
-                {"label":"k1b", "x":11.25, "y":1, "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.5},
 
-                {"label":"k20", "x":0, "y":2, "w":1.75},
-                {"label":"k21", "x":1.75, "y":2},
-                {"label":"k22", "x":2.75, "y":2},
-                {"label":"k23", "x":3.75, "y":2},
-                {"label":"k24", "x":4.75, "y":2},
-                {"label":"k25", "x":5.75, "y":2},
-                {"label":"k26", "x":6.75, "y":2},
-                {"label":"k27", "x":7.75, "y":2},
-                {"label":"k28", "x":8.75, "y":2},
-                {"label":"k29", "x":9.75, "y":2},
-                {"label":"k2a", "x":10.75, "y":2},
-                {"label":"k2b", "x":11.75, "y":2},
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "x": 11.75, "y": 2},
 
-                {"label":"k30", "x":0, "y":3, "w":1.25},
-                {"label":"k31", "x":1.25, "y":3},
-                {"label":"k32", "x":2.25, "y":3},
-                {"label":"k33", "x":3.25, "y":3, "w":2.75},
-                {"label":"k34", "x":6, "y":3, "w":2.75},
-                {"label":"k35", "x":8.75, "y":3},
-                {"label":"k36", "x":9.75, "y":3},
-                {"label":"k37", "x":10.75, "y":3},
-                {"label":"k38", "x":11.75, "y":3}
+                {"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, "w": 2.75},
+                {"matrix": [3, 6], "x": 6, "y": 3, "w": 2.75},
+                {"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}
             ]
         }
     }

+ 0 - 44
keyboards/acheron/elongate/beta/beta.h

@@ -1,44 +0,0 @@
-/* Copyright 2020 Gondolindrim
- *
- * 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 KNO KC_NO
-
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K49, K41, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,      K1B, K1C, K4A, K42, \
-    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K4B, K44, \
-    K30, K31, K32,      K34,           K37,      K3A, K3B, K3C, K3D, K4C, K47  \
-)\
-{\
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KNO, K1B, K1C }, \
-    { K20, KNO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
-    { K30, K31, K32, KNO, K34, KNO, KNO, K37, KNO, K3A, K3B, K3C, K3D }, \
-    { KNO, K41, K42, KNO, K44, KNO, KNO, K47, KNO, K49, K4A, K4B, K4C }  \
-}

+ 61 - 56
keyboards/acheron/elongate/beta/info.json

@@ -26,63 +26,68 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"Tab", "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},
-                {"label":"7", "x":12.5, "y":0},
-                {"label":"8", "x":13.5, "y":0},
-                {"label":"9", "x":14.5, "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},
 
-                {"label":"Caps Lock", "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":"4", "x":12.5, "y":1},
-                {"label":"5", "x":13.5, "y":1},
-                {"label":"6", "x":14.5, "y":1},
-                
-                {"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":"Fn1", "x":9.75, "y":2, "w":1.25},
-                {"label":"Up", "x":11.25, "y":2.25},
-                {"label":"1", "x":12.5, "y":2},
-                {"label":"2", "x":13.5, "y":2},
-                {"label":"3", "x":14.5, "y":2},
-                
-                {"label":"Ctrl", "x":0, "y":3, "w":1.25},
-                {"label":"Win", "x":1.25, "y":3},
-                {"label":"Alt", "x":2.25, "y":3, "w":1.25},
-                {"label":"Space/Fn2", "x":3.5, "y":3, "w":2.25},
-                {"label":"Space", "x":6.25, "y":3, "w":2.75},
-                {"label":"Alt", "x":9, "y":3},
-                {"label":"Left", "x":10.25, "y":3.25},
-                {"label":"Down", "x":11.25, "y":3.25},
-                {"label":"Right", "x":12.25, "y":3.25},
-                {"label":"0", "x":13.5, "y":3},
-                {"label":".", "x":14.5, "y":3}
+                {"matrix": [0, 12], "x": 12.5, "y": 0},
+                {"matrix": [4, 9], "x": 13.5, "y": 0},
+                {"matrix": [4, 1], "x": 14.5, "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": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [4, 10], "x": 13.5, "y": 1},
+                {"matrix": [4, 2], "x": 14.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, "w": 1.25},
+                {"matrix": [2, 11], "x": 11.25, "y": 2.25},
+
+                {"matrix": [2, 12], "x": 12.5, "y": 2},
+                {"matrix": [4, 11], "x": 13.5, "y": 2},
+                {"matrix": [4, 4], "x": 14.5, "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.25},
+                {"matrix": [3, 7], "x": 6.25, "y": 3, "w": 2.75},
+                {"matrix": [3, 9], "x": 9, "y": 3},
+
+                {"matrix": [3, 10], "x": 10.25, "y": 3.25},
+                {"matrix": [3, 11], "x": 11.25, "y": 3.25},
+                {"matrix": [3, 12], "x": 12.25, "y": 3.25},
+
+                {"matrix": [4, 12], "x": 13.5, "y": 3},
+                {"matrix": [4, 7], "x": 14.5, "y": 3}
             ]
         }
     }

+ 0 - 38
keyboards/ada/ada1800mini/ada1800mini.h

@@ -1,38 +0,0 @@
-/* Copyright 2022 peepeetee
- *
- * 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( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, K2D, K2E, \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3C, K3D, K3E, K3B, \
-    K40, K41, K42, K43, K46, K47, K48, K4D, K4E, K4A, K4B, K4C  \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C, K2D, K2E }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D, K3E }, \
-    { K40, K41, K42, K43, XXX, XXX, K46, K47, K48, XXX, K4A, K4B, K4C, K4D, K4E }, \
-}
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/

+ 83 - 70
keyboards/ada/ada1800mini/info.json

@@ -21,76 +21,89 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "label": "K00 (D0,F1)", "x": 0, "y": 0 },
-                { "label": "K01 (D0,F4)", "x": 1.25, "y": 0 },
-                { "label": "K02 (D0,F5)", "x": 2.25, "y": 0 },
-                { "label": "K03 (D0,F6)", "x": 3.25, "y": 0 },
-                { "label": "K04 (D0,F7)", "x": 4.5, "y": 0 },
-                { "label": "K05 (D0,C7)", "x": 5.5, "y": 0 },
-                { "label": "K06 (D0,C6)", "x": 6.5, "y": 0 },
-                { "label": "K07 (D0,B6)", "x": 7.5, "y": 0 },
-                { "label": "K08 (D0,B5)", "x": 8.75, "y": 0 },
-                { "label": "K09 (D0,B4)", "x": 9.75, "y": 0 },
-                { "label": "K0A (D0,D7)", "x": 10.75, "y": 0 },
-                { "label": "K0B (D0,D6)", "x": 12, "y": 0 },
-                { "label": "K0C (D0,B3)", "x": 13.5, "y": 0 },
-                { "label": "K0D (D0,B2)", "x": 14.5, "y": 0 },
-                { "label": "K0E (D0,B1)", "x": 15.5, "y": 0 },
-                { "label": "K10 (D1,F1)", "x": 0, "y": 1.25, "w": 1.5 },
-                { "label": "K11 (D1,F4)", "x": 1.5, "y": 1.25 },
-                { "label": "K12 (D1,F5)", "x": 2.5, "y": 1.25 },
-                { "label": "K13 (D1,F6)", "x": 3.5, "y": 1.25 },
-                { "label": "K14 (D1,F7)", "x": 4.5, "y": 1.25 },
-                { "label": "K15 (D1,C7)", "x": 5.5, "y": 1.25 },
-                { "label": "K16 (D1,C6)", "x": 6.5, "y": 1.25 },
-                { "label": "K17 (D1,B6)", "x": 7.5, "y": 1.25 },
-                { "label": "K18 (D1,B5)", "x": 8.5, "y": 1.25 },
-                { "label": "K19 (D1,B4)", "x": 9.5, "y": 1.25 },
-                { "label": "K1A (D1,D7)", "x": 10.5, "y": 1.25 },
-                { "label": "K1B (D1,D6)", "x": 11.5, "y": 1.25, "w": 1.5 },
-                { "label": "K1C (D1,B3)", "x": 13.5, "y": 1.25 },
-                { "label": "K1D (D1,B2)", "x": 14.5, "y": 1.25 },
-                { "label": "K1E (D1,B1)", "x": 15.5, "y": 1.25 },
-                { "label": "K20 (D2,F1)", "x": 0, "y": 2.25, "w": 1.75 },
-                { "label": "K21 (D2,F4)", "x": 1.75, "y": 2.25 },
-                { "label": "K22 (D2,F5)", "x": 2.75, "y": 2.25 },
-                { "label": "K23 (D2,F6)", "x": 3.75, "y": 2.25 },
-                { "label": "K24 (D2,F7)", "x": 4.75, "y": 2.25 },
-                { "label": "K25 (D2,C7)", "x": 5.75, "y": 2.25 },
-                { "label": "K26 (D2,C6)", "x": 6.75, "y": 2.25 },
-                { "label": "K27 (D2,B6)", "x": 7.75, "y": 2.25 },
-                { "label": "K28 (D2,B5)", "x": 8.75, "y": 2.25 },
-                { "label": "K29 (D2,B4)", "x": 9.75, "y": 2.25 },
-                { "label": "K2A (D2,D7)", "x": 10.75, "y": 2.25, "w": 2.25 },
-                { "label": "K2C (D2,B3)", "x": 13.5, "y": 2.25 },
-                { "label": "K2D (D2,B2)", "x": 14.5, "y": 2.25 },
-                { "label": "K2E (D2,B1)", "x": 15.5, "y": 2.25 },
-                { "label": "K30 (D3,F1)", "x": 0, "y": 3.25, "w": 2.25 },
-                { "label": "K31 (D3,F4)", "x": 2.25, "y": 3.25 },
-                { "label": "K32 (D3,F5)", "x": 3.25, "y": 3.25 },
-                { "label": "K33 (D3,F6)", "x": 4.25, "y": 3.25 },
-                { "label": "K34 (D3,F7)", "x": 5.25, "y": 3.25 },
-                { "label": "K35 (D3,C7)", "x": 6.25, "y": 3.25 },
-                { "label": "K36 (D3,C6)", "x": 7.25, "y": 3.25 },
-                { "label": "K37 (D3,B6)", "x": 8.25, "y": 3.25 },
-                { "label": "K38 (D3,B5)", "x": 9.25, "y": 3.25 },
-                { "label": "K39 (D3,B4)", "x": 10.25, "y": 3.25, "w": 1.75 },
-                { "label": "K3C (D3,B3)", "x": 13.5, "y": 3.25 },
-                { "label": "K3D (D3,B2)", "x": 14.5, "y": 3.25 },
-                { "label": "K3E (D3,B1)", "x": 15.5, "y": 3.25 },
-                { "label": "K3B (D3,D6)", "x": 12.25, "y": 3.5 },
-                { "label": "K40 (D5,F1)", "x": 0, "y": 4.25, "w": 1.25 },
-                { "label": "K41 (D5,F4)", "x": 1.25, "y": 4.25, "w": 1.25 },
-                { "label": "K42 (D5,F5)", "x": 2.5, "y": 4.25, "w": 1.25 },
-                { "label": "K43 (D5,F6)", "x": 3.75, "y": 4.25, "w": 2.75 },
-                { "label": "K46 (D5,C6)", "x": 6.5, "y": 4.25, "w": 2.25 },
-                { "label": "K47 (D5,B6)", "x": 8.75, "y": 4.25 },
-                { "label": "K48 (D5,B5)", "x": 9.75, "y": 4.25, "w": 1.25 },
-                { "label": "K4D (D5,B2)", "x": 14.5, "y": 4.25 },
-                { "label": "K4E (D5,B1)", "x": 15.5, "y": 4.25 },
-                { "label": "K4A (D5,D7)", "x": 11.25, "y": 4.5 },
-                { "label": "K4B (D5,D6)", "x": 12.25, "y": 4.5 },
-                { "label": "K4C (D5,B3)", "x": 13.25, "y": 4.5 }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"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.5, "y": 0},
+                {"matrix": [0, 5], "x": 5.5, "y": 0},
+                {"matrix": [0, 6], "x": 6.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+
+                {"matrix": [0, 8], "x": 8.75, "y": 0},
+                {"matrix": [0, 9], "x": 9.75, "y": 0},
+                {"matrix": [0, 10], "x": 10.75, "y": 0},
+
+                {"matrix": [0, 11], "x": 12, "y": 0},
+
+                {"matrix": [0, 12], "x": 13.5, "y": 0},
+                {"matrix": [0, 13], "x": 14.5, "y": 0},
+                {"matrix": [0, 14], "x": 15.5, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.25, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1.25},
+                {"matrix": [1, 2], "x": 2.5, "y": 1.25},
+                {"matrix": [1, 3], "x": 3.5, "y": 1.25},
+                {"matrix": [1, 4], "x": 4.5, "y": 1.25},
+                {"matrix": [1, 5], "x": 5.5, "y": 1.25},
+                {"matrix": [1, 6], "x": 6.5, "y": 1.25},
+                {"matrix": [1, 7], "x": 7.5, "y": 1.25},
+                {"matrix": [1, 8], "x": 8.5, "y": 1.25},
+                {"matrix": [1, 9], "x": 9.5, "y": 1.25},
+                {"matrix": [1, 10], "x": 10.5, "y": 1.25},
+                {"matrix": [1, 11], "x": 11.5, "y": 1.25, "w": 1.5},
+
+                {"matrix": [1, 12], "x": 13.5, "y": 1.25},
+                {"matrix": [1, 13], "x": 14.5, "y": 1.25},
+                {"matrix": [1, 14], "x": 15.5, "y": 1.25},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2.25},
+                {"matrix": [2, 2], "x": 2.75, "y": 2.25},
+                {"matrix": [2, 3], "x": 3.75, "y": 2.25},
+                {"matrix": [2, 4], "x": 4.75, "y": 2.25},
+                {"matrix": [2, 5], "x": 5.75, "y": 2.25},
+                {"matrix": [2, 6], "x": 6.75, "y": 2.25},
+                {"matrix": [2, 7], "x": 7.75, "y": 2.25},
+                {"matrix": [2, 8], "x": 8.75, "y": 2.25},
+                {"matrix": [2, 9], "x": 9.75, "y": 2.25},
+                {"matrix": [2, 10], "x": 10.75, "y": 2.25, "w": 2.25},
+
+                {"matrix": [2, 12], "x": 13.5, "y": 2.25},
+                {"matrix": [2, 13], "x": 14.5, "y": 2.25},
+                {"matrix": [2, 14], "x": 15.5, "y": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 2.25},
+                {"matrix": [3, 1], "x": 2.25, "y": 3.25},
+                {"matrix": [3, 2], "x": 3.25, "y": 3.25},
+                {"matrix": [3, 3], "x": 4.25, "y": 3.25},
+                {"matrix": [3, 4], "x": 5.25, "y": 3.25},
+                {"matrix": [3, 5], "x": 6.25, "y": 3.25},
+                {"matrix": [3, 6], "x": 7.25, "y": 3.25},
+                {"matrix": [3, 7], "x": 8.25, "y": 3.25},
+                {"matrix": [3, 8], "x": 9.25, "y": 3.25},
+                {"matrix": [3, 9], "x": 10.25, "y": 3.25, "w": 1.75},
+                {"matrix": [3, 12], "x": 13.5, "y": 3.25},
+                {"matrix": [3, 13], "x": 14.5, "y": 3.25},
+                {"matrix": [3, 14], "x": 15.5, "y": 3.25},
+
+                {"matrix": [3, 11], "x": 12.25, "y": 3.5},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.75, "y": 4.25, "w": 2.75},
+                {"matrix": [4, 6], "x": 6.5, "y": 4.25, "w": 2.25},
+                {"matrix": [4, 7], "x": 8.75, "y": 4.25},
+                {"matrix": [4, 8], "x": 9.75, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 13], "x": 14.5, "y": 4.25},
+                {"matrix": [4, 14], "x": 15.5, "y": 4.25},
+
+                {"matrix": [4, 10], "x": 11.25, "y": 4.5},
+                {"matrix": [4, 11], "x": 12.25, "y": 4.5},
+                {"matrix": [4, 12], "x": 13.25, "y": 4.5}
             ]
         }
     }

+ 0 - 30
keyboards/ada/infinity81/infinity81.h

@@ -1,30 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#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( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012,             \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
-	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
-	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, \
-	K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, \
-	K500, K501, K502,             K505,                         K510, K511, K512, K513, K514  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  KC_NO, KC_NO }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \
-	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314 }, \
-	{ K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414 }, \
-	{ K500,  K501,  K502,  KC_NO, KC_NO, K505,  KC_NO, KC_NO, KC_NO, KC_NO, K510,  K511,  K512,  K513,  K514 }  \
-}

+ 88 - 80
keyboards/ada/infinity81/info.json

@@ -21,86 +21,94 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "label": "K00 (B3,D1)", "x": 0, "y": 0 },
-                { "label": "K01 (B3,D2)", "x": 1.25, "y": 0 },
-                { "label": "K02 (B3,D3)", "x": 2.25, "y": 0 },
-                { "label": "K03 (B3,D5)", "x": 3.25, "y": 0 },
-                { "label": "K04 (B3,D4)", "x": 4.25, "y": 0 },
-                { "label": "K05 (B3,D6)", "x": 5.5, "y": 0 },
-                { "label": "K06 (B3,D7)", "x": 6.5, "y": 0 },
-                { "label": "K07 (B3,B4)", "x": 7.5, "y": 0 },
-                { "label": "K08 (B3,B5)", "x": 8.5, "y": 0 },
-                { "label": "K09 (B3,B6)", "x": 9.75, "y": 0 },
-                { "label": "K0A (B3,C6)", "x": 10.75, "y": 0 },
-                { "label": "K0B (B3,C7)", "x": 11.75, "y": 0 },
-                { "label": "K0C (B3,F5)", "x": 12.75, "y": 0 },
-                { "label": "K10 (B2,D1)", "x": 0, "y": 1.25 },
-                { "label": "K11 (B2,D2)", "x": 1, "y": 1.25 },
-                { "label": "K12 (B2,D3)", "x": 2, "y": 1.25 },
-                { "label": "K13 (B2,D5)", "x": 3, "y": 1.25 },
-                { "label": "K14 (B2,D4)", "x": 4, "y": 1.25 },
-                { "label": "K15 (B2,D6)", "x": 5, "y": 1.25 },
-                { "label": "K16 (B2,D7)", "x": 6, "y": 1.25 },
-                { "label": "K17 (B2,B4)", "x": 7, "y": 1.25 },
-                { "label": "K18 (B2,B5)", "x": 8, "y": 1.25 },
-                { "label": "K19 (B2,B6)", "x": 9, "y": 1.25 },
-                { "label": "K1A (B2,C6)", "x": 10, "y": 1.25 },
-                { "label": "K1B (B2,C7)", "x": 11, "y": 1.25 },
-                { "label": "K1C (B2,F5)", "x": 12, "y": 1.25 },
-                { "label": "K1D (B2,F1)", "x": 13, "y": 1.25, "w": 2 },
-                { "label": "K1E (B2,F4)", "x": 15, "y": 1.25 },
-                { "label": "K20 (B1,D1)", "x": 0, "y": 2.25, "w": 1.5 },
-                { "label": "K21 (B1,D2)", "x": 1.5, "y": 2.25 },
-                { "label": "K22 (B1,D3)", "x": 2.5, "y": 2.25 },
-                { "label": "K23 (B1,D5)", "x": 3.5, "y": 2.25 },
-                { "label": "K24 (B1,D4)", "x": 4.5, "y": 2.25 },
-                { "label": "K25 (B1,D6)", "x": 5.5, "y": 2.25 },
-                { "label": "K26 (B1,D7)", "x": 6.5, "y": 2.25 },
-                { "label": "K27 (B1,B4)", "x": 7.5, "y": 2.25 },
-                { "label": "K28 (B1,B5)", "x": 8.5, "y": 2.25 },
-                { "label": "K29 (B1,B6)", "x": 9.5, "y": 2.25 },
-                { "label": "K2A (B1,C6)", "x": 10.5, "y": 2.25 },
-                { "label": "K2B (B1,C7)", "x": 11.5, "y": 2.25 },
-                { "label": "K2C (B1,F5)", "x": 12.5, "y": 2.25 },
-                { "label": "K2D (B1,F1)", "x": 13.5, "y": 2.25, "w": 1.5 },
-                { "label": "K2E (B1,F4)", "x": 15, "y": 2.25 },
-                { "label": "K30 (B0,D1)", "x": 0, "y": 3.25, "w": 1.75 },
-                { "label": "K31 (B0,D2)", "x": 1.75, "y": 3.25 },
-                { "label": "K32 (B0,D3)", "x": 2.75, "y": 3.25 },
-                { "label": "K33 (B0,D5)", "x": 3.75, "y": 3.25 },
-                { "label": "K34 (B0,D4)", "x": 4.75, "y": 3.25 },
-                { "label": "K35 (B0,D6)", "x": 5.75, "y": 3.25 },
-                { "label": "K36 (B0,D7)", "x": 6.75, "y": 3.25 },
-                { "label": "K37 (B0,B4)", "x": 7.75, "y": 3.25 },
-                { "label": "K38 (B0,B5)", "x": 8.75, "y": 3.25 },
-                { "label": "K39 (B0,B6)", "x": 9.75, "y": 3.25 },
-                { "label": "K3A (B0,C6)", "x": 10.75, "y": 3.25 },
-                { "label": "K3B (B0,C7)", "x": 11.75, "y": 3.25 },
-                { "label": "K3D (B0,F1)", "x": 12.75, "y": 3.25, "w": 2.25 },
-                { "label": "K3E (B0,F4)", "x": 15, "y": 3.25 },
-                { "label": "K40 (F6,D1)", "x": 0, "y": 4.25, "w": 2.25 },
-                { "label": "K41 (F6,D2)", "x": 2.25, "y": 4.25 },
-                { "label": "K42 (F6,D3)", "x": 3.25, "y": 4.25 },
-                { "label": "K43 (F6,D5)", "x": 4.25, "y": 4.25 },
-                { "label": "K44 (F6,D4)", "x": 5.25, "y": 4.25 },
-                { "label": "K45 (F6,D6)", "x": 6.25, "y": 4.25 },
-                { "label": "K46 (F6,D7)", "x": 7.25, "y": 4.25 },
-                { "label": "K47 (F6,B4)", "x": 8.25, "y": 4.25 },
-                { "label": "K48 (F6,B5)", "x": 9.25, "y": 4.25 },
-                { "label": "K49 (F6,B6)", "x": 10.25, "y": 4.25 },
-                { "label": "K4A (F6,C6)", "x": 11.25, "y": 4.25 },
-                { "label": "K4B (F6,C7)", "x": 12.25, "y": 4.25, "w": 1.75 },
-                { "label": "K4D (F6,F1)", "x": 14, "y": 4.25 },
-                { "label": "K4E (F6,F4)", "x": 15, "y": 4.25 },
-                { "label": "K50 (B7,D1)", "x": 0, "y": 5.25, "w": 1.25 },
-                { "label": "K51 (B7,D2)", "x": 1.25, "y": 5.25, "w": 1.25 },
-                { "label": "K52 (B7,D3)", "x": 2.5, "y": 5.25, "w": 1.25 },
-                { "label": "K55 (B7,D6)", "x": 3.75, "y": 5.25, "w": 6.25 },
-                { "label": "K5A (B7,C6)", "x": 10, "y": 5.25, "w": 1.25 },
-                { "label": "K5B (B7,C7)", "x": 11.25, "y": 5.25, "w": 1.25 },
-                { "label": "K5C (B7,F5)", "x": 13, "y": 5.25 },
-                { "label": "K5D (B7,F1)", "x": 14, "y": 5.25 },
-                { "label": "K5E (B7,F4)", "x": 15, "y": 5.25 }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"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.5, "y": 0},
+                {"matrix": [0, 6], "x": 6.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+                {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+                {"matrix": [0, 9], "x": 9.75, "y": 0},
+                {"matrix": [0, 10], "x": 10.75, "y": 0},
+                {"matrix": [0, 11], "x": 11.75, "y": 0},
+                {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.25},
+                {"matrix": [1, 1], "x": 1, "y": 1.25},
+                {"matrix": [1, 2], "x": 2, "y": 1.25},
+                {"matrix": [1, 3], "x": 3, "y": 1.25},
+                {"matrix": [1, 4], "x": 4, "y": 1.25},
+                {"matrix": [1, 5], "x": 5, "y": 1.25},
+                {"matrix": [1, 6], "x": 6, "y": 1.25},
+                {"matrix": [1, 7], "x": 7, "y": 1.25},
+                {"matrix": [1, 8], "x": 8, "y": 1.25},
+                {"matrix": [1, 9], "x": 9, "y": 1.25},
+                {"matrix": [1, 10], "x": 10, "y": 1.25},
+                {"matrix": [1, 11], "x": 11, "y": 1.25},
+                {"matrix": [1, 12], "x": 12, "y": 1.25},
+                {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+                {"matrix": [1, 14], "x": 15, "y": 1.25},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+                {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+                {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+                {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+                {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+                {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+                {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+                {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+                {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+                {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+                {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+                {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+                {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+                {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+                {"matrix": [2, 14], "x": 15, "y": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+                {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+                {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+                {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+                {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+                {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+                {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+                {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+                {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+                {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+                {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+                {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+                {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+                {"matrix": [3, 14], "x": 15, "y": 3.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+                {"matrix": [4, 1], "x": 2.25, "y": 4.25},
+                {"matrix": [4, 2], "x": 3.25, "y": 4.25},
+                {"matrix": [4, 3], "x": 4.25, "y": 4.25},
+                {"matrix": [4, 4], "x": 5.25, "y": 4.25},
+                {"matrix": [4, 5], "x": 6.25, "y": 4.25},
+                {"matrix": [4, 6], "x": 7.25, "y": 4.25},
+                {"matrix": [4, 7], "x": 8.25, "y": 4.25},
+                {"matrix": [4, 8], "x": 9.25, "y": 4.25},
+                {"matrix": [4, 9], "x": 10.25, "y": 4.25},
+                {"matrix": [4, 10], "x": 11.25, "y": 4.25},
+                {"matrix": [4, 11], "x": 12.25, "y": 4.25, "w": 1.75},
+                {"matrix": [4, 13], "x": 14, "y": 4.25},
+                {"matrix": [4, 14], "x": 15, "y": 4.25},
+
+                {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+                {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+                {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+                {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
+                {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+                {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+                {"matrix": [5, 12], "x": 13, "y": 5.25},
+                {"matrix": [5, 13], "x": 14, "y": 5.25},
+                {"matrix": [5, 14], "x": 15, "y": 5.25}
             ]
         }
     }

+ 0 - 45
keyboards/adelheid/adelheid.h

@@ -1,45 +0,0 @@
-/* Copyright 2020 floookay
- *
- * 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 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, k0E, \
-	                                                                                \
-	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k2E, \
-	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D,      k3E, \
-	k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,           k4E, \
-	k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B,      k4D,           \
-	k50,      k52,      k54, k55,      k57,      k59,           k5C, k5D, k5E       \
-) \
-{ \
-	{ k00,   k01,   k02,   k03,   k04,   k05,   k06,   k07,   k08,   k09,   k0A,   k0B,   k0C,   k0D,   k0E   }, \
-	{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-	{ k10,   k11,   k12,   k13,   k14,   k15,   k16,   k17,   k18,   k19,   k1A,   k1B,   k1C,   k1D,   k1E   }, \
-	{ k20,   k21,   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,   k3C,   KC_NO, k3E   }, \
-	{ k40,   k41,   k42,   k43,   k44,   k45,   k46,   k47,   k48,   k49,   k4A,   k4B,   KC_NO, k4D,   k4E   }, \
-	{ k50,   KC_NO, k52,   KC_NO, k54,   k55,   KC_NO, k57,   KC_NO, k59,   KC_NO, KC_NO, k5C,   k5D,   k5E   }  \
-}

+ 87 - 82
keyboards/adelheid/info.json

@@ -21,93 +21,98 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "label": "k00", "x": 0, "y": 0 },
-                { "label": "k01", "x": 1.25, "y": 0 },
-                { "label": "k02", "x": 2.25, "y": 0 },
-                { "label": "k03", "x": 3.5, "y": 0 },
-                { "label": "k04", "x": 4.5, "y": 0 },
-                { "label": "k05", "x": 5.75, "y": 0 },
-                { "label": "k06", "x": 6.75, "y": 0 },
-                { "label": "k07", "x": 9.75, "y": 0 },
-                { "label": "k08", "x": 10.75, "y": 0 },
-                { "label": "k09", "x": 12, "y": 0 },
-                { "label": "k0A", "x": 13, "y": 0 },
-                { "label": "k0B", "x": 14.25, "y": 0 },
-                { "label": "k0C", "x": 15.25, "y": 0 },
-                { "label": "k0D", "x": 16.5, "y": 0 },
-                { "label": "k0E", "x": 17.75, "y": 0 },
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1.25, "y": 0},
+                {"matrix": [0, 2], "x": 2.25, "y": 0},
+                {"matrix": [0, 3], "x": 3.5, "y": 0},
+                {"matrix": [0, 4], "x": 4.5, "y": 0},
+                {"matrix": [0, 5], "x": 5.75, "y": 0},
+                {"matrix": [0, 6], "x": 6.75, "y": 0},
+                {"matrix": [0, 7], "x": 9.75, "y": 0},
+                {"matrix": [0, 8], "x": 10.75, "y": 0},
+                {"matrix": [0, 9], "x": 12, "y": 0},
+                {"matrix": [0, 10], "x": 13, "y": 0},
+                {"matrix": [0, 11], "x": 14.25, "y": 0},
+                {"matrix": [0, 12], "x": 15.25, "y": 0},
+                {"matrix": [0, 13], "x": 16.5, "y": 0},
+                {"matrix": [0, 14], "x": 17.75, "y": 0},
 
-                { "label": "k10", "x": 0.75, "y": 1.25 },
-                { "label": "k11", "x": 1.75, "y": 1.25 },
-                { "label": "k12", "x": 2.75, "y": 1.25 },
-                { "label": "k13", "x": 4, "y": 1.25 },
-                { "label": "k14", "x": 5, "y": 1.25 },
-                { "label": "k15", "x": 6, "y": 1.25 },
-                { "label": "k16", "x": 7, "y": 1.25 },
-                { "label": "k17", "x": 9.5, "y": 1.25 },
-                { "label": "k18", "x": 10.5, "y": 1.25 },
-                { "label": "k19", "x": 11.5, "y": 1.25 },
-                { "label": "k1A", "x": 12.5, "y": 1.25 },
-                { "label": "k1B", "x": 13.75, "y": 1.25 },
-                { "label": "k1C", "x": 14.75, "y": 1.25 },
-                { "label": "k1D", "x": 15.75, "y": 1.25 },
-                { "label": "k1E", "x": 16.75, "y": 1.25 },
-                { "label": "k2E", "x": 18, "y": 1 },
+                {"matrix": [2, 0], "x": 0.75, "y": 1.25},
+                {"matrix": [2, 1], "x": 1.75, "y": 1.25},
+                {"matrix": [2, 2], "x": 2.75, "y": 1.25},
+                {"matrix": [2, 3], "x": 4, "y": 1.25},
+                {"matrix": [2, 4], "x": 5, "y": 1.25},
+                {"matrix": [2, 5], "x": 6, "y": 1.25},
+                {"matrix": [2, 6], "x": 7, "y": 1.25},
+                {"matrix": [2, 7], "x": 9.5, "y": 1.25},
+                {"matrix": [2, 8], "x": 10.5, "y": 1.25},
+                {"matrix": [2, 9], "x": 11.5, "y": 1.25},
+                {"matrix": [2, 10], "x": 12.5, "y": 1.25},
+                {"matrix": [2, 11], "x": 13.75, "y": 1.25},
+                {"matrix": [2, 12], "x": 14.75, "y": 1.25},
+                {"matrix": [2, 13], "x": 15.75, "y": 1.25},
+                {"matrix": [2, 14], "x": 16.75, "y": 1.25},
 
-                { "label": "k20", "x": 0.5, "y": 2.25, "w": 1.5 },
-                { "label": "k21", "x": 2, "y": 2.25 },
-                { "label": "k22", "x": 3.5, "y": 2.25 },
-                { "label": "k23", "x": 4.5, "y": 2.25 },
-                { "label": "k24", "x": 5.5, "y": 2.25 },
-                { "label": "k25", "x": 6.5, "y": 2.25 },
-                { "label": "k26", "x": 9, "y": 2.25 },
-                { "label": "k27", "x": 10, "y": 2.25 },
-                { "label": "k28", "x": 11, "y": 2.25 },
-                { "label": "k29", "x": 12, "y": 2.25 },
-                { "label": "k2A", "x": 13, "y": 2.25 },
-                { "label": "k2B", "x": 14.5, "y": 2.25 },
-                { "label": "k2C", "x": 15.5, "y": 2.25 },
-                { "label": "k2D", "x": 16.5, "y": 2.25, "w": 1.5 },
-                { "label": "k3E", "x": 18.25, "y": 2 },
+                {"matrix": [3, 14], "x": 18, "y": 1},
 
-                { "label": "k30", "x": 0.25, "y": 3.25, "w": 1.75 },
-                { "label": "k31", "x": 2, "y": 3.25 },
-                { "label": "k32", "x": 3.75, "y": 3.25 },
-                { "label": "k33", "x": 4.75, "y": 3.25 },
-                { "label": "k34", "x": 5.75, "y": 3.25 },
-                { "label": "k35", "x": 6.75, "y": 3.25 },
-                { "label": "k36", "x": 9.25, "y": 3.25 },
-                { "label": "k37", "x": 10.25, "y": 3.25 },
-                { "label": "k38", "x": 11.25, "y": 3.25 },
-                { "label": "k39", "x": 12.25, "y": 3.25 },
-                { "label": "k3A", "x": 14, "y": 3.25 },
-                { "label": "k3B", "x": 15, "y": 3.25 },
-                { "label": "k3C", "x": 16, "y": 3.25, "w": 2.25 },
-                { "label": "k4E", "x": 18.5, "y": 3 },
+                {"matrix": [3, 0], "x": 0.5, "y": 2.25, "w": 1.5},
+                {"matrix": [3, 1], "x": 2, "y": 2.25},
+                {"matrix": [3, 2], "x": 3.5, "y": 2.25},
+                {"matrix": [3, 3], "x": 4.5, "y": 2.25},
+                {"matrix": [3, 4], "x": 5.5, "y": 2.25},
+                {"matrix": [3, 5], "x": 6.5, "y": 2.25},
+                {"matrix": [3, 6], "x": 9, "y": 2.25},
+                {"matrix": [3, 7], "x": 10, "y": 2.25},
+                {"matrix": [3, 8], "x": 11, "y": 2.25},
+                {"matrix": [3, 9], "x": 12, "y": 2.25},
+                {"matrix": [3, 10], "x": 13, "y": 2.25},
+                {"matrix": [3, 11], "x": 14.5, "y": 2.25},
+                {"matrix": [3, 12], "x": 15.5, "y": 2.25},
+                {"matrix": [3, 13], "x": 16.5, "y": 2.25, "w": 1.5},
 
-                { "label": "k40", "x": 0, "y": 4.25, "w": 2.25 },
-                { "label": "k41", "x": 2.25, "y": 4.25 },
-                { "label": "k42", "x": 4.25, "y": 4.25 },
-                { "label": "k43", "x": 5.25, "y": 4.25 },
-                { "label": "k44", "x": 6.25, "y": 4.25 },
-                { "label": "k45", "x": 7.25, "y": 4.25 },
-                { "label": "k46", "x": 9.5, "y": 4.25 },
-                { "label": "k47", "x": 10.5, "y": 4.25 },
-                { "label": "k48", "x": 11.5, "y": 4.25 },
-                { "label": "k49", "x": 12.5, "y": 4.25 },
-                { "label": "k4A", "x": 14.5, "y": 4.25 },
-                { "label": "k4B", "x": 15.5, "y": 4.25, "w": 1.75 },
-                { "label": "k4D", "x": 17.5, "y": 4.5 },
+                {"matrix": [4, 14], "x": 18.25, "y": 2},
 
-                { "label": "k50", "x": 0, "y": 5.25, "w": 1.5 },
-                { "label": "k52", "x": 4.25, "y": 5.25, "w": 1.5 },
-                { "label": "k54", "x": 5.75, "y": 5.25, "w": 2 },
-                { "label": "k55", "x": 7.75, "y": 5.25 },
-                { "label": "k57", "x": 9, "y": 5.25, "w": 2.75 },
-                { "label": "k59", "x": 11.75, "y": 5.25, "w": 1.5 },
-                { "label": "k5C", "x": 16.5, "y": 5.5 },
-                { "label": "k5D", "x": 17.5, "y": 5.5 },
-                { "label": "k5E", "x": 18.5, "y": 5.5 }
+                {"matrix": [4, 0], "x": 0.25, "y": 3.25, "w": 1.75},
+                {"matrix": [4, 1], "x": 2, "y": 3.25},
+                {"matrix": [4, 2], "x": 3.75, "y": 3.25},
+                {"matrix": [4, 3], "x": 4.75, "y": 3.25},
+                {"matrix": [4, 4], "x": 5.75, "y": 3.25},
+                {"matrix": [4, 5], "x": 6.75, "y": 3.25},
+                {"matrix": [4, 6], "x": 9.25, "y": 3.25},
+                {"matrix": [4, 7], "x": 10.25, "y": 3.25},
+                {"matrix": [4, 8], "x": 11.25, "y": 3.25},
+                {"matrix": [4, 9], "x": 12.25, "y": 3.25},
+                {"matrix": [4, 10], "x": 14, "y": 3.25},
+                {"matrix": [4, 11], "x": 15, "y": 3.25},
+                {"matrix": [4, 12], "x": 16, "y": 3.25, "w": 2.25},
+
+                {"matrix": [5, 14], "x": 18.5, "y": 3},
+
+                {"matrix": [5, 0], "x": 0, "y": 4.25, "w": 2.25},
+                {"matrix": [5, 1], "x": 2.25, "y": 4.25},
+                {"matrix": [5, 2], "x": 4.25, "y": 4.25},
+                {"matrix": [5, 3], "x": 5.25, "y": 4.25},
+                {"matrix": [5, 4], "x": 6.25, "y": 4.25},
+                {"matrix": [5, 5], "x": 7.25, "y": 4.25},
+                {"matrix": [5, 6], "x": 9.5, "y": 4.25},
+                {"matrix": [5, 7], "x": 10.5, "y": 4.25},
+                {"matrix": [5, 8], "x": 11.5, "y": 4.25},
+                {"matrix": [5, 9], "x": 12.5, "y": 4.25},
+                {"matrix": [5, 10], "x": 14.5, "y": 4.25},
+                {"matrix": [5, 11], "x": 15.5, "y": 4.25, "w": 1.75},
+
+                {"matrix": [5, 13], "x": 17.5, "y": 4.5},
+
+                {"matrix": [6, 0], "x": 0, "y": 5.25, "w": 1.5},
+                {"matrix": [6, 2], "x": 4.25, "y": 5.25, "w": 1.5},
+                {"matrix": [6, 4], "x": 5.75, "y": 5.25, "w": 2},
+                {"matrix": [6, 5], "x": 7.75, "y": 5.25},
+                {"matrix": [6, 7], "x": 9, "y": 5.25, "w": 2.75},
+                {"matrix": [6, 9], "x": 11.75, "y": 5.25, "w": 1.5},
+
+                {"matrix": [6, 12], "x": 16.5, "y": 5.5},
+                {"matrix": [6, 13], "x": 17.5, "y": 5.5},
+                {"matrix": [6, 14], "x": 18.5, "y": 5.5}
             ]
         }
     }

+ 0 - 31
keyboards/adm42/adm42.h

@@ -1,31 +0,0 @@
-/* Copyright 2020-2022 Lorenzo Leonini
- * SPDX-License-Identifier: GPL-2.0-only
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * 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( \
-    K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, \
-    K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
-    K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
-                      K404, K405, K406, K407, K408, K409  \
-) { \
-    { K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112  }, \
-    { K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212  }, \
-    { K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312  }, \
-    { KC_NO, KC_NO, KC_NO, K404,  K405,  K407,  K406,  K408,  K409,  KC_NO, KC_NO, KC_NO }  \
-}

+ 46 - 42
keyboards/adm42/info.json

@@ -28,51 +28,55 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"GUI/`~", "x":0, "y":0.8},
-                {"label":"Q", "x":1, "y":0.8},
-                {"label":"W", "x":2, "y":0},
-                {"label":"E", "x":3, "y":0},
-                {"label":"R", "x":4, "y":0.5},
-                {"label":"T", "x":5, "y":0.5},
-                {"label":"Y", "x":7.5, "y":0.5},
-                {"label":"U", "x":8.5, "y":0.5},
-                {"label":"I", "x":9.5, "y":0},
-                {"label":"O", "x":10.5, "y":0},
-                {"label":"P", "x":11.5, "y":0.8},
-                {"label":"GUI/=+", "x":12.5, "y":0.8},
+                {"matrix": [0, 0], "x": 0, "y": 0.8},
+                {"matrix": [0, 1], "x": 1, "y": 0.8},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0.5},
+                {"matrix": [0, 5], "x": 5, "y": 0.5},
 
-                {"label":"Ctrl/Tab", "x":0, "y":1.8},
-                {"label":"A", "x":1, "y":1.8},
-                {"label":"S", "x":2, "y":1},
-                {"label":"D", "x":3, "y":1},
-                {"label":"F", "x":4, "y":1.5},
-                {"label":"G", "x":5, "y":1.5},
-                {"label":"H", "x":7.5, "y":1.5},
-                {"label":"J", "x":8.5, "y":1.5},
-                {"label":"K", "x":9.5, "y":1},
-                {"label":"L", "x":10.5, "y":1},
-                {"label":";:", "x":11.5, "y":1.8},
-                {"label":"Ctrl/'\"", "x":12.5, "y":1.8},
+                {"matrix": [0, 6], "x": 7.5, "y": 0.5},
+                {"matrix": [0, 7], "x": 8.5, "y": 0.5},
+                {"matrix": [0, 8], "x": 9.5, "y": 0},
+                {"matrix": [0, 9], "x": 10.5, "y": 0},
+                {"matrix": [0, 10], "x": 11.5, "y": 0.8},
+                {"matrix": [0, 11], "x": 12.5, "y": 0.8},
 
-                {"label":"Alt", "x":0, "y":2.8},
-                {"label":"Z", "x":1, "y":2.8},
-                {"label":"X", "x":2, "y":2},
-                {"label":"C", "x":3, "y":2},
-                {"label":"V", "x":4, "y":2.5},
-                {"label":"B", "x":5, "y":2.5},
-                {"label":"N", "x":7.5, "y":2.5},
-                {"label":"M", "x":8.5, "y":2.5},
-                {"label":",<", "x":9.5, "y":2},
-                {"label":".>", "x":10.5, "y":2},
-                {"label":"/?", "x":11.5, "y":2.8},
-                {"label":"Alt", "x":12.5, "y":2.8},
+                {"matrix": [1, 0], "x": 0, "y": 1.8},
+                {"matrix": [1, 1], "x": 1, "y": 1.8},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1.5},
+                {"matrix": [1, 5], "x": 5, "y": 1.5},
 
-                {"label":"Special/Esc", "x":4.25, "y":3.55},
-                {"label":"Shift/Backspace", "x":5.25, "y":3.65},
-                {"label":"Adm/Delete", "x":6.25, "y":1.875, "h":1.25},
-                {"label":"Extra/Enter", "x":6.25, "y":4.05},
-                {"label":"Shift/Space", "x":7.25, "y":3.65},
-                {"label":"Special/Alt", "x":8.25, "y":3.55}
+                {"matrix": [1, 6], "x": 7.5, "y": 1.5},
+                {"matrix": [1, 7], "x": 8.5, "y": 1.5},
+                {"matrix": [1, 8], "x": 9.5, "y": 1},
+                {"matrix": [1, 9], "x": 10.5, "y": 1},
+                {"matrix": [1, 10], "x": 11.5, "y": 1.8},
+                {"matrix": [1, 11], "x": 12.5, "y": 1.8},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.8},
+                {"matrix": [2, 1], "x": 1, "y": 2.8},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2},
+                {"matrix": [2, 4], "x": 4, "y": 2.5},
+                {"matrix": [2, 5], "x": 5, "y": 2.5},
+
+                {"matrix": [2, 6], "x": 7.5, "y": 2.5},
+                {"matrix": [2, 7], "x": 8.5, "y": 2.5},
+                {"matrix": [2, 8], "x": 9.5, "y": 2},
+                {"matrix": [2, 9], "x": 10.5, "y": 2},
+                {"matrix": [2, 10], "x": 11.5, "y": 2.8},
+                {"matrix": [2, 11], "x": 12.5, "y": 2.8},
+
+                {"matrix": [3, 3], "x": 4.25, "y": 3.55},
+                {"matrix": [3, 4], "x": 5.25, "y": 3.65},
+                {"matrix": [3, 6], "x": 6.25, "y": 1.875, "h": 1.25},
+
+                {"matrix": [3, 5], "x": 6.25, "y": 4.05},
+                {"matrix": [3, 7], "x": 7.25, "y": 3.65},
+                {"matrix": [3, 8], "x": 8.25, "y": 3.55}
             ]
         }
     }

+ 65 - 65
keyboards/adpenrose/kintsugi/info.json

@@ -26,75 +26,75 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-              {"label":"Esc", "x":0, "y":0},
-              {"label":"1", "x":1, "y":0},
-              {"label":"2", "x":2, "y":0},
-              {"label":"3", "x":3, "y":0},
-              {"label":"4", "x":4, "y":0},
-              {"label":"5", "x":5, "y":0},
-              {"label":"6", "x":6, "y":0},
-              {"label":"7", "x":7, "y":0},
-              {"label":"8", "x":8, "y":0},
-              {"label":"9", "x":9, "y":0},
-              {"label":"0", "x":10, "y":0},
-              {"label":"-", "x":11, "y":0},
-              {"label":"=", "x":12, "y":0},
-              {"label":"Backspace", "x":13, "y":0, "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": [5, 0], "x": 7, "y": 0},
+                {"matrix": [5, 1], "x": 8, "y": 0},
+                {"matrix": [5, 2], "x": 9, "y": 0},
+                {"matrix": [5, 3], "x": 10, "y": 0},
+                {"matrix": [5, 4], "x": 11, "y": 0},
+                {"matrix": [5, 5], "x": 12, "y": 0},
+                {"matrix": [5, 6], "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},
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [6, 0], "x": 7.5, "y": 1},
+                {"matrix": [6, 1], "x": 8.5, "y": 1},
+                {"matrix": [6, 2], "x": 9.5, "y": 1},
+                {"matrix": [6, 3], "x": 10.5, "y": 1},
+                {"matrix": [6, 4], "x": 11.5, "y": 1},
+                {"matrix": [6, 5], "x": 12.5, "y": 1},
+                {"matrix": [6, 6], "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":"Enc", "x":15, "y":2},
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [7, 0], "x": 7.75, "y": 2},
+                {"matrix": [7, 1], "x": 8.75, "y": 2},
+                {"matrix": [7, 2], "x": 9.75, "y": 2},
+                {"matrix": [7, 3], "x": 10.75, "y": 2},
+                {"matrix": [7, 4], "x": 11.75, "y": 2},
+                {"matrix": [7, 5], "x": 12.75, "y": 2, "w": 2.25},
+                {"matrix": [7, 6], "x": 15, "y": 2},
 
-              {"label":"LShift", "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":"RShift", "x":12.25, "y":3, "w":1.75},
-              {"label":"Up", "x":14, "y":3},
-              {"label":"M1", "x":15, "y":3},
+                {"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": 7.25, "y": 3},
+                {"matrix": [8, 0], "x": 8.25, "y": 3},
+                {"matrix": [8, 1], "x": 9.25, "y": 3},
+                {"matrix": [8, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 3], "x": 11.25, "y": 3},
+                {"matrix": [8, 4], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [8, 5], "x": 14, "y": 3},
+                {"matrix": [8, 6], "x": 15, "y": 3},
 
-              {"label":"LCtrl", "x":0, "y":4, "w":1.25},
-              {"label":"LSuper", "x":1.25, "y":4, "w":1.25},
-              {"label":"LAlt", "x":2.5, "y":4, "w":1.25},
-              {"label":"Space", "x":3.75, "y":4, "w":6.25},
-              {"label":"L1", "x":10, "y":4, "w":1.5},
-              {"label":"L2", "x":11.5, "y":4, "w":1.5},
-              {"label":"Left", "x":13, "y":4},
-              {"label":"Down", "x":14, "y":4},
-              {"label":"Right", "x":15, "y":4}
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [9, 2], "x": 10, "y": 4, "w": 1.5},
+                {"matrix": [9, 3], "x": 11.5, "y": 4, "w": 1.5},
+                {"matrix": [9, 4], "x": 13, "y": 4},
+                {"matrix": [9, 5], "x": 14, "y": 4},
+                {"matrix": [9, 6], "x": 15, "y": 4}
             ]
         }
     }

+ 1 - 1
keyboards/adpenrose/kintsugi/kintsugi.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "kintsugi.h"
+#include "quantum.h"
 
 #ifdef OLED_ENABLE
 oled_rotation_t oled_init_kb(oled_rotation_t rotation) {

+ 0 - 46
keyboards/adpenrose/kintsugi/kintsugi.h

@@ -1,46 +0,0 @@
-/* Copyright 2022 adpenrose
- *
- * 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, K50, K51, K52, K53, K54, K55, K56, \
-  K10, K11, K12, K13, K14, K15, K16, K60, K61, K62, K63, K64, K65, K66, \
-  K20, K21, K22, K23, K24, K25, K26, K70, K71, K72, K73, K74, K75, K76, \
-  K30, K31, K32, K33, K34, K35, K36, K80, K81, K82, K83, K84, K85, K86, \
-  K40, K41, K42,                K46,           K92, K93, K94, K95, K96  \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06 }, \
-    { K10, K11, K12, K13, K14, K15, K16 }, \
-    { K20, K21, K22, K23, K24, K25, K26 }, \
-    { K30, K31, K32, K33, K34, K35, K36 }, \
-    { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46 }, \
-    { K50, K51, K52, K53, K54, K55, K56 }, \
-    { K60, K61, K62, K63, K64, K65, K66 }, \
-    { K70, K71, K72, K73, K74, K75, K76 }, \
-    { K80, K81, K82, K83, K84, K85, K86 }, \
-    { KC_NO, KC_NO, K92, K93, K94, K95, K96 } \
-}

+ 75 - 66
keyboards/afternoonlabs/breeze/rev0/info.json

@@ -24,76 +24,85 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.375},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.125},
-                {"x":3, "y":0},
-                {"x":4, "y":0.125},
-                {"x":5, "y":0.25},
-                {"x":9.75, "y":0.25},
-                {"x":10.75, "y":0.125},
-                {"x":11.75, "y":0},
-                {"x":12.75, "y":0.125},
-                {"x":13.75, "y":0.375},
-                {"x":14.75, "y":0.375},
-                {"x":16, "y":0.375},
-                {"x":17, "y":0.375},
-                {"x":18, "y":0.375},
+                {"matrix": [0, 5], "x": 0, "y": 0.375},
+                {"matrix": [0, 4], "x": 1, "y": 0.375},
+                {"matrix": [0, 3], "x": 2, "y": 0.125},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0.125},
+                {"matrix": [0, 0], "x": 5, "y": 0.25},
 
-                {"x":0, "y":1.375},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.125},
-                {"x":3, "y":1},
-                {"x":4, "y":1.125},
-                {"x":5, "y":1.25},
-                {"x":9.75, "y":1.25},
-                {"x":10.75, "y":1.125},
-                {"x":11.75, "y":1},
-                {"x":12.75, "y":1.125},
-                {"x":13.75, "y":1.375},
-                {"x":14.75, "y":1.375},
-                {"x":16, "y":1.375},
-                {"x":17, "y":1.375},
-                {"x":18, "y":1.375},
+                {"matrix": [5, 0], "x": 9.75, "y": 0.25},
+                {"matrix": [5, 1], "x": 10.75, "y": 0.125},
+                {"matrix": [5, 2], "x": 11.75, "y": 0},
+                {"matrix": [5, 3], "x": 12.75, "y": 0.125},
+                {"matrix": [5, 4], "x": 13.75, "y": 0.375},
+                {"matrix": [5, 5], "x": 14.75, "y": 0.375},
 
-                {"x":0, "y":2.375},
-                {"x":1, "y":2.375},
-                {"x":2, "y":2.125},
-                {"x":3, "y":2},
-                {"x":4, "y":2.125},
-                {"x":5, "y":2.25},
-                {"x":9.75, "y":2.25},
-                {"x":10.75, "y":2.125},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2.125},
-                {"x":13.75, "y":2.375},
-                {"x":14.75, "y":2.375},
-                {"x":17, "y":2.375},
+                {"matrix": [5, 6], "x": 16, "y": 0.375},
+                {"matrix": [5, 7], "x": 17, "y": 0.375},
+                {"matrix": [5, 8], "x": 18, "y": 0.375},
 
-                {"x":0, "y":3.375},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.125},
-                {"x":3, "y":3},
-                {"x":4, "y":3.125},
-                {"x":5, "y":3.25},
-                {"x":9.75, "y":3.25},
-                {"x":10.75, "y":3.125},
-                {"x":11.75, "y":3},
-                {"x":12.75, "y":3.125},
-                {"x":13.75, "y":3.375},
-                {"x":14.75, "y":3.375},
-                {"x":16, "y":3.375},
-                {"x":17, "y":3.375},
-                {"x":18, "y":3.375},
+                {"matrix": [1, 5], "x": 0, "y": 1.375},
+                {"matrix": [1, 4], "x": 1, "y": 1.375},
+                {"matrix": [1, 3], "x": 2, "y": 1.125},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1.125},
+                {"matrix": [1, 0], "x": 5, "y": 1.25},
 
-                {"x":2.5, "y":4.25},
-                {"x":3.5, "y":4.25},
-                {"x":4.5, "y":4.5},
-                {"x":6.25, "y":3.75, "h":2, "r":30},
-                {"x":8.5, "y":3.75, "h":2, "r":-30},
-                {"x":10.25, "y":4.5},
-                {"x":11.25, "y":4.25},
-                {"x":12.25, "y":4.25}
+                {"matrix": [6, 0], "x": 9.75, "y": 1.25},
+                {"matrix": [6, 1], "x": 10.75, "y": 1.125},
+                {"matrix": [6, 2], "x": 11.75, "y": 1},
+                {"matrix": [6, 3], "x": 12.75, "y": 1.125},
+                {"matrix": [6, 4], "x": 13.75, "y": 1.375},
+                {"matrix": [6, 5], "x": 14.75, "y": 1.375},
+
+                {"matrix": [6, 6], "x": 16, "y": 1.375},
+                {"matrix": [6, 7], "x": 17, "y": 1.375},
+                {"matrix": [6, 8], "x": 18, "y": 1.375},
+
+                {"matrix": [2, 5], "x": 0, "y": 2.375},
+                {"matrix": [2, 4], "x": 1, "y": 2.375},
+                {"matrix": [2, 3], "x": 2, "y": 2.125},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2.125},
+                {"matrix": [2, 0], "x": 5, "y": 2.25},
+
+                {"matrix": [7, 0], "x": 9.75, "y": 2.25},
+                {"matrix": [7, 1], "x": 10.75, "y": 2.125},
+                {"matrix": [7, 2], "x": 11.75, "y": 2},
+                {"matrix": [7, 3], "x": 12.75, "y": 2.125},
+                {"matrix": [7, 4], "x": 13.75, "y": 2.375},
+                {"matrix": [7, 5], "x": 14.75, "y": 2.375},
+
+                {"matrix": [7, 7], "x": 17, "y": 2.375},
+
+                {"matrix": [3, 5], "x": 0, "y": 3.375},
+                {"matrix": [3, 4], "x": 1, "y": 3.375},
+                {"matrix": [3, 3], "x": 2, "y": 3.125},
+                {"matrix": [3, 2], "x": 3, "y": 3},
+                {"matrix": [3, 1], "x": 4, "y": 3.125},
+                {"matrix": [3, 0], "x": 5, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 9.75, "y": 3.25},
+                {"matrix": [8, 1], "x": 10.75, "y": 3.125},
+                {"matrix": [8, 2], "x": 11.75, "y": 3},
+                {"matrix": [8, 3], "x": 12.75, "y": 3.125},
+                {"matrix": [8, 4], "x": 13.75, "y": 3.375},
+                {"matrix": [8, 5], "x": 14.75, "y": 3.375},
+
+                {"matrix": [8, 6], "x": 16, "y": 3.375},
+                {"matrix": [8, 7], "x": 17, "y": 3.375},
+                {"matrix": [8, 8], "x": 18, "y": 3.375},
+
+                {"matrix": [4, 3], "x": 2.5, "y": 4.25},
+                {"matrix": [4, 2], "x": 3.5, "y": 4.25},
+                {"matrix": [4, 1], "x": 4.5, "y": 4.5},
+                {"matrix": [4, 0], "x": 6.25, "y": 3.75, "h": 2, "r": 30},
+
+                {"matrix": [9, 0], "x": 8.5, "y": 3.75, "h": 2, "r": -30},
+                {"matrix": [9, 1], "x": 10.25, "y": 4.5},
+                {"matrix": [9, 2], "x": 11.25, "y": 4.25},
+                {"matrix": [9, 3], "x": 12.25, "y": 4.25}
             ]
         }
     }

+ 0 - 39
keyboards/afternoonlabs/breeze/rev0/rev0.h

@@ -1,39 +0,0 @@
-/* Copyright 2021 eithanshavit
- *
- * 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( \
-    L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \
-    L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \
-    L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,      AUP,      \
-    L30, L31, L32, L33, L34, L35,           R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \
-                   LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3  \
-) \
-{ \
-    { L05, L04, L03, L02, L01, L00, KC_NO, KC_NO, KC_NO }, \
-    { L15, L14, L13, L12, L11, L10, KC_NO, KC_NO, KC_NO }, \
-    { L25, L24, L23, L22, L21, L20, KC_NO, KC_NO, KC_NO }, \
-    { L35, L34, L33, L32, L31, L30, KC_NO, KC_NO, KC_NO }, \
-    { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-    { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
-    { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
-    { R20, R21, R22, R23, R24, R25, KC_NO, AUP, KC_NO }, \
-    { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
-    { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-}

+ 75 - 66
keyboards/afternoonlabs/breeze/rev1/info.json

@@ -24,76 +24,85 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.375},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.125},
-                {"x":3, "y":0},
-                {"x":4, "y":0.125},
-                {"x":5, "y":0.25},
-                {"x":9.75, "y":0.25},
-                {"x":10.75, "y":0.125},
-                {"x":11.75, "y":0},
-                {"x":12.75, "y":0.125},
-                {"x":13.75, "y":0.375},
-                {"x":14.75, "y":0.375},
-                {"x":16, "y":0.375},
-                {"x":17, "y":0.375},
-                {"x":18, "y":0.375},
+                {"matrix": [0, 5], "x": 0, "y": 0.375},
+                {"matrix": [0, 4], "x": 1, "y": 0.375},
+                {"matrix": [0, 3], "x": 2, "y": 0.125},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0.125},
+                {"matrix": [0, 0], "x": 5, "y": 0.25},
 
-                {"x":0, "y":1.375},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.125},
-                {"x":3, "y":1},
-                {"x":4, "y":1.125},
-                {"x":5, "y":1.25},
-                {"x":9.75, "y":1.25},
-                {"x":10.75, "y":1.125},
-                {"x":11.75, "y":1},
-                {"x":12.75, "y":1.125},
-                {"x":13.75, "y":1.375},
-                {"x":14.75, "y":1.375},
-                {"x":16, "y":1.375},
-                {"x":17, "y":1.375},
-                {"x":18, "y":1.375},
+                {"matrix": [5, 0], "x": 9.75, "y": 0.25},
+                {"matrix": [5, 1], "x": 10.75, "y": 0.125},
+                {"matrix": [5, 2], "x": 11.75, "y": 0},
+                {"matrix": [5, 3], "x": 12.75, "y": 0.125},
+                {"matrix": [5, 4], "x": 13.75, "y": 0.375},
+                {"matrix": [5, 5], "x": 14.75, "y": 0.375},
 
-                {"x":0, "y":2.375},
-                {"x":1, "y":2.375},
-                {"x":2, "y":2.125},
-                {"x":3, "y":2},
-                {"x":4, "y":2.125},
-                {"x":5, "y":2.25},
-                {"x":9.75, "y":2.25},
-                {"x":10.75, "y":2.125},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2.125},
-                {"x":13.75, "y":2.375},
-                {"x":14.75, "y":2.375},
-                {"x":17, "y":2.375},
+                {"matrix": [5, 6], "x": 16, "y": 0.375},
+                {"matrix": [5, 7], "x": 17, "y": 0.375},
+                {"matrix": [5, 8], "x": 18, "y": 0.375},
 
-                {"x":0, "y":3.375},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.125},
-                {"x":3, "y":3},
-                {"x":4, "y":3.125},
-                {"x":5, "y":3.25},
-                {"x":9.75, "y":3.25},
-                {"x":10.75, "y":3.125},
-                {"x":11.75, "y":3},
-                {"x":12.75, "y":3.125},
-                {"x":13.75, "y":3.375},
-                {"x":14.75, "y":3.375},
-                {"x":16, "y":3.375},
-                {"x":17, "y":3.375},
-                {"x":18, "y":3.375},
+                {"matrix": [1, 5], "x": 0, "y": 1.375},
+                {"matrix": [1, 4], "x": 1, "y": 1.375},
+                {"matrix": [1, 3], "x": 2, "y": 1.125},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1.125},
+                {"matrix": [1, 0], "x": 5, "y": 1.25},
 
-                {"x":2.5, "y":4.25},
-                {"x":3.5, "y":4.25},
-                {"x":4.5, "y":4.5},
-                {"x":6.25, "y":3.75, "h":2, "r":30},
-                {"x":8.5, "y":3.75, "h":2, "r":-30},
-                {"x":10.25, "y":4.5},
-                {"x":11.25, "y":4.25},
-                {"x":12.25, "y":4.25}
+                {"matrix": [6, 0], "x": 9.75, "y": 1.25},
+                {"matrix": [6, 1], "x": 10.75, "y": 1.125},
+                {"matrix": [6, 2], "x": 11.75, "y": 1},
+                {"matrix": [6, 3], "x": 12.75, "y": 1.125},
+                {"matrix": [6, 4], "x": 13.75, "y": 1.375},
+                {"matrix": [6, 5], "x": 14.75, "y": 1.375},
+
+                {"matrix": [6, 6], "x": 16, "y": 1.375},
+                {"matrix": [6, 7], "x": 17, "y": 1.375},
+                {"matrix": [6, 8], "x": 18, "y": 1.375},
+
+                {"matrix": [2, 5], "x": 0, "y": 2.375},
+                {"matrix": [2, 4], "x": 1, "y": 2.375},
+                {"matrix": [2, 3], "x": 2, "y": 2.125},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2.125},
+                {"matrix": [2, 0], "x": 5, "y": 2.25},
+
+                {"matrix": [7, 0], "x": 9.75, "y": 2.25},
+                {"matrix": [7, 1], "x": 10.75, "y": 2.125},
+                {"matrix": [7, 2], "x": 11.75, "y": 2},
+                {"matrix": [7, 3], "x": 12.75, "y": 2.125},
+                {"matrix": [7, 4], "x": 13.75, "y": 2.375},
+                {"matrix": [7, 5], "x": 14.75, "y": 2.375},
+
+                {"matrix": [7, 7], "x": 17, "y": 2.375},
+
+                {"matrix": [3, 5], "x": 0, "y": 3.375},
+                {"matrix": [3, 4], "x": 1, "y": 3.375},
+                {"matrix": [3, 3], "x": 2, "y": 3.125},
+                {"matrix": [3, 2], "x": 3, "y": 3},
+                {"matrix": [3, 1], "x": 4, "y": 3.125},
+                {"matrix": [3, 0], "x": 5, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 9.75, "y": 3.25},
+                {"matrix": [8, 1], "x": 10.75, "y": 3.125},
+                {"matrix": [8, 2], "x": 11.75, "y": 3},
+                {"matrix": [8, 3], "x": 12.75, "y": 3.125},
+                {"matrix": [8, 4], "x": 13.75, "y": 3.375},
+                {"matrix": [8, 5], "x": 14.75, "y": 3.375},
+
+                {"matrix": [8, 6], "x": 16, "y": 3.375},
+                {"matrix": [8, 7], "x": 17, "y": 3.375},
+                {"matrix": [8, 8], "x": 18, "y": 3.375},
+
+                {"matrix": [4, 3], "x": 2.5, "y": 4.25},
+                {"matrix": [4, 2], "x": 3.5, "y": 4.25},
+                {"matrix": [4, 1], "x": 4.5, "y": 4.5},
+                {"matrix": [4, 0], "x": 6.25, "y": 3.75, "h": 2, "r": 30},
+
+                {"matrix": [9, 0], "x": 8.5, "y": 3.75, "h": 2, "r": -30},
+                {"matrix": [9, 1], "x": 10.25, "y": 4.5},
+                {"matrix": [9, 2], "x": 11.25, "y": 4.25},
+                {"matrix": [9, 3], "x": 12.25, "y": 4.25}
             ]
         }
     }

+ 0 - 39
keyboards/afternoonlabs/breeze/rev1/rev1.h

@@ -1,39 +0,0 @@
-/* Copyright 2021 eithanshavit
- *
- * 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( \
-    L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \
-    L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \
-    L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,      AUP,      \
-    L30, L31, L32, L33, L34, L35,           R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \
-                   LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3  \
-) \
-{ \
-    { L05, L04, L03, L02, L01, L00, KC_NO, KC_NO, KC_NO }, \
-    { L15, L14, L13, L12, L11, L10, KC_NO, KC_NO, KC_NO }, \
-    { L25, L24, L23, L22, L21, L20, KC_NO, KC_NO, KC_NO }, \
-    { L35, L34, L33, L32, L31, L30, KC_NO, KC_NO, KC_NO }, \
-    { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-    { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
-    { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
-    { R20, R21, R22, R23, R24, R25, KC_NO, AUP, KC_NO }, \
-    { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
-    { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-}

+ 79 - 68
keyboards/afternoonlabs/oceanbreeze/rev1/info.json

@@ -24,78 +24,89 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.375},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.125},
-                {"x":3, "y":0},
-                {"x":4, "y":0.125},
-                {"x":5, "y":0.25},
-                {"x":9.75, "y":0.25},
-                {"x":10.75, "y":0.125},
-                {"x":11.75, "y":0},
-                {"x":12.75, "y":0.125},
-                {"x":13.75, "y":0.375},
-                {"x":14.75, "y":0.375},
-                {"x":16, "y":0.375},
-                {"x":17, "y":0.375},
-                {"x":18, "y":0.375},
+                {"matrix": [0, 5], "x": 0, "y": 0.375},
+                {"matrix": [0, 4], "x": 1, "y": 0.375},
+                {"matrix": [0, 3], "x": 2, "y": 0.125},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0.125},
+                {"matrix": [0, 0], "x": 5, "y": 0.25},
 
-                {"x":0, "y":1.375},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.125},
-                {"x":3, "y":1},
-                {"x":4, "y":1.125},
-                {"x":5, "y":1.25},
-                {"x":9.75, "y":1.25},
-                {"x":10.75, "y":1.125},
-                {"x":11.75, "y":1},
-                {"x":12.75, "y":1.125},
-                {"x":13.75, "y":1.375},
-                {"x":14.75, "y":1.375},
-                {"x":16, "y":1.375},
-                {"x":17, "y":1.375},
-                {"x":18, "y":1.375},
+                {"matrix": [6, 0], "x": 9.75, "y": 0.25},
+                {"matrix": [6, 1], "x": 10.75, "y": 0.125},
+                {"matrix": [6, 2], "x": 11.75, "y": 0},
+                {"matrix": [6, 3], "x": 12.75, "y": 0.125},
+                {"matrix": [6, 4], "x": 13.75, "y": 0.375},
+                {"matrix": [6, 5], "x": 14.75, "y": 0.375},
 
-                {"x":0, "y":2.375},
-                {"x":1, "y":2.375},
-                {"x":2, "y":2.125},
-                {"x":3, "y":2},
-                {"x":4, "y":2.125},
-                {"x":5, "y":2.25},
-                {"x":9.75, "y":2.25},
-                {"x":10.75, "y":2.125},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2.125},
-                {"x":13.75, "y":2.375},
-                {"x":14.75, "y":2.375},
-                {"x":17, "y":2.375},
+                {"matrix": [6, 6], "x": 16, "y": 0.375},
+                {"matrix": [6, 7], "x": 17, "y": 0.375},
+                {"matrix": [6, 8], "x": 18, "y": 0.375},
 
-                {"x":0, "y":3.375},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.125},
-                {"x":3, "y":3},
-                {"x":4, "y":3.125},
-                {"x":5, "y":3.25},
-                {"x":6.25, "y":3.75},
-                {"x":8.5, "y":3.75},
-                {"x":9.75, "y":3.25},
-                {"x":10.75, "y":3.125},
-                {"x":11.75, "y":3},
-                {"x":12.75, "y":3.125},
-                {"x":13.75, "y":3.375},
-                {"x":14.75, "y":3.375},
-                {"x":16, "y":3.375},
-                {"x":17, "y":3.375},
-                {"x":18, "y":3.375},
+                {"matrix": [1, 5], "x": 0, "y": 1.375},
+                {"matrix": [1, 4], "x": 1, "y": 1.375},
+                {"matrix": [1, 3], "x": 2, "y": 1.125},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1.125},
+                {"matrix": [1, 0], "x": 5, "y": 1.25},
 
-                {"x":2.5, "y":4.25},
-                {"x":3.5, "y":4.25},
-                {"x":4.5, "y":4.5},
-                {"x":6.25, "y":4.75},
-                {"x":8.5, "y":4.75},
-                {"x":10.25, "y":4.5},
-                {"x":11.25, "y":4.25},
-                {"x":12.25, "y":4.25}
+                {"matrix": [7, 0], "x": 9.75, "y": 1.25},
+                {"matrix": [7, 1], "x": 10.75, "y": 1.125},
+                {"matrix": [7, 2], "x": 11.75, "y": 1},
+                {"matrix": [7, 3], "x": 12.75, "y": 1.125},
+                {"matrix": [7, 4], "x": 13.75, "y": 1.375},
+                {"matrix": [7, 5], "x": 14.75, "y": 1.375},
+
+                {"matrix": [7, 6], "x": 16, "y": 1.375},
+                {"matrix": [7, 7], "x": 17, "y": 1.375},
+                {"matrix": [7, 8], "x": 18, "y": 1.375},
+
+                {"matrix": [2, 5], "x": 0, "y": 2.375},
+                {"matrix": [2, 4], "x": 1, "y": 2.375},
+                {"matrix": [2, 3], "x": 2, "y": 2.125},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2.125},
+                {"matrix": [2, 0], "x": 5, "y": 2.25},
+
+                {"matrix": [8, 0], "x": 9.75, "y": 2.25},
+                {"matrix": [8, 1], "x": 10.75, "y": 2.125},
+                {"matrix": [8, 2], "x": 11.75, "y": 2},
+                {"matrix": [8, 3], "x": 12.75, "y": 2.125},
+                {"matrix": [8, 4], "x": 13.75, "y": 2.375},
+                {"matrix": [8, 5], "x": 14.75, "y": 2.375},
+
+                {"matrix": [8, 7], "x": 17, "y": 2.375},
+
+                {"matrix": [3, 5], "x": 0, "y": 3.375},
+                {"matrix": [3, 4], "x": 1, "y": 3.375},
+                {"matrix": [3, 3], "x": 2, "y": 3.125},
+                {"matrix": [3, 2], "x": 3, "y": 3},
+                {"matrix": [3, 1], "x": 4, "y": 3.125},
+                {"matrix": [3, 0], "x": 5, "y": 3.25},
+
+                {"matrix": [5, 0], "x": 6.25, "y": 3.75},
+
+                {"matrix": [11, 0], "x": 8.5, "y": 3.75},
+
+                {"matrix": [9, 0], "x": 9.75, "y": 3.25},
+                {"matrix": [9, 1], "x": 10.75, "y": 3.125},
+                {"matrix": [9, 2], "x": 11.75, "y": 3},
+                {"matrix": [9, 3], "x": 12.75, "y": 3.125},
+                {"matrix": [9, 4], "x": 13.75, "y": 3.375},
+                {"matrix": [9, 5], "x": 14.75, "y": 3.375},
+
+                {"matrix": [9, 6], "x": 16, "y": 3.375},
+                {"matrix": [9, 7], "x": 17, "y": 3.375},
+                {"matrix": [9, 8], "x": 18, "y": 3.375},
+
+                {"matrix": [4, 3], "x": 2.5, "y": 4.25},
+                {"matrix": [4, 2], "x": 3.5, "y": 4.25},
+                {"matrix": [4, 1], "x": 4.5, "y": 4.5},
+                {"matrix": [4, 0], "x": 6.25, "y": 4.75},
+
+                {"matrix": [10, 0], "x": 8.5, "y": 4.75},
+                {"matrix": [10, 1], "x": 10.25, "y": 4.5},
+                {"matrix": [10, 2], "x": 11.25, "y": 4.25},
+                {"matrix": [10, 3], "x": 12.25, "y": 4.25}
             ]
         }
     }

+ 0 - 42
keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h

@@ -1,42 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * 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( \
-    L00, L01, L02, L03, L04, L05,             R00, R01, R02, R03, R04, R05,   MC0, MC1, MC2, \
-    L10, L11, L12, L13, L14, L15,             R10, R11, R12, R13, R14, R15,   MC3, MC4, MC5, \
-    L20, L21, L22, L23, L24, L25,             R20, R21, R22, R23, R24, R25,        AUP, \
-    L30, L31, L32, L33, L34, L35, LT4,   RT1, R30, R31, R32, R33, R34, R35,   ALT, ADN, ART, \
-                   LT0, LT1, LT2, LT3,   RT2, RT3, RT4, RT5 \
-) { \
-    { L05, L04, L03, L02, L01, L00, XXX, XXX, XXX }, \
-    { L15, L14, L13, L12, L11, L10, XXX, XXX, XXX }, \
-    { L25, L24, L23, L22, L21, L20, XXX, XXX, XXX }, \
-    { L35, L34, L33, L32, L31, L30, XXX, XXX, XXX }, \
-    { LT3, LT2, LT1, LT0, XXX, XXX, XXX, XXX, XXX }, \
-    { LT4, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
-    { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
-    { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
-    { R20, R21, R22, R23, R24, R25, XXX, AUP, XXX }, \
-    { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
-    { RT2, RT3, RT4, RT5, XXX, XXX, XXX, XXX, XXX }, \
-    { RT1, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
-}

+ 75 - 66
keyboards/afternoonlabs/southern_breeze/rev1/info.json

@@ -24,76 +24,85 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.375},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.375},
-                {"x":3.25, "y":0.375},
-                {"x":4.25, "y":0.375},
-                {"x":5.25, "y":0.125},
-                {"x":6.25, "y":0},
-                {"x":7.25, "y":0.125},
-                {"x":8.25, "y":0.25},
-                {"x":13, "y":0.25},
-                {"x":14, "y":0.125},
-                {"x":15, "y":0},
-                {"x":16, "y":0.125},
-                {"x":17, "y":0.375},
-                {"x":18, "y":0.375},
+                {"matrix": [0, 8], "x": 0, "y": 0.375},
+                {"matrix": [0, 7], "x": 1, "y": 0.375},
+                {"matrix": [0, 6], "x": 2, "y": 0.375},
 
-                {"x":0, "y":1.375},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.375},
-                {"x":3.25, "y":1.375},
-                {"x":4.25, "y":1.375},
-                {"x":5.25, "y":1.125},
-                {"x":6.25, "y":1},
-                {"x":7.25, "y":1.125},
-                {"x":8.25, "y":1.25},
-                {"x":13, "y":1.25},
-                {"x":14, "y":1.125},
-                {"x":15, "y":1},
-                {"x":16, "y":1.125},
-                {"x":17, "y":1.375},
-                {"x":18, "y":1.375},
+                {"matrix": [0, 5], "x": 3.25, "y": 0.375},
+                {"matrix": [0, 4], "x": 4.25, "y": 0.375},
+                {"matrix": [0, 3], "x": 5.25, "y": 0.125},
+                {"matrix": [0, 2], "x": 6.25, "y": 0},
+                {"matrix": [0, 1], "x": 7.25, "y": 0.125},
+                {"matrix": [0, 0], "x": 8.25, "y": 0.25},
 
-                {"x":1, "y":2.375},
-                {"x":3.25, "y":2.375},
-                {"x":4.25, "y":2.375},
-                {"x":5.25, "y":2.125},
-                {"x":6.25, "y":2},
-                {"x":7.25, "y":2.125},
-                {"x":8.25, "y":2.25},
-                {"x":13, "y":2.25},
-                {"x":14, "y":2.125},
-                {"x":15, "y":2},
-                {"x":16, "y":2.125},
-                {"x":17, "y":2.375},
-                {"x":18, "y":2.375},
+                {"matrix": [5, 0], "x": 13, "y": 0.25},
+                {"matrix": [5, 1], "x": 14, "y": 0.125},
+                {"matrix": [5, 2], "x": 15, "y": 0},
+                {"matrix": [5, 3], "x": 16, "y": 0.125},
+                {"matrix": [5, 4], "x": 17, "y": 0.375},
+                {"matrix": [5, 5], "x": 18, "y": 0.375},
 
-                {"x":0, "y":3.375},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.375},
-                {"x":3.25, "y":3.375},
-                {"x":4.25, "y":3.375},
-                {"x":5.25, "y":3.125},
-                {"x":6.25, "y":3},
-                {"x":7.25, "y":3.125},
-                {"x":8.25, "y":3.25},
-                {"x":13, "y":3.25},
-                {"x":14, "y":3.125},
-                {"x":15, "y":3},
-                {"x":16, "y":3.125},
-                {"x":17, "y":3.375},
-                {"x":18, "y":3.375},
+                {"matrix": [1, 8], "x": 0, "y": 1.375},
+                {"matrix": [1, 7], "x": 1, "y": 1.375},
+                {"matrix": [1, 6], "x": 2, "y": 1.375},
 
-                {"x":5.75, "y":4.25},
-                {"x":6.75, "y":4.25},
-                {"x":7.75, "y":4.5},
-                {"x":9.5, "y":3.75, "h":2, "r":30},
-                {"x":11.75, "y":3.75, "h":2, "r":-30},
-                {"x":13.5, "y":4.5},
-                {"x":14.5, "y":4.25},
-                {"x":15.5, "y":4.25}
+                {"matrix": [1, 5], "x": 3.25, "y": 1.375},
+                {"matrix": [1, 4], "x": 4.25, "y": 1.375},
+                {"matrix": [1, 3], "x": 5.25, "y": 1.125},
+                {"matrix": [1, 2], "x": 6.25, "y": 1},
+                {"matrix": [1, 1], "x": 7.25, "y": 1.125},
+                {"matrix": [1, 0], "x": 8.25, "y": 1.25},
+
+                {"matrix": [6, 0], "x": 13, "y": 1.25},
+                {"matrix": [6, 1], "x": 14, "y": 1.125},
+                {"matrix": [6, 2], "x": 15, "y": 1},
+                {"matrix": [6, 3], "x": 16, "y": 1.125},
+                {"matrix": [6, 4], "x": 17, "y": 1.375},
+                {"matrix": [6, 5], "x": 18, "y": 1.375},
+
+                {"matrix": [2, 7], "x": 1, "y": 2.375},
+
+                {"matrix": [2, 5], "x": 3.25, "y": 2.375},
+                {"matrix": [2, 4], "x": 4.25, "y": 2.375},
+                {"matrix": [2, 3], "x": 5.25, "y": 2.125},
+                {"matrix": [2, 2], "x": 6.25, "y": 2},
+                {"matrix": [2, 1], "x": 7.25, "y": 2.125},
+                {"matrix": [2, 0], "x": 8.25, "y": 2.25},
+
+                {"matrix": [7, 0], "x": 13, "y": 2.25},
+                {"matrix": [7, 1], "x": 14, "y": 2.125},
+                {"matrix": [7, 2], "x": 15, "y": 2},
+                {"matrix": [7, 3], "x": 16, "y": 2.125},
+                {"matrix": [7, 4], "x": 17, "y": 2.375},
+                {"matrix": [7, 5], "x": 18, "y": 2.375},
+
+                {"matrix": [3, 8], "x": 0, "y": 3.375},
+                {"matrix": [3, 7], "x": 1, "y": 3.375},
+                {"matrix": [3, 6], "x": 2, "y": 3.375},
+
+                {"matrix": [3, 5], "x": 3.25, "y": 3.375},
+                {"matrix": [3, 4], "x": 4.25, "y": 3.375},
+                {"matrix": [3, 3], "x": 5.25, "y": 3.125},
+                {"matrix": [3, 2], "x": 6.25, "y": 3},
+                {"matrix": [3, 1], "x": 7.25, "y": 3.125},
+                {"matrix": [3, 0], "x": 8.25, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 13, "y": 3.25},
+                {"matrix": [8, 1], "x": 14, "y": 3.125},
+                {"matrix": [8, 2], "x": 15, "y": 3},
+                {"matrix": [8, 3], "x": 16, "y": 3.125},
+                {"matrix": [8, 4], "x": 17, "y": 3.375},
+                {"matrix": [8, 5], "x": 18, "y": 3.375},
+
+                {"matrix": [4, 3], "x": 5.75, "y": 4.25},
+                {"matrix": [4, 2], "x": 6.75, "y": 4.25},
+                {"matrix": [4, 1], "x": 7.75, "y": 4.5},
+                {"matrix": [4, 0], "x": 9.5, "y": 3.75, "h": 2, "r": 30},
+
+                {"matrix": [9, 0], "x": 11.75, "y": 3.75, "h": 2, "r": -30},
+                {"matrix": [9, 1], "x": 13.5, "y": 4.5},
+                {"matrix": [9, 2], "x": 14.5, "y": 4.25},
+                {"matrix": [9, 3], "x": 15.5, "y": 4.25}
             ]
         }
     }

+ 0 - 39
keyboards/afternoonlabs/southern_breeze/rev1/rev1.h

@@ -1,39 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * 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( \
-    LW00, LW01, LW02, L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
-    LW10, LW11, LW12, L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
-          LWUP,       L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
-    LWLT, LWDN, LWRT, L30, L31, L32, L33, L34, L35,           R30, R31, R32, R33, R34, R35, \
-                                     LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3  \
-) \
-{ \
-    { L05, L04, L03, L02, L01, L00, LW02, LW01, LW00 }, \
-    { L15, L14, L13, L12, L11, L10, LW12, LW11, LW10 }, \
-    { L25, L24, L23, L22, L21, L20, KC_NO, LWUP, KC_NO }, \
-    { L35, L34, L33, L32, L31, L30, LWRT, LWDN, LWLT }, \
-    { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-    { R00, R01, R02, R03, R04, R05, KC_NO, KC_NO, KC_NO }, \
-    { R10, R11, R12, R13, R14, R15, KC_NO, KC_NO, KC_NO }, \
-    { R20, R21, R22, R23, R24, R25, KC_NO, KC_NO, KC_NO }, \
-    { R30, R31, R32, R33, R34, R35, KC_NO, KC_NO, KC_NO }, \
-    { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-}

+ 93 - 80
keyboards/afternoonlabs/summer_breeze/rev1/info.json

@@ -24,86 +24,99 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.375},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.375},
-                {"x":3.25, "y":0.375},
-                {"x":4.25, "y":0.375},
-                {"x":5.25, "y":0.125},
-                {"x":6.25, "y":0},
-                {"x":7.25, "y":0.125},
-                {"x":8.25, "y":0.25},
-                {"x":13, "y":0.25},
-                {"x":14, "y":0.125},
-                {"x":15, "y":0},
-                {"x":16, "y":0.125},
-                {"x":17, "y":0.375},
-                {"x":18, "y":0.375},
-                {"x":19.25, "y":0.375},
-                {"x":20.25, "y":0.375},
-                {"x":21.25, "y":0.375},
-
-                {"x":0, "y":1.375},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.375},
-                {"x":3.25, "y":1.375},
-                {"x":4.25, "y":1.375},
-                {"x":5.25, "y":1.125},
-                {"x":6.25, "y":1},
-                {"x":7.25, "y":1.125},
-                {"x":8.25, "y":1.25},
-                {"x":13, "y":1.25},
-                {"x":14, "y":1.125},
-                {"x":15, "y":1},
-                {"x":16, "y":1.125},
-                {"x":17, "y":1.375},
-                {"x":18, "y":1.375},
-                {"x":19.25, "y":1.375},
-                {"x":20.25, "y":1.375},
-                {"x":21.25, "y":1.375},
-
-                {"x":1, "y":2.375},
-                {"x":3.25, "y":2.375},
-                {"x":4.25, "y":2.375},
-                {"x":5.25, "y":2.125},
-                {"x":6.25, "y":2},
-                {"x":7.25, "y":2.125},
-                {"x":8.25, "y":2.25},
-                {"x":13, "y":2.25},
-                {"x":14, "y":2.125},
-                {"x":15, "y":2},
-                {"x":16, "y":2.125},
-                {"x":17, "y":2.375},
-                {"x":18, "y":2.375},
-                {"x":20.25, "y":2.375},
-
-                {"x":0, "y":3.375},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.375},
-                {"x":3.25, "y":3.375},
-                {"x":4.25, "y":3.375},
-                {"x":5.25, "y":3.125},
-                {"x":6.25, "y":3},
-                {"x":7.25, "y":3.125},
-                {"x":8.25, "y":3.25},
-                {"x":13, "y":3.25},
-                {"x":14, "y":3.125},
-                {"x":15, "y":3},
-                {"x":16, "y":3.125},
-                {"x":17, "y":3.375},
-                {"x":18, "y":3.375},
-                {"x":19.25, "y":3.375},
-                {"x":20.25, "y":3.375},
-                {"x":21.25, "y":3.375},
-
-                {"x":5.75, "y":4.25},
-                {"x":6.75, "y":4.25},
-                {"x":7.75, "y":4.5},
-                {"x":9.5, "y":3.75, "h":2, "r":30},
-                {"x":11.75, "y":3.75, "h":2, "r":-30},
-                {"x":13.5, "y":4.5},
-                {"x":14.5, "y":4.25},
-                {"x":15.5, "y":4.25}
+                {"matrix": [0, 8], "x": 0, "y": 0.375},
+                {"matrix": [0, 7], "x": 1, "y": 0.375},
+                {"matrix": [0, 6], "x": 2, "y": 0.375},
+
+                {"matrix": [0, 5], "x": 3.25, "y": 0.375},
+                {"matrix": [0, 4], "x": 4.25, "y": 0.375},
+                {"matrix": [0, 3], "x": 5.25, "y": 0.125},
+                {"matrix": [0, 2], "x": 6.25, "y": 0},
+                {"matrix": [0, 1], "x": 7.25, "y": 0.125},
+                {"matrix": [0, 0], "x": 8.25, "y": 0.25},
+
+                {"matrix": [5, 0], "x": 13, "y": 0.25},
+                {"matrix": [5, 1], "x": 14, "y": 0.125},
+                {"matrix": [5, 2], "x": 15, "y": 0},
+                {"matrix": [5, 3], "x": 16, "y": 0.125},
+                {"matrix": [5, 4], "x": 17, "y": 0.375},
+                {"matrix": [5, 5], "x": 18, "y": 0.375},
+
+                {"matrix": [5, 6], "x": 19.25, "y": 0.375},
+                {"matrix": [5, 7], "x": 20.25, "y": 0.375},
+                {"matrix": [5, 8], "x": 21.25, "y": 0.375},
+
+                {"matrix": [1, 8], "x": 0, "y": 1.375},
+                {"matrix": [1, 7], "x": 1, "y": 1.375},
+                {"matrix": [1, 6], "x": 2, "y": 1.375},
+
+                {"matrix": [1, 5], "x": 3.25, "y": 1.375},
+                {"matrix": [1, 4], "x": 4.25, "y": 1.375},
+                {"matrix": [1, 3], "x": 5.25, "y": 1.125},
+                {"matrix": [1, 2], "x": 6.25, "y": 1},
+                {"matrix": [1, 1], "x": 7.25, "y": 1.125},
+                {"matrix": [1, 0], "x": 8.25, "y": 1.25},
+
+                {"matrix": [6, 0], "x": 13, "y": 1.25},
+                {"matrix": [6, 1], "x": 14, "y": 1.125},
+                {"matrix": [6, 2], "x": 15, "y": 1},
+                {"matrix": [6, 3], "x": 16, "y": 1.125},
+                {"matrix": [6, 4], "x": 17, "y": 1.375},
+                {"matrix": [6, 5], "x": 18, "y": 1.375},
+
+                {"matrix": [6, 6], "x": 19.25, "y": 1.375},
+                {"matrix": [6, 7], "x": 20.25, "y": 1.375},
+                {"matrix": [6, 8], "x": 21.25, "y": 1.375},
+
+                {"matrix": [2, 7], "x": 1, "y": 2.375},
+
+                {"matrix": [2, 5], "x": 3.25, "y": 2.375},
+                {"matrix": [2, 4], "x": 4.25, "y": 2.375},
+                {"matrix": [2, 3], "x": 5.25, "y": 2.125},
+                {"matrix": [2, 2], "x": 6.25, "y": 2},
+                {"matrix": [2, 1], "x": 7.25, "y": 2.125},
+                {"matrix": [2, 0], "x": 8.25, "y": 2.25},
+
+                {"matrix": [7, 0], "x": 13, "y": 2.25},
+                {"matrix": [7, 1], "x": 14, "y": 2.125},
+                {"matrix": [7, 2], "x": 15, "y": 2},
+                {"matrix": [7, 3], "x": 16, "y": 2.125},
+                {"matrix": [7, 4], "x": 17, "y": 2.375},
+                {"matrix": [7, 5], "x": 18, "y": 2.375},
+
+                {"matrix": [7, 7], "x": 20.25, "y": 2.375},
+
+                {"matrix": [3, 8], "x": 0, "y": 3.375},
+                {"matrix": [3, 7], "x": 1, "y": 3.375},
+                {"matrix": [3, 6], "x": 2, "y": 3.375},
+
+                {"matrix": [3, 5], "x": 3.25, "y": 3.375},
+                {"matrix": [3, 4], "x": 4.25, "y": 3.375},
+                {"matrix": [3, 3], "x": 5.25, "y": 3.125},
+                {"matrix": [3, 2], "x": 6.25, "y": 3},
+                {"matrix": [3, 1], "x": 7.25, "y": 3.125},
+                {"matrix": [3, 0], "x": 8.25, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 13, "y": 3.25},
+                {"matrix": [8, 1], "x": 14, "y": 3.125},
+                {"matrix": [8, 2], "x": 15, "y": 3},
+                {"matrix": [8, 3], "x": 16, "y": 3.125},
+                {"matrix": [8, 4], "x": 17, "y": 3.375},
+                {"matrix": [8, 5], "x": 18, "y": 3.375},
+
+                {"matrix": [8, 6], "x": 19.25, "y": 3.375},
+                {"matrix": [8, 7], "x": 20.25, "y": 3.375},
+                {"matrix": [8, 8], "x": 21.25, "y": 3.375},
+
+                {"matrix": [4, 3], "x": 5.75, "y": 4.25},
+                {"matrix": [4, 2], "x": 6.75, "y": 4.25},
+                {"matrix": [4, 1], "x": 7.75, "y": 4.5},
+                {"matrix": [4, 0], "x": 9.5, "y": 3.75, "h": 2, "r": 30},
+
+                {"matrix": [9, 0], "x": 11.75, "y": 3.75, "h": 2, "r": -30},
+                {"matrix": [9, 1], "x": 13.5, "y": 4.5},
+                {"matrix": [9, 2], "x": 14.5, "y": 4.25},
+                {"matrix": [9, 3], "x": 15.5, "y": 4.25}
             ]
         }
     }

+ 0 - 39
keyboards/afternoonlabs/summer_breeze/rev1/rev1.h

@@ -1,39 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * 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( \
-    LW00, LW01, LW02, L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \
-    LW10, LW11, LW12, L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \
-          LW21,       L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,      AUP,      \
-    LW30, LW31, LW32, L30, L31, L32, L33, L34, L35,           R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \
-                                LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3  \
-) \
-{ \
-    { L05, L04, L03, L02, L01, L00, LW02, LW01, LW00 }, \
-    { L15, L14, L13, L12, L11, L10, LW12, LW11, LW10 }, \
-    { L25, L24, L23, L22, L21, L20, KC_NO, LW21, KC_NO }, \
-    { L35, L34, L33, L32, L31, L30, LW32, LW31, LW30 }, \
-    { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-    { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
-    { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
-    { R20, R21, R22, R23, R24, R25, KC_NO, AUP, KC_NO }, \
-    { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
-    { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-}

+ 68 - 331
keyboards/ai03/jp60/info.json

@@ -18,337 +18,74 @@
     "layouts": {
         "LAYOUT": {
             "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": "Back Space",
-                    "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": "Enter",
-                    "x": 13.75,
-                    "y": 1,
-                    "w": 1.25,
-                    "h": 2
-                },
-                {
-                    "label": "Fn",
-                    "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": "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": "_",
-                    "x": 12.25,
-                    "y": 3
-                },
-                {
-                    "label": "Shift",
-                    "x": 13.25,
-                    "y": 3,
-                    "w": 1.75
-                },
-                {
-                    "label": "Ctrl",
-                    "x": 0,
-                    "y": 4,
-                    "w": 1.25
-                },
-                {
-                    "label": "Win",
-                    "x": 1.25,
-                    "y": 4
-                },
-                {
-                    "label": "Alt",
-                    "x": 2.25,
-                    "y": 4
-                },
-                {
-                    "label": "\u7121\u5909\u63db",
-                    "x": 3.25,
-                    "y": 4,
-                    "w": 1.25
-                },
-                {
-                    "label": "",
-                    "x": 4.5,
-                    "y": 4,
-                    "w": 6
-                },
-                {
-                    "label": "\u5909\u63db",
-                    "x": 10.5,
-                    "y": 4,
-                    "w": 1.25
-                },
-                {
-                    "label": "\u304b\u306a",
-                    "x": 11.75,
-                    "y": 4
-                },
-                {
-                    "label": "\u534a\u89d2 \u5168\u89d2 \u6f22\u5b57",
-                    "x": 12.75,
-                    "y": 4
-                },
-                {
-                    "label": "Caps Lock",
-                    "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": [2, 12], "x": 14, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+                {"matrix": [2, 1], "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": [1, 13], "x": 11.75, "y": 2},
+                {"matrix": [2, 13], "x": 12.75, "y": 2},
+
+                {"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, 12], "x": 12.25, "y": 3},
+                {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.75},
+
+                {"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, "w": 1.25},
+                {"matrix": [4, 7], "x": 4.5, "y": 4, "w": 6},
+                {"matrix": [4, 10], "x": 10.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.75, "y": 4},
+                {"matrix": [4, 12], "x": 12.75, "y": 4},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         }
     }

+ 0 - 42
keyboards/ai03/jp60/jp60.h

@@ -1,42 +0,0 @@
-/* Copyright 2021 ai03
- *
- * 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( \
-    K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, \
-    K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,             \
-    K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K113,       K213, \
-    K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       K313, \
-    K400, K401, K402, K403,                   K407,                   K410, K411, K412, K413  \
-) \
-{ \
-    { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013 }, \
-    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113 }, \
-    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213 }, \
-    { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313 }, \
-    { K400,  K401,  K402,  K403,  KC_NO, KC_NO, KC_NO, K407,  KC_NO, KC_NO, K410,  K411,  K412,  K413 }  \
-}

+ 74 - 70
keyboards/ai03/lunar/info.json

@@ -18,76 +18,80 @@
     "layouts": {
         "LAYOUT": {
             "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":"BackspaceL", "x":13, "y":0},
-                {"label":"BackspaceR", "x":14, "y":0},
-                {"label":"Insert", "x":15, "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":"Delete", "x":15, "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":"Enter", "x":12.75, "y":2, "w":2.25},
-                {"label":"Home", "x":15, "y":2},
-                {"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":"\u2191", "x":14, "y":3},
-                {"label":"End", "x":15, "y":3},
-                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
-                {"label":"Win", "x":1.5, "y":4, "w":1.25},
-                {"label":"Alt", "x":2.75, "y":4, "w":1.5},
-                {"x":4.25, "y":4, "w":2.25},
-                {"x":6.5, "y":4, "w":1.5},
-                {"x":8, "y":4, "w":2.75},
-                {"label":"Alt", "x":10.75, "y":4, "w":1.25},
-                {"label":"Win", "x":12, "y":4},
-                {"label":"\u2190", "x":13, "y":4},
-                {"label":"\u2193", "x":14, "y":4},
-                {"label":"\u2192", "x":15, "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": [2, 12], "x": 14, "y": 0},
+                {"matrix": [0, 14], "x": 15, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+                {"matrix": [1, 14], "x": 15, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "x": 11.75, "y": 2},
+                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+                {"matrix": [2, 14], "x": 15, "y": 2},
+
+                {"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": 7.25, "y": 3},
+                {"matrix": [3, 7], "x": 8.25, "y": 3},
+                {"matrix": [3, 8], "x": 9.25, "y": 3},
+                {"matrix": [3, 9], "x": 10.25, "y": 3},
+                {"matrix": [3, 10], "x": 11.25, "y": 3},
+                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 13], "x": 14, "y": 3},
+                {"matrix": [3, 14], "x": 15, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.75, "y": 4, "w": 1.5},
+                {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 2.25},
+                {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 7], "x": 8, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 12, "y": 4},
+                {"matrix": [4, 11], "x": 13, "y": 4},
+                {"matrix": [4, 13], "x": 14, "y": 4},
+                {"matrix": [4, 14], "x": 15, "y": 4}
             ]
         }
     }

+ 0 - 41
keyboards/ai03/lunar/lunar.h

@@ -1,41 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * 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 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( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, K014, \
-	K100,       K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
-	K200,       K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211,       K213, K214, \
-	K300,       K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, \
-	K400, K401, K402,       K403,       K405,       K407,             K409, K410, K411, K413, K414  \
-) \
-{ \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \
-	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314 }, \
-	{ K400,  K401,  K402,  K403,  KC_NO, K405,  KC_NO, K407,  KC_NO, K409,  K410,  K411,  KC_NO, K413,  K414 }  \
-}

+ 70 - 68
keyboards/ai03/orbit/info.json

@@ -30,81 +30,83 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0,  "y":0.63},
-                {"x":1,  "y":0.38},
-                {"x":2,  "y":0.38},
-                {"x":3,  "y":0.13},
-                {"x":4,  "y":0},
-                {"x":5,  "y":0.13},
-                {"x":6,  "y":0.25},
-                {"x":9,  "y":0.25},
-                {"x":10, "y":0.13},
-                {"x":11, "y":0},
-                {"x":12, "y":0.13},
-                {"x":13, "y":0.38},
-                {"x":14, "y":0.38},
-                {"x":15, "y":0.63},
+                {"matrix": [0, 0], "x": 0, "y": 0.63},
+                {"matrix": [0, 1], "x": 1, "y": 0.38},
+                {"matrix": [0, 2], "x": 2, "y": 0.38},
+                {"matrix": [0, 3], "x": 3, "y": 0.13},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0.13},
+                {"matrix": [0, 6], "x": 6, "y": 0.25},
 
-                {"x":0,  "y":1.63},
-                {"x":1,  "y":1.38},
-                {"x":2,  "y":1.38},
-                {"x":3,  "y":1.13},
-                {"x":4,  "y":1},
-                {"x":5,  "y":1.13},
-                {"x":6,  "y":1.25},
-                {"x":9,  "y":1.25},
-                {"x":10, "y":1.13},
-                {"x":11, "y":1},
-                {"x":12, "y":1.13},
-                {"x":13, "y":1.38},
-                {"x":14, "y":1.38},
-                {"x":15, "y":1.63},
+                {"matrix": [5, 0], "x": 9, "y": 0.25},
+                {"matrix": [5, 1], "x": 10, "y": 0.13},
+                {"matrix": [5, 2], "x": 11, "y": 0},
+                {"matrix": [5, 3], "x": 12, "y": 0.13},
+                {"matrix": [5, 4], "x": 13, "y": 0.38},
+                {"matrix": [5, 5], "x": 14, "y": 0.38},
+                {"matrix": [5, 6], "x": 15, "y": 0.63},
 
-                {"x":0,  "y":2.63},
-                {"x":1,  "y":2.38},
-                {"x":2,  "y":2.38},
-                {"x":3,  "y":2.13},
-                {"x":4,  "y":2},
-                {"x":5,  "y":2.13},
-                {"x":6,  "y":2.25},
-                {"x":9,  "y":2.25},
-                {"x":10, "y":2.13},
-                {"x":11, "y":2},
-                {"x":12, "y":2.13},
-                {"x":13, "y":2.38},
-                {"x":14, "y":2.38},
-                {"x":15, "y":2.63},
+                {"matrix": [1, 0], "x": 0, "y": 1.63},
+                {"matrix": [1, 1], "x": 1, "y": 1.38},
+                {"matrix": [1, 2], "x": 2, "y": 1.38},
+                {"matrix": [1, 3], "x": 3, "y": 1.13},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1.13},
+                {"matrix": [1, 6], "x": 6, "y": 1.25},
 
-                {"x":0,  "y":3.63},
-                {"x":1,  "y":3.38},
-                {"x":2,  "y":3.38},
-                {"x":3,  "y":3.13},
-                {"x":4,  "y":3},
-                {"x":5,  "y":3.13},
-                {"x":6,  "y":3.25},
-                {"x":9,  "y":3.25},
-                {"x":10, "y":3.13},
-                {"x":11, "y":3},
-                {"x":12, "y":3.13},
-                {"x":13, "y":3.38},
-                {"x":14, "y":3.38},
-                {"x":15, "y":3.63},
+                {"matrix": [6, 0], "x": 9, "y": 1.25},
+                {"matrix": [6, 1], "x": 10, "y": 1.13},
+                {"matrix": [6, 2], "x": 11, "y": 1},
+                {"matrix": [6, 3], "x": 12, "y": 1.13},
+                {"matrix": [6, 4], "x": 13, "y": 1.38},
+                {"matrix": [6, 5], "x": 14, "y": 1.38},
+                {"matrix": [6, 6], "x": 15, "y": 1.63},
 
-                {"x":1,  "y":4.38},
-                {"x":2,  "y":4.38},
-                {"x":3,  "y":4.13},
-                {"x":4,  "y":4},
+                {"matrix": [2, 0], "x": 0, "y": 2.63},
+                {"matrix": [2, 1], "x": 1, "y": 2.38},
+                {"matrix": [2, 2], "x": 2, "y": 2.38},
+                {"matrix": [2, 3], "x": 3, "y": 2.13},
+                {"matrix": [2, 4], "x": 4, "y": 2},
+                {"matrix": [2, 5], "x": 5, "y": 2.13},
+                {"matrix": [2, 6], "x": 6, "y": 2.25},
 
-                {"x":5.5, "y":4.25},
-                {"x":6.5, "y":4.5, "h":1.5},
+                {"matrix": [7, 0], "x": 9, "y": 2.25},
+                {"matrix": [7, 1], "x": 10, "y": 2.13},
+                {"matrix": [7, 2], "x": 11, "y": 2},
+                {"matrix": [7, 3], "x": 12, "y": 2.13},
+                {"matrix": [7, 4], "x": 13, "y": 2.38},
+                {"matrix": [7, 5], "x": 14, "y": 2.38},
+                {"matrix": [7, 6], "x": 15, "y": 2.63},
 
-                {"x":8.5, "y":4.5, "h":1.5},
-                {"x":9.5, "y":4.25},
+                {"matrix": [3, 0], "x": 0, "y": 3.63},
+                {"matrix": [3, 1], "x": 1, "y": 3.38},
+                {"matrix": [3, 2], "x": 2, "y": 3.38},
+                {"matrix": [3, 3], "x": 3, "y": 3.13},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3.13},
+                {"matrix": [3, 6], "x": 6, "y": 3.25},
 
-                {"x":11, "y":4},
-                {"x":12, "y":4.13},
-                {"x":13, "y":4.38},
-                {"x":14, "y":4.38}
+                {"matrix": [8, 0], "x": 9, "y": 3.25},
+                {"matrix": [8, 1], "x": 10, "y": 3.13},
+                {"matrix": [8, 2], "x": 11, "y": 3},
+                {"matrix": [8, 3], "x": 12, "y": 3.13},
+                {"matrix": [8, 4], "x": 13, "y": 3.38},
+                {"matrix": [8, 5], "x": 14, "y": 3.38},
+                {"matrix": [8, 6], "x": 15, "y": 3.63},
+
+                {"matrix": [4, 1], "x": 1, "y": 4.38},
+                {"matrix": [4, 2], "x": 2, "y": 4.38},
+                {"matrix": [4, 3], "x": 3, "y": 4.13},
+                {"matrix": [4, 4], "x": 4, "y": 4},
+                {"matrix": [4, 5], "x": 5.5, "y": 4.25},
+                {"matrix": [4, 6], "x": 6.5, "y": 4.5, "h": 1.5},
+
+                {"matrix": [9, 0], "x": 8.5, "y": 4.5, "h": 1.5},
+                {"matrix": [9, 1], "x": 9.5, "y": 4.25},
+                {"matrix": [9, 2], "x": 11, "y": 4},
+                {"matrix": [9, 3], "x": 12, "y": 4.13},
+                {"matrix": [9, 4], "x": 13, "y": 4.38},
+                {"matrix": [9, 5], "x": 14, "y": 4.38}
             ]
         }
     }

+ 0 - 29
keyboards/ai03/orbit/orbit.h

@@ -18,35 +18,6 @@
 
 #include "quantum.h"
 
-#define XXX 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( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
-    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
-    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
-    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
-         L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45 \
-) { \
-    { L00, L01, L02, L03, L04, L05, L06 }, \
-    { L10, L11, L12, L13, L14, L15, L16 }, \
-    { L20, L21, L22, L23, L24, L25, L26 }, \
-    { L30, L31, L32, L33, L34, L35, L36 }, \
-    { XXX, L41, L42, L43, L44, L45, L46 }, \
-    { R00, R01, R02, R03, R04, R05, R06 }, \
-    { R10, R11, R12, R13, R14, R15, R16 }, \
-    { R20, R21, R22, R23, R24, R25, R26 }, \
-    { R30, R31, R32, R33, R34, R35, R36 }, \
-    { R40, R41, R42, R43, R44, R45, XXX } \
-}
-
 void led_toggle(uint8_t id, bool on);
 void set_all_leds(bool leds[6]);
 void set_layer_indicators(uint8_t layer);

+ 55 - 48
keyboards/ai03/orbit_x/info.json

@@ -27,54 +27,61 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.38},
-                {"x":1, "y":0.38},
-                {"x":2, "y":0.13},
-                {"x":3, "y":0},
-                {"x":4, "y":0.13},
-                {"x":5, "y":0.25},
-                {"x":7.5, "y":0.25},
-                {"x":8.5, "y":0.13},
-                {"x":9.5, "y":0},
-                {"x":10.5, "y":0.13},
-                {"x":11.5, "y":0.38},
-                {"x":12.5, "y":0.38},
-                {"x":0, "y":1.38},
-                {"x":1, "y":1.38},
-                {"x":2, "y":1.13},
-                {"x":3, "y":1},
-                {"x":4, "y":1.13},
-                {"x":5, "y":1.25},
-                {"x":7.5, "y":1.25},
-                {"x":8.5, "y":1.13},
-                {"x":9.5, "y":1},
-                {"x":10.5, "y":1.13},
-                {"x":11.5, "y":1.38},
-                {"x":12.5, "y":1.38},
-                {"x":0, "y":2.38},
-                {"x":1, "y":2.38},
-                {"x":2, "y":2.13},
-                {"x":3, "y":2},
-                {"x":4, "y":2.13},
-                {"x":5, "y":2.25},
-                {"x":7.5, "y":2.25},
-                {"x":8.5, "y":2.13},
-                {"x":9.5, "y":2},
-                {"x":10.5, "y":2.13},
-                {"x":11.5, "y":2.38},
-                {"x":12.5, "y":2.38},
-                {"x":0, "y":3.38},
-                {"x":1, "y":3.38},
-                {"x":2, "y":3.13},
-                {"x":3, "y":3},
-                {"x":4.25, "y":3.38},
-                {"x":5.25, "y":3.25, "h":1.5},
-                {"x":7.25, "y":3.25, "h":1.5},
-                {"x":8.25, "y":3.38},
-                {"x":9.5, "y":3},
-                {"x":10.5, "y":3.13},
-                {"x":11.5, "y":3.38},
-                {"x":12.5, "y":3.38}
+                {"matrix": [0, 0], "x": 0, "y": 0.38},
+                {"matrix": [0, 1], "x": 1, "y": 0.38},
+                {"matrix": [0, 2], "x": 2, "y": 0.13},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0.13},
+                {"matrix": [0, 5], "x": 5, "y": 0.25},
+
+                {"matrix": [4, 0], "x": 7.5, "y": 0.25},
+                {"matrix": [4, 1], "x": 8.5, "y": 0.13},
+                {"matrix": [4, 2], "x": 9.5, "y": 0},
+                {"matrix": [4, 3], "x": 10.5, "y": 0.13},
+                {"matrix": [4, 4], "x": 11.5, "y": 0.38},
+                {"matrix": [4, 5], "x": 12.5, "y": 0.38},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.38},
+                {"matrix": [1, 1], "x": 1, "y": 1.38},
+                {"matrix": [1, 2], "x": 2, "y": 1.13},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1.13},
+                {"matrix": [1, 5], "x": 5, "y": 1.25},
+
+                {"matrix": [5, 0], "x": 7.5, "y": 1.25},
+                {"matrix": [5, 1], "x": 8.5, "y": 1.13},
+                {"matrix": [5, 2], "x": 9.5, "y": 1},
+                {"matrix": [5, 3], "x": 10.5, "y": 1.13},
+                {"matrix": [5, 4], "x": 11.5, "y": 1.38},
+                {"matrix": [5, 5], "x": 12.5, "y": 1.38},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.38},
+                {"matrix": [2, 1], "x": 1, "y": 2.38},
+                {"matrix": [2, 2], "x": 2, "y": 2.13},
+                {"matrix": [2, 3], "x": 3, "y": 2},
+                {"matrix": [2, 4], "x": 4, "y": 2.13},
+                {"matrix": [2, 5], "x": 5, "y": 2.25},
+
+                {"matrix": [6, 0], "x": 7.5, "y": 2.25},
+                {"matrix": [6, 1], "x": 8.5, "y": 2.13},
+                {"matrix": [6, 2], "x": 9.5, "y": 2},
+                {"matrix": [6, 3], "x": 10.5, "y": 2.13},
+                {"matrix": [6, 4], "x": 11.5, "y": 2.38},
+                {"matrix": [6, 5], "x": 12.5, "y": 2.38},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.38},
+                {"matrix": [3, 1], "x": 1, "y": 3.38},
+                {"matrix": [3, 2], "x": 2, "y": 3.13},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3.38},
+                {"matrix": [3, 5], "x": 5.25, "y": 3.25, "h": 1.5},
+
+                {"matrix": [7, 0], "x": 7.25, "y": 3.25, "h": 1.5},
+                {"matrix": [7, 1], "x": 8.25, "y": 3.38},
+                {"matrix": [7, 2], "x": 9.5, "y": 3},
+                {"matrix": [7, 3], "x": 10.5, "y": 3.13},
+                {"matrix": [7, 4], "x": 11.5, "y": 3.38},
+                {"matrix": [7, 5], "x": 12.5, "y": 3.38}
             ]
         }
     }

+ 0 - 44
keyboards/ai03/orbit_x/orbit_x.h

@@ -1,44 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * 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( \
-    L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
-    L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
-    L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
-    L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35  \
-) \
-{ \
-    { L00, L01, L02, L03, L04, L05 }, \
-    { L10, L11, L12, L13, L14, L15 }, \
-    { L20, L21, L22, L23, L24, L25 }, \
-    { L30, L31, L32, L33, L34, L35 }, \
-    { R00, R01, R02, R03, R04, R05 }, \
-    { R10, R11, R12, R13, R14, R15 }, \
-    { R20, R21, R22, R23, R24, R25 }, \
-    { R30, R31, R32, R33, R34, R35 }, \
-}

+ 98 - 85
keyboards/ai03/quasar/info.json

@@ -18,91 +18,104 @@
     "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.5, "y":0},
-				{"label":"F6", "x":7.5, "y":0},
-				{"label":"F7", "x":8.5, "y":0},
-				{"label":"F8", "x":9.5, "y":0},
-				{"label":"F9", "x":11, "y":0},
-				{"label":"F10", "x":12, "y":0},
-				{"label":"F11", "x":13, "y":0},
-				{"label":"F12", "x":14, "y":0},
-				{"label":"PrtSc", "x":15.5, "y":0},
-				{"label":"Scroll Lock", "x":16.5, "y":0},
-				{"label":"Pause", "x":17.5, "y":0},
-				{"label":"~", "x":0, "y":1.75},
-				{"label":"!", "x":1, "y":1.75},
-				{"label":"@", "x":2, "y":1.75},
-				{"label":"#", "x":3, "y":1.75},
-				{"label":"$", "x":4, "y":1.75},
-				{"label":"%", "x":5, "y":1.75},
-				{"label":"^", "x":6, "y":1.75},
-				{"label":"&", "x":7, "y":1.75},
-				{"label":"*", "x":8, "y":1.75},
-				{"label":"(", "x":9, "y":1.75},
-				{"label":")", "x":10, "y":1.75},
-				{"label":"_", "x":11, "y":1.75},
-				{"label":"+", "x":12, "y":1.75},
-				{"label":"Backspace", "x":13, "y":1.75, "w":2},
-				{"label":"Insert", "x":15.5, "y":1.75},
-				{"label":"Home", "x":16.5, "y":1.75},
-				{"label":"PgUp", "x":17.5, "y":1.75},
-				{"label":"Tab", "x":0, "y":2.75, "w":1.5},
-				{"label":"Q", "x":1.5, "y":2.75},
-				{"label":"W", "x":2.5, "y":2.75},
-				{"label":"E", "x":3.5, "y":2.75},
-				{"label":"R", "x":4.5, "y":2.75},
-				{"label":"T", "x":5.5, "y":2.75},
-				{"label":"Y", "x":6.5, "y":2.75},
-				{"label":"U", "x":7.5, "y":2.75},
-				{"label":"I", "x":8.5, "y":2.75},
-				{"label":"O", "x":9.5, "y":2.75},
-				{"label":"P", "x":10.5, "y":2.75},
-				{"label":"{", "x":11.5, "y":2.75},
-				{"label":"}", "x":12.5, "y":2.75},
-				{"label":"|", "x":13.5, "y":2.75, "w":1.5},
-				{"label":"Delete", "x":15.5, "y":2.75},
-				{"label":"End", "x":16.5, "y":2.75},
-				{"label":"PgDn", "x":17.5, "y":2.75},
-				{"label":"Caps Lock", "x":0, "y":3.75, "w":1.25},
-				{"label":"A", "x":1.75, "y":3.75},
-				{"label":"S", "x":2.75, "y":3.75},
-				{"label":"D", "x":3.75, "y":3.75},
-				{"label":"F", "x":4.75, "y":3.75},
-				{"label":"G", "x":5.75, "y":3.75},
-				{"label":"H", "x":6.75, "y":3.75},
-				{"label":"J", "x":7.75, "y":3.75},
-				{"label":"K", "x":8.75, "y":3.75},
-				{"label":"L", "x":9.75, "y":3.75},
-				{"label":":", "x":10.75, "y":3.75},
-				{"label":"\"", "x":11.75, "y":3.75},
-				{"label":"Enter", "x":12.75, "y":3.75, "w":2.25},
-				{"label":"Shift", "x":0, "y":4.75, "w":2.25},
-				{"label":"Z", "x":2.25, "y":4.75},
-				{"label":"X", "x":3.25, "y":4.75},
-				{"label":"C", "x":4.25, "y":4.75},
-				{"label":"V", "x":5.25, "y":4.75},
-				{"label":"B", "x":6.25, "y":4.75},
-				{"label":"N", "x":7.25, "y":4.75},
-				{"label":"M", "x":8.25, "y":4.75},
-				{"label":"<", "x":9.25, "y":4.75},
-				{"label":">", "x":10.25, "y":4.75},
-				{"label":"?", "x":11.25, "y":4.75},
-				{"label":"Shift", "x":12.25, "y":4.75, "w":2.75},
-				{"label":"\u2191", "x":16.5, "y":4.75},
-				{"label":"Ctrl", "x":0, "y":5.75, "w":1.5},
-				{"label":"Alt", "x":2.5, "y":5.75, "w":1.5},
-				{"x":4, "y":5.75, "w":7},
-				{"label":"Alt", "x":11, "y":5.75, "w":1.5},
-				{"label":"Ctrl", "x":13.5, "y":5.75, "w":1.5},
-				{"label":"\u2190", "x":15.5, "y":5.75},
-				{"label":"\u2193", "x":16.5, "y":5.75},
-				{"label":"\u2192", "x":17.5, "y":5.75}
-			]
+                {"matrix": [7, 2], "x": 0, "y": 0},
+
+                {"matrix": [5, 3], "x": 2, "y": 0},
+                {"matrix": [5, 4], "x": 3, "y": 0},
+                {"matrix": [6, 4], "x": 4, "y": 0},
+                {"matrix": [7, 4], "x": 5, "y": 0},
+
+                {"matrix": [7, 6], "x": 6.5, "y": 0},
+                {"matrix": [7, 8], "x": 7.5, "y": 0},
+                {"matrix": [6, 9], "x": 8.5, "y": 0},
+                {"matrix": [5, 9], "x": 9.5, "y": 0},
+
+                {"matrix": [5, 6], "x": 11, "y": 0},
+                {"matrix": [4, 6], "x": 12, "y": 0},
+                {"matrix": [4, 11], "x": 13, "y": 0},
+                {"matrix": [4, 12], "x": 14, "y": 0},
+
+                {"matrix": [4, 15], "x": 15.5, "y": 0},
+                {"matrix": [3, 15], "x": 16.5, "y": 0},
+                {"matrix": [1, 14], "x": 17.5, "y": 0},
+
+                {"matrix": [5, 2], "x": 0, "y": 1.75},
+                {"matrix": [4, 2], "x": 1, "y": 1.75},
+                {"matrix": [4, 3], "x": 2, "y": 1.75},
+                {"matrix": [4, 4], "x": 3, "y": 1.75},
+                {"matrix": [4, 5], "x": 4, "y": 1.75},
+                {"matrix": [5, 5], "x": 5, "y": 1.75},
+                {"matrix": [5, 7], "x": 6, "y": 1.75},
+                {"matrix": [4, 7], "x": 7, "y": 1.75},
+                {"matrix": [4, 8], "x": 8, "y": 1.75},
+                {"matrix": [4, 9], "x": 9, "y": 1.75},
+                {"matrix": [4, 10], "x": 10, "y": 1.75},
+                {"matrix": [5, 10], "x": 11, "y": 1.75},
+                {"matrix": [5, 8], "x": 12, "y": 1.75},
+                {"matrix": [6, 6], "x": 13, "y": 1.75, "w": 2},
+
+                {"matrix": [5, 12], "x": 15.5, "y": 1.75},
+                {"matrix": [5, 14], "x": 16.5, "y": 1.75},
+                {"matrix": [5, 13], "x": 17.5, "y": 1.75},
+
+                {"matrix": [6, 2], "x": 0, "y": 2.75, "w": 1.5},
+                {"matrix": [3, 2], "x": 1.5, "y": 2.75},
+                {"matrix": [3, 3], "x": 2.5, "y": 2.75},
+                {"matrix": [3, 4], "x": 3.5, "y": 2.75},
+                {"matrix": [3, 5], "x": 4.5, "y": 2.75},
+                {"matrix": [6, 5], "x": 5.5, "y": 2.75},
+                {"matrix": [6, 7], "x": 6.5, "y": 2.75},
+                {"matrix": [3, 7], "x": 7.5, "y": 2.75},
+                {"matrix": [3, 8], "x": 8.5, "y": 2.75},
+                {"matrix": [3, 9], "x": 9.5, "y": 2.75},
+                {"matrix": [3, 10], "x": 10.5, "y": 2.75},
+                {"matrix": [6, 10], "x": 11.5, "y": 2.75},
+                {"matrix": [6, 8], "x": 12.5, "y": 2.75},
+                {"matrix": [2, 6], "x": 13.5, "y": 2.75, "w": 1.5},
+
+                {"matrix": [5, 11], "x": 15.5, "y": 2.75},
+                {"matrix": [4, 14], "x": 16.5, "y": 2.75},
+                {"matrix": [4, 13], "x": 17.5, "y": 2.75},
+
+                {"matrix": [6, 3], "x": 0, "y": 3.75, "w": 1.25},
+                {"matrix": [2, 2], "x": 1.75, "y": 3.75},
+                {"matrix": [2, 3], "x": 2.75, "y": 3.75},
+                {"matrix": [2, 4], "x": 3.75, "y": 3.75},
+                {"matrix": [2, 5], "x": 4.75, "y": 3.75},
+                {"matrix": [7, 5], "x": 5.75, "y": 3.75},
+                {"matrix": [7, 7], "x": 6.75, "y": 3.75},
+                {"matrix": [2, 7], "x": 7.75, "y": 3.75},
+                {"matrix": [2, 8], "x": 8.75, "y": 3.75},
+                {"matrix": [2, 9], "x": 9.75, "y": 3.75},
+                {"matrix": [2, 10], "x": 10.75, "y": 3.75},
+                {"matrix": [7, 10], "x": 11.75, "y": 3.75},
+                {"matrix": [1, 6], "x": 12.75, "y": 3.75, "w": 2.25},
+
+                {"matrix": [6, 1], "x": 0, "y": 4.75, "w": 2.25},
+                {"matrix": [1, 2], "x": 2.25, "y": 4.75},
+                {"matrix": [1, 3], "x": 3.25, "y": 4.75},
+                {"matrix": [1, 4], "x": 4.25, "y": 4.75},
+                {"matrix": [1, 5], "x": 5.25, "y": 4.75},
+                {"matrix": [0, 5], "x": 6.25, "y": 4.75},
+                {"matrix": [0, 7], "x": 7.25, "y": 4.75},
+                {"matrix": [1, 7], "x": 8.25, "y": 4.75},
+                {"matrix": [1, 8], "x": 9.25, "y": 4.75},
+                {"matrix": [1, 9], "x": 10.25, "y": 4.75},
+                {"matrix": [0, 10], "x": 11.25, "y": 4.75},
+                {"matrix": [1, 1], "x": 12.25, "y": 4.75, "w": 2.75},
+
+                {"matrix": [7, 14], "x": 16.5, "y": 4.75},
+
+                {"matrix": [5, 0], "x": 0, "y": 5.75, "w": 1.5},
+                {"matrix": [7, 15], "x": 2.5, "y": 5.75, "w": 1.5},
+                {"matrix": [0, 6], "x": 4, "y": 5.75, "w": 7},
+                {"matrix": [0, 15], "x": 11, "y": 5.75, "w": 1.5},
+                {"matrix": [1, 0], "x": 13.5, "y": 5.75, "w": 1.5},
+
+                {"matrix": [0, 14], "x": 15.5, "y": 5.75},
+                {"matrix": [0, 11], "x": 16.5, "y": 5.75},
+                {"matrix": [0, 12], "x": 17.5, "y": 5.75}
+            ]
         }
     }
 }

+ 0 - 45
keyboards/ai03/quasar/quasar.h

@@ -1,45 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * 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 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( \
-    K702,       K503, K504, K604, K704,    K706, K708, K609, K509,    K506, K406, K411, K412,    K415, K315, K114, \
-	K502, K402, K403, K404, K405, K505, K507, K407, K408, K409, K410, K510, K508,       K606,    K512, K514, K513, \
-	K602, K302, K303, K304, K305, K605, K607, K307, K308, K309, K310, K610, K608,       K206,    K511, K414, K413, \
-	K603, K202, K203, K204, K205, K705, K707, K207, K208, K209, K210, K710,             K106,                      \
-	K601,       K102, K103, K104, K105, K005, K007, K107, K108, K109, K010,             K101,          K714,       \
-	K500,       K715,                         K006,                         K015,       K100,    K014, K011, K012  \
-) \
-{ \
-    { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K005,  K006,  K007,  KC_NO, KC_NO, K010,  K011,  K012,  KC_NO, K014,  K015  }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  KC_NO, KC_NO, KC_NO, KC_NO, K114,  KC_NO }, \
-	{ KC_NO, KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-	{ KC_NO, KC_NO, K302,  K303,  K304,  K305,  KC_NO, K307,  K308,  K309,  K310,  KC_NO, KC_NO, KC_NO, KC_NO, K315  }, \
-	{ KC_NO, KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  K414,  K415  }, \
-	{ K500,  KC_NO, K502,  K503,  K504,  K505,  K506,  K507,  K508,  K509,  K510,  K511,  K512,  K513,  K514,  KC_NO }, \
-	{ KC_NO, K601,  K602,  K603,  K604,  K605,  K606,  K607,  K608,  K609,  K610,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
-	{ KC_NO, KC_NO, K702,  KC_NO, K704,  K705,  K706,  K707,  K708,  KC_NO, K710,  KC_NO, KC_NO, KC_NO, K714,  K715  }  \
-}

+ 72 - 1
keyboards/ai03/voyager60_alps/info.json

@@ -20,7 +20,78 @@
     "bootloader": "atmel-dfu",
     "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":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "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": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [2, 12], "x": 14, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "x": 11.75, "y": 2},
+                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.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, 12], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 13], "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, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.75},
+                {"matrix": [4, 6], "x": 6.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
+            ]
         }
     }
 }

+ 0 - 32
keyboards/ai03/voyager60_alps/voyager60_alps.h

@@ -1,32 +0,0 @@
-/*
-Copyright 2020 <t@ylor.io>
-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( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, \
-	K100,       K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
-	K200,       K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211,       K213, \
-	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K312, K313, \
-	K400, K401, K402,       K404,       K406,       K408,             K410, K411, K412, K413  \
-) \
-{ \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213 }, \
-	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313 }, \
-	{ K400,  K401,  K402,  KC_NO, K404,  KC_NO, K406,  KC_NO, K408,  KC_NO, K410,  K411,  K412,  K413 }  \
-}

+ 0 - 40
keyboards/akb/eb46/eb46.h

@@ -1,40 +0,0 @@
-/* Copyright 2019 Elliot Powell
- *
- * 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 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 xxx KC_NO
-
-#define LAYOUT(\
-  k000, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b,\
-	k100, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,     \
-	k200, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,     \
-	k300, k30, k31, k32, k33,           k36,      k38, k39, k3a     \
-) \
-{ \
-  {k000, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b},\
-	{k100, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, xxx},\
-	{k200, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, xxx},\
-	{k300, k30, k31, k32, k33, xxx, xxx, k36, xxx, k38, k39, k3a, xxx} \
-}

+ 53 - 46
keyboards/akb/eb46/info.json

@@ -17,52 +17,59 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "label": "F1", "x": 0, "y": 0 },
-                { "label": "Esc", "x": 1.25, "y": 0 },
-                { "label": "Q", "x": 2.25, "y": 0 },
-                { "label": "W", "x": 3.25, "y": 0 },
-                { "label": "E", "x": 4.25, "y": 0 },
-                { "label": "R", "x": 5.25, "y": 0 },
-                { "label": "T", "x": 6.25, "y": 0 },
-                { "label": "Y", "x": 7.25, "y": 0 },
-                { "label": "U", "x": 8.25, "y": 0 },
-                { "label": "I", "x": 9.25, "y": 0 },
-                { "label": "O", "x": 10.25, "y": 0 },
-                { "label": "P", "x": 11.25, "y": 0 },
-                { "label": "BackSpace", "x": 12.25, "y": 0 },
-                { "label": "F2", "x": 0, "y": 1 },
-                { "label": "Tab", "x": 1.25, "y": 1, "w": 1.25 },
-                { "label": "A", "x": 2.5, "y": 1 },
-                { "label": "S", "x": 3.5, "y": 1 },
-                { "label": "D", "x": 4.5, "y": 1 },
-                { "label": "F", "x": 5.5, "y": 1 },
-                { "label": "G", "x": 6.5, "y": 1 },
-                { "label": "H", "x": 7.5, "y": 1 },
-                { "label": "J", "x": 8.5, "y": 1 },
-                { "label": "K", "x": 9.5, "y": 1 },
-                { "label": "L", "x": 10.5, "y": 1 },
-                { "label": "Enter", "x": 11.5, "y": 1, "w": 1.75 },
-                { "label": "F3", "x": 0, "y": 2 },
-                { "label": "Shift", "x": 1.25, "y": 2, "w": 1.75 },
-                { "label": "Z", "x": 3, "y": 2 },
-                { "label": "X", "x": 4, "y": 2 },
-                { "label": "C", "x": 5, "y": 2 },
-                { "label": "V", "x": 6, "y": 2 },
-                { "label": "B", "x": 7, "y": 2 },
-                { "label": "N", "x": 8, "y": 2 },
-                { "label": "M", "x": 9, "y": 2 },
-                { "label": "<", "x": 10, "y": 2 },
-                { "label": ">", "x": 11, "y": 2 },
-                { "label": "RShift", "x": 12, "y": 2, "w": 1.25 },
-                { "label": "F4", "x": 0, "y": 3 },
-                { "label": "Ctrl", "x": 1.25, "y": 3, "w": 1.25 },
-                { "label": "Win", "x": 2.5, "y": 3 },
-                { "label": "Alt", "x": 3.5, "y": 3, "w": 1.25 },
-                { "label": "FN0", "x": 4.75, "y": 3, "w": 2.25 },
-                { "label": "Space", "x": 7, "y": 3, "w": 2.75 },
-                { "label": "Menu", "x": 9.75, "y": 3 },
-                { "label": "RAlt", "x": 10.75, "y": 3, "w": 1.25 },
-                { "label": "Super", "x": 12.25, "y": 3 }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"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": [1, 0], "x": 0, "y": 1},
+
+                {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.25},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.75},
+
+                {"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, 7], "x": 8, "y": 2},
+                {"matrix": [2, 8], "x": 9, "y": 2},
+                {"matrix": [2, 9], "x": 10, "y": 2},
+                {"matrix": [2, 10], "x": 11, "y": 2},
+                {"matrix": [2, 11], "x": 12, "y": 2, "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, "w": 1.25},
+                {"matrix": [3, 4], "x": 4.75, "y": 3, "w": 2.25},
+                {"matrix": [3, 7], "x": 7, "y": 3, "w": 2.75},
+                {"matrix": [3, 9], "x": 9.75, "y": 3},
+                {"matrix": [3, 10], "x": 10.75, "y": 3, "w": 1.25},
+                {"matrix": [3, 11], "x": 12.25, "y": 3}
             ]
         }
     }

+ 85 - 74
keyboards/akb/raine/info.json

@@ -17,80 +17,91 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "label": "Esc", "x": 0, "y": 0 },
-                { "label": "1", "x": 1, "y": 0 },
-                { "label": "2", "x": 2, "y": 0 },
-                { "label": "3", "x": 3, "y": 0 },
-                { "label": "4", "x": 4, "y": 0 },
-                { "label": "5", "x": 5, "y": 0 },
-                { "label": "6", "x": 6, "y": 0 },
-                { "label": "7", "x": 7, "y": 0 },
-                { "label": "8", "x": 8, "y": 0 },
-                { "label": "9", "x": 9, "y": 0 },
-                { "label": "0", "x": 10, "y": 0 },
-                { "label": "_", "x": 11, "y": 0 },
-                { "label": "BSP", "x": 12, "y": 0 },
-                { "label": "Num Lock", "x": 13.25, "y": 0 },
-                { "label": "Scroll Lock", "x": 14.25, "y": 0 },
-                { "label": "Insert", "x": 15.25, "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, "w": 1.5 },
-                { "label": "7", "x": 13.25, "y": 1 },
-                { "label": "8", "x": 14.25, "y": 1 },
-                { "label": "9", "x": 15.25, "y": 1 },
-                { "label": "Caps", "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": "ENTER", "x": 11.75, "y": 2, "w": 1.25 },
-                { "label": "4", "x": 13.25, "y": 2 },
-                { "label": "5", "x": 14.25, "y": 2 },
-                { "label": "6", "x": 15.25, "y": 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": "Shift", "x": 10.25, "y": 3, "w": 1.5 },
-                { "x": 12, "y": 3.25 },
-                { "label": "1", "x": 13.25, "y": 3 },
-                { "label": "2", "x": 14.25, "y": 3 },
-                { "label": "3", "x": 15.25, "y": 3 },
-                { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
-                { "label": "Win", "x": 1.25, "y": 4},
-                { "label": "Alt", "x": 2.25, "y": 4, "w": 1.25 },
-                { "label": "SPLEFT", "x": 3.5, "y": 4, "w": 2.25 },
-                { "label": "7U", "x": 5.75, "y": 4 },
-                { "label": "SPRIGHT", "x": 6.75, "y": 4, "w": 1.75 },
-                { "label": "alt", "x": 8.5, "y": 4},
-                { "label": "Menu", "x": 9.5, "y": 4, "w": 1.25 },
-                { "x": 11, "y": 4.25 },
-                { "x": 12, "y": 4.25 },
-                { "x": 13, "y": 4.25 },
-                { "label": "0", "x": 14.25, "y": 4 },
-                { "label": "Del", "x": 15.25, "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.25, "y": 0},
+                {"matrix": [0, 14], "x": 14.25, "y": 0},
+                {"matrix": [0, 15], "x": 15.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.5},
+
+                {"matrix": [1, 13], "x": 13.25, "y": 1},
+                {"matrix": [1, 14], "x": 14.25, "y": 1},
+                {"matrix": [1, 15], "x": 15.25, "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, "w": 1.25},
+
+                {"matrix": [2, 13], "x": 13.25, "y": 2},
+                {"matrix": [2, 14], "x": 14.25, "y": 2},
+                {"matrix": [2, 15], "x": 15.25, "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, 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, "w": 1.5},
+
+                {"matrix": [3, 12], "x": 12, "y": 3.25},
+
+                {"matrix": [3, 13], "x": 13.25, "y": 3},
+                {"matrix": [3, 14], "x": 14.25, "y": 3},
+                {"matrix": [3, 15], "x": 15.25, "y": 3},
+
+                {"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, "w": 1.25},
+                {"matrix": [4, 4], "x": 3.5, "y": 4, "w": 2.25},
+                {"matrix": [4, 5], "x": 5.75, "y": 4},
+                {"matrix": [4, 7], "x": 6.75, "y": 4, "w": 1.75},
+                {"matrix": [4, 8], "x": 8.5, "y": 4},
+                {"matrix": [4, 9], "x": 9.5, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 10], "x": 11, "y": 4.25},
+                {"matrix": [4, 12], "x": 12, "y": 4.25},
+                {"matrix": [4, 13], "x": 13, "y": 4.25},
+
+                {"matrix": [4, 14], "x": 14.25, "y": 4},
+                {"matrix": [4, 15], "x": 15.25, "y": 4}
             ]
         }
     }

+ 0 - 33
keyboards/akb/raine/raine.h

@@ -1,33 +0,0 @@
-/*
-Copyright 2019 Elliot Powell
-
-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( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111,       K113, K114, K115, \
-	K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
-	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309,       K311, K312, K313, K314, K315, \
-	K400, K401, K402,       K404, K405,       K407, K408, K409,       K410,       K412, K413, K414, K415  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  KC_NO, K113,  K114,  K115 }, \
-	{ K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
-	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K311,  KC_NO, K312,  K313,  K314,  K315 }, \
-	{ K400,  K401,  K402,  KC_NO, K404,  K405,  KC_NO, K407,  K408,  K409,  K410,  KC_NO, K412,  K413,  K414,  K415 }  \
-}

+ 81 - 70
keyboards/aleblazer/zodiark/info.json

@@ -39,80 +39,91 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.53},
-                {"x":1, "y":0.53},
-                {"x":2, "y":0.125},
-                {"x":3, "y":0},
-                {"x":4, "y":0.125},
-                {"x":5, "y":0.25},
-                {"x":12, "y":0.25},
-                {"x":13, "y":0.125},
-                {"x":14, "y":0},
-                {"x":15, "y":0.125},
-                {"x":16, "y":0.53},
-                {"x":17, "y":0.53},
+                {"label": "L00", "matrix": [0, 0], "x": 0, "y": 0.53},
+                {"label": "L01", "matrix": [0, 1], "x": 1, "y": 0.53},
+                {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0.125},
+                {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0},
+                {"label": "L04", "matrix": [0, 4], "x": 4, "y": 0.125},
+                {"label": "L05", "matrix": [0, 5], "x": 5, "y": 0.25},
 
-                {"x":0, "y":1.53},
-                {"x":1, "y":1.53},
-                {"x":2, "y":1.125},
-                {"x":3, "y":1},
-                {"x":4, "y":1.125},
-                {"x":5, "y":1.25},
-                {"x":6, "y":1.7},
-                {"x":11, "y":1.7},
-                {"x":12, "y":1.25},
-                {"x":13, "y":1.125},
-                {"x":14, "y":1},
-                {"x":15, "y":1.125},
-                {"x":16, "y":1.53},
-                {"x":17, "y":1.53},
+                {"label": "R01", "matrix": [5, 5], "x": 12, "y": 0.25},
+                {"label": "R02", "matrix": [5, 4], "x": 13, "y": 0.125},
+                {"label": "R03", "matrix": [5, 3], "x": 14, "y": 0},
+                {"label": "R04", "matrix": [5, 2], "x": 15, "y": 0.125},
+                {"label": "R05", "matrix": [5, 1], "x": 16, "y": 0.53},
+                {"label": "R06", "matrix": [5, 0], "x": 17, "y": 0.53},
 
-                {"x":0, "y":2.53},
-                {"x":1, "y":2.53},
-                {"x":2, "y":2.125},
-                {"x":3, "y":2},
-                {"x":4, "y":2.125},
-                {"x":5, "y":2.25},
-                {"x":6, "y":2.7},
-                {"x":11, "y":2.7},
-                {"x":12, "y":2.25},
-                {"x":13, "y":2.125},
-                {"x":14, "y":2},
-                {"x":15, "y":2.125},
-                {"x":16, "y":2.53},
-                {"x":17, "y":2.53},
+                {"label": "L10", "matrix": [1, 0], "x": 0, "y": 1.53},
+                {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1.53},
+                {"label": "L12", "matrix": [1, 2], "x": 2, "y": 1.125},
+                {"label": "L13", "matrix": [1, 3], "x": 3, "y": 1},
+                {"label": "L14", "matrix": [1, 4], "x": 4, "y": 1.125},
+                {"label": "L15", "matrix": [1, 5], "x": 5, "y": 1.25},
 
-                {"x":0, "y":3.53},
-                {"x":1, "y":3.53},
-                {"x":2, "y":3.125},
-                {"x":3, "y":3},
-                {"x":4, "y":3.125},
-                {"x":5, "y":3.25},
-                {"x":6.5, "y":4.25},
-                {"x":7.5, "y":4.25},
-                {"x":9.5, "y":4.25},
-                {"x":10.5, "y":4.25},
-                {"x":12, "y":3.25},
-                {"x":13, "y":3.125},
-                {"x":14, "y":3},
-                {"x":15, "y":3.125},
-                {"x":16, "y":3.53},
-                {"x":17, "y":3.53},
+                {"label": "L06", "matrix": [0, 6], "x": 6, "y": 1.7},
 
-                {"x":0, "y":4.53},
-                {"x":1, "y":4.53},
-                {"x":2, "y":4.125},
-                {"x":3, "y":4},
-                {"x":4, "y":4.125},
-                {"x":6, "y":5.25, "w":1.5},
-                {"x":7.5, "y":5.25},
-                {"x":9.5, "y":5.25},
-                {"x":10.5, "y":5.25, "w":1.5},
-                {"x":13, "y":4.125},
-                {"x":14, "y":4},
-                {"x":15, "y":4.125},
-                {"x":16, "y":4.53},
-                {"x":17, "y":4.53}
+                {"label": "R00", "matrix": [5, 6], "x": 11, "y": 1.7},
+
+                {"label": "R11", "matrix": [6, 5], "x": 12, "y": 1.25},
+                {"label": "R12", "matrix": [6, 4], "x": 13, "y": 1.125},
+                {"label": "R13", "matrix": [6, 3], "x": 14, "y": 1},
+                {"label": "R14", "matrix": [6, 2], "x": 15, "y": 1.125},
+                {"label": "R15", "matrix": [6, 1], "x": 16, "y": 1.53},
+                {"label": "R16", "matrix": [6, 0], "x": 17, "y": 1.53},
+
+                {"label": "L20", "matrix": [2, 0], "x": 0, "y": 2.53},
+                {"label": "L21", "matrix": [2, 1], "x": 1, "y": 2.53},
+                {"label": "L22", "matrix": [2, 2], "x": 2, "y": 2.125},
+                {"label": "L23", "matrix": [2, 3], "x": 3, "y": 2},
+                {"label": "L24", "matrix": [2, 4], "x": 4, "y": 2.125},
+                {"label": "L25", "matrix": [2, 5], "x": 5, "y": 2.25},
+
+                {"label": "L16", "matrix": [1, 6], "x": 6, "y": 2.7},
+
+                {"label": "R10", "matrix": [6, 6], "x": 11, "y": 2.7},
+
+                {"label": "R21", "matrix": [7, 5], "x": 12, "y": 2.25},
+                {"label": "R22", "matrix": [7, 4], "x": 13, "y": 2.125},
+                {"label": "R23", "matrix": [7, 3], "x": 14, "y": 2},
+                {"label": "R24", "matrix": [7, 2], "x": 15, "y": 2.125},
+                {"label": "R25", "matrix": [7, 1], "x": 16, "y": 2.53},
+                {"label": "R26", "matrix": [7, 0], "x": 17, "y": 2.53},
+
+                {"label": "L30", "matrix": [3, 0], "x": 0, "y": 3.53},
+                {"label": "L31", "matrix": [3, 1], "x": 1, "y": 3.53},
+                {"label": "L32", "matrix": [3, 2], "x": 2, "y": 3.125},
+                {"label": "L33", "matrix": [3, 3], "x": 3, "y": 3},
+                {"label": "L34", "matrix": [3, 4], "x": 4, "y": 3.125},
+                {"label": "L35", "matrix": [3, 5], "x": 5, "y": 3.25},
+
+                {"label": "L26", "matrix": [2, 6], "x": 6.5, "y": 4.25},
+                {"label": "L36", "matrix": [3, 6], "x": 7.5, "y": 4.25},
+
+                {"label": "R30", "matrix": [8, 6], "x": 9.5, "y": 4.25},
+                {"label": "R20", "matrix": [7, 6], "x": 10.5, "y": 4.25},
+
+                {"label": "R31", "matrix": [8, 5], "x": 12, "y": 3.25},
+                {"label": "R32", "matrix": [8, 4], "x": 13, "y": 3.125},
+                {"label": "R33", "matrix": [8, 3], "x": 14, "y": 3},
+                {"label": "R34", "matrix": [8, 2], "x": 15, "y": 3.125},
+                {"label": "R35", "matrix": [8, 1], "x": 16, "y": 3.53},
+                {"label": "R36", "matrix": [8, 0], "x": 17, "y": 3.53},
+
+                {"label": "L40", "matrix": [4, 0], "x": 0, "y": 4.53},
+                {"label": "L41", "matrix": [4, 1], "x": 1, "y": 4.53},
+                {"label": "L42", "matrix": [4, 2], "x": 2, "y": 4.125},
+                {"label": "L43", "matrix": [4, 3], "x": 3, "y": 4},
+                {"label": "L44", "matrix": [4, 4], "x": 4, "y": 4.125},
+                {"label": "L45", "matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.5},
+                {"label": "L46", "matrix": [4, 6], "x": 7.5, "y": 5.25},
+
+                {"label": "R40", "matrix": [9, 6], "x": 9.5, "y": 5.25},
+                {"label": "R41", "matrix": [9, 5], "x": 10.5, "y": 5.25, "w": 1.5},
+                {"label": "R42", "matrix": [9, 4], "x": 13, "y": 4.125},
+                {"label": "R43", "matrix": [9, 3], "x": 14, "y": 4},
+                {"label": "R44", "matrix": [9, 2], "x": 15, "y": 4.125},
+                {"label": "R45", "matrix": [9, 1], "x": 16, "y": 4.53},
+                {"label": "R46", "matrix": [9, 0], "x": 17, "y": 4.53}
             ]
         }
     }

+ 1 - 1
keyboards/aleblazer/zodiark/zodiark.c

@@ -14,7 +14,7 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
-#include "zodiark.h"
+#include "quantum.h"
 
 #ifdef RGB_MATRIX_ENABLE
 led_config_t g_led_config = { {

+ 0 - 38
keyboards/aleblazer/zodiark/zodiark.h

@@ -1,38 +0,0 @@
-/*
-Copyright 2021 Spencer Deven <splitlogicdesign@gmail.com>
-
-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 3 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( \
- L00, L01, L02, L03, L04, L05,                     R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L06,           R00, R11, R12, R13, R14, R15, R16, \
- L20, L21, L22, L23, L24, L25, L16,           R10, R21, R22, R23, R24, R25, R26, \
- L30, L31, L32, L33, L34, L35, L26, L36, R30, R20, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44,    L45,   L46, R40,   R41,    R42, R43, R44, R45, R46  \
-  ) \
-  { \
- { L00,   L01,   L02,   L03,   L04,   L05,   L06 }, \
- { L10,   L11,   L12,   L13,   L14,   L15,   L16 }, \
- { L20,   L21,   L22,   L23,   L24,   L25,   L26 }, \
- { L30,   L31,   L32,   L33,   L34,   L35,   L36 }, \
- { L40,   L41,   L42,   L43,   L44,   L45,   L46 }, \
- { R06,   R05,   R04,   R03,   R02,   R01,   R00 }, \
- { R16,   R15,   R14,   R13,   R12,   R11,   R10 }, \
- { R26,   R25,   R24,   R23,   R22,   R21,   R20 }, \
- { R36,   R35,   R34,   R33,   R32,   R31,   R30 }, \
- { R46,   R45,   R44,   R43,   R42,   R41,   R40 }  \
-}

+ 91 - 88
keyboards/alf/x11/info.json

@@ -31,104 +31,107 @@
   "layouts": {
     "LAYOUT": {
       "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":2, "y":0},
-        {"label":"K02", "x":3, "y":0},
-        {"label":"K03", "x":4, "y":0},
-        {"label":"K04", "x":5, "y":0},
-        {"label":"K05", "x":6.5, "y":0},
-        {"label":"K06", "x":7.5, "y":0},
-        {"label":"K07", "x":8.5, "y":0},
-        {"label":"K08", "x":9.5, "y":0},
-        {"label":"K09", "x":11, "y":0},
-        {"label":"K0A", "x":12, "y":0},
-        {"label":"K0B", "x":13, "y":0},
-        {"label":"K0C", "x":14, "y":0},
+        {"matrix": [0, 0], "x": 0, "y": 0},
 
-        {"label":"K62", "x":15.25, "y":0},
-        {"label":"K61", "x":16.25, "y":0},
-        {"label":"K60", "x":17.25, "y":0},
+        {"matrix": [0, 1], "x": 2, "y": 0},
+        {"matrix": [0, 2], "x": 3, "y": 0},
+        {"matrix": [0, 3], "x": 4, "y": 0},
+        {"matrix": [0, 4], "x": 5, "y": 0},
 
-        {"label":"K10", "x":0, "y":1.5},
-        {"label":"K11", "x":1, "y":1.5},
-        {"label":"K12", "x":2, "y":1.5},
-        {"label":"K13", "x":3, "y":1.5},
-        {"label":"K14", "x":4, "y":1.5},
-        {"label":"K15", "x":5, "y":1.5},
-        {"label":"K16", "x":6, "y":1.5},
-        {"label":"K17", "x":7, "y":1.5},
-        {"label":"K18", "x":8, "y":1.5},
-        {"label":"K19", "x":9, "y":1.5},
-        {"label":"K1A", "x":10, "y":1.5},
-        {"label":"K1B", "x":11, "y":1.5},
-        {"label":"K1C", "x":12, "y":1.5},
-        {"label":"K5A", "x":13, "y":1.5, "w":2},
+        {"matrix": [0, 5], "x": 6.5, "y": 0},
+        {"matrix": [0, 6], "x": 7.5, "y": 0},
+        {"matrix": [0, 7], "x": 8.5, "y": 0},
+        {"matrix": [0, 8], "x": 9.5, "y": 0},
 
-        {"label":"K63", "x":15.25, "y":1.5},
-        {"label":"K65", "x":16.25, "y":1.5},
-        {"label":"K67", "x":17.25, "y":1.5},
+        {"matrix": [0, 9], "x": 11, "y": 0},
+        {"matrix": [0, 10], "x": 12, "y": 0},
+        {"matrix": [0, 11], "x": 13, "y": 0},
+        {"matrix": [0, 12], "x": 14, "y": 0},
 
-        {"label":"K20", "x":0, "y":2.5, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2.5},
-        {"label":"K22", "x":2.5, "y":2.5},
-        {"label":"K23", "x":3.5, "y":2.5},
-        {"label":"K24", "x":4.5, "y":2.5},
-        {"label":"K25", "x":5.5, "y":2.5},
-        {"label":"K26", "x":6.5, "y":2.5},
-        {"label":"K27", "x":7.5, "y":2.5},
-        {"label":"K28", "x":8.5, "y":2.5},
-        {"label":"K29", "x":9.5, "y":2.5},
-        {"label":"K2A", "x":10.5, "y":2.5},
-        {"label":"K2B", "x":11.5, "y":2.5},
-        {"label":"K2C", "x":12.5, "y":2.5},
-        {"label":"K4C", "x":13.5, "y":2.5, "w":1.5},
+        {"matrix": [6, 2], "x": 15.25, "y": 0},
+        {"matrix": [6, 1], "x": 16.25, "y": 0},
+        {"matrix": [6, 0], "x": 17.25, "y": 0},
 
-        {"label":"K64", "x":15.25, "y":2.5},
-        {"label":"K66", "x":16.25, "y":2.5},
-        {"label":"K68", "x":17.25, "y":2.5},
+        {"matrix": [1, 0], "x": 0, "y": 1.5},
+        {"matrix": [1, 1], "x": 1, "y": 1.5},
+        {"matrix": [1, 2], "x": 2, "y": 1.5},
+        {"matrix": [1, 3], "x": 3, "y": 1.5},
+        {"matrix": [1, 4], "x": 4, "y": 1.5},
+        {"matrix": [1, 5], "x": 5, "y": 1.5},
+        {"matrix": [1, 6], "x": 6, "y": 1.5},
+        {"matrix": [1, 7], "x": 7, "y": 1.5},
+        {"matrix": [1, 8], "x": 8, "y": 1.5},
+        {"matrix": [1, 9], "x": 9, "y": 1.5},
+        {"matrix": [1, 10], "x": 10, "y": 1.5},
+        {"matrix": [1, 11], "x": 11, "y": 1.5},
+        {"matrix": [1, 12], "x": 12, "y": 1.5},
+        {"matrix": [5, 10], "x": 13, "y": 1.5, "w": 2},
 
-        {"label":"K30", "x":0, "y":3.5, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3.5},
-        {"label":"K32", "x":2.75, "y":3.5},
-        {"label":"K33", "x":3.75, "y":3.5},
-        {"label":"K34", "x":4.75, "y":3.5},
-        {"label":"K35", "x":5.75, "y":3.5},
-        {"label":"K36", "x":6.75, "y":3.5},
-        {"label":"K37", "x":7.75, "y":3.5},
-        {"label":"K38", "x":8.75, "y":3.5},
-        {"label":"K39", "x":9.75, "y":3.5},
-        {"label":"K3A", "x":10.75, "y":3.5},
-        {"label":"K3B", "x":11.75, "y":3.5},
-        {"label":"K3C", "x":12.75, "y":3.5, "w":2.25},
+        {"matrix": [6, 3], "x": 15.25, "y": 1.5},
+        {"matrix": [6, 5], "x": 16.25, "y": 1.5},
+        {"matrix": [6, 7], "x": 17.25, "y": 1.5},
 
-        {"label":"K40", "x":0, "y":4.5, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4.5},
-        {"label":"K42", "x":3.25, "y":4.5},
-        {"label":"K43", "x":4.25, "y":4.5},
-        {"label":"K44", "x":5.25, "y":4.5},
-        {"label":"K45", "x":6.25, "y":4.5},
-        {"label":"K46", "x":7.25, "y":4.5},
-        {"label":"K47", "x":8.25, "y":4.5},
-        {"label":"K48", "x":9.25, "y":4.5},
-        {"label":"K49", "x":10.25, "y":4.5},
-        {"label":"K4A", "x":11.25, "y":4.5},
-        {"label":"K4B", "x":12.25, "y":4.5, "w":1.75},
-        {"label":"K69", "x":14, "y":4.5},
+        {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+        {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+        {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+        {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+        {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+        {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+        {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+        {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+        {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+        {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+        {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+        {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+        {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+        {"matrix": [4, 12], "x": 13.5, "y": 2.5, "w": 1.5},
 
-        {"label":"K58", "x":16.25, "y":4.5},
+        {"matrix": [6, 4], "x": 15.25, "y": 2.5},
+        {"matrix": [6, 6], "x": 16.25, "y": 2.5},
+        {"matrix": [6, 8], "x": 17.25, "y": 2.5},
 
-        {"label":"K50", "x":0, "y":5.5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5.5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5.5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5.5, "w":6.25},
-        {"label":"K54", "x":10, "y":5.5, "w":1.25},
-        {"label":"K55", "x":11.25, "y":5.5, "w":1.25},
-        {"label":"K56", "x":12.5, "y":5.5, "w":1.25},
-        {"label":"K57", "x":13.75, "y":5.5, "w":1.25},
+        {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+        {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+        {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+        {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+        {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+        {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+        {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+        {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+        {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+        {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+        {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+        {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+        {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
 
-        {"label":"K6A", "x":15.25, "y":5.5},
-        {"label":"K59", "x":16.25, "y":5.5},
-        {"label":"K6B", "x":17.25, "y":5.5}
+        {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
+        {"matrix": [4, 1], "x": 2.25, "y": 4.5},
+        {"matrix": [4, 2], "x": 3.25, "y": 4.5},
+        {"matrix": [4, 3], "x": 4.25, "y": 4.5},
+        {"matrix": [4, 4], "x": 5.25, "y": 4.5},
+        {"matrix": [4, 5], "x": 6.25, "y": 4.5},
+        {"matrix": [4, 6], "x": 7.25, "y": 4.5},
+        {"matrix": [4, 7], "x": 8.25, "y": 4.5},
+        {"matrix": [4, 8], "x": 9.25, "y": 4.5},
+        {"matrix": [4, 9], "x": 10.25, "y": 4.5},
+        {"matrix": [4, 10], "x": 11.25, "y": 4.5},
+        {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75},
+        {"matrix": [6, 9], "x": 14, "y": 4.5},
+
+        {"matrix": [5, 8], "x": 16.25, "y": 4.5},
+
+        {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 3], "x": 3.75, "y": 5.5, "w": 6.25},
+        {"matrix": [5, 4], "x": 10, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 5], "x": 11.25, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 6], "x": 12.5, "y": 5.5, "w": 1.25},
+        {"matrix": [5, 7], "x": 13.75, "y": 5.5, "w": 1.25},
+
+        {"matrix": [6, 10], "x": 15.25, "y": 5.5},
+        {"matrix": [5, 9], "x": 16.25, "y": 5.5},
+        {"matrix": [6, 11], "x": 17.25, "y": 5.5}
       ]
     }
   }

+ 0 - 43
keyboards/alf/x11/x11.h

@@ -1,43 +0,0 @@
-/* Copyright 2019 MechMerlin
- *
- * 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 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,      K62, K61, K60, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K5A,      K63, K65, K67, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K4C,      K64, K66, K68, \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
-    K40,      K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K69,           K58, \
-    K50, K51, K52,                K53,                K54, K55, K56, K57,      K6A, K59, K6B  \
-) { \
-    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C   }, \
-    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C   }, \
-    { 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   }, \
-    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C   }, \
-    { K50,   K51,   K52,   K53,   K54,   K55,   K56,   K57,   K58,   K59,   K5A,   KC_NO, KC_NO }, \
-    { K60,   K61,   K62,   K63,   K64,   K65,   K66,   K67,   K68,   K69,   K6A,   K6B,   KC_NO }, \
-}

+ 0 - 15
keyboards/alpha/alpha.h

@@ -1,15 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
-    k20, k21, k22, k23,      k25,      k27, k28, k29 \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
-    { k20, k21, k22, k23, XXX, k25, XXX, k27, k28, k29 } \
-}

+ 32 - 1
keyboards/alpha/info.json

@@ -19,7 +19,38 @@
   "bootloader": "caterina",
   "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":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":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2, "w":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}]
+      "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": [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": [2, 0], "x": 0.5, "y": 2},
+        {"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, 5], "x": 4.5, "y": 2, "w": 2},
+        {"matrix": [2, 7], "x": 6.5, "y": 2},
+        {"matrix": [2, 8], "x": 7.5, "y": 2},
+        {"matrix": [2, 9], "x": 8.5, "y": 2}
+      ]
     }
   }
 }

+ 0 - 36
keyboards/alpine65/alpine65.h

@@ -1,36 +0,0 @@
-/*
-Copyright 2015 Álvaro "Gondolindrim" Volpato  <gondolindrim@acheronproject.com>
-
-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 ___ KC_NO
-
-#include "quantum.h"
-
-#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, K1E, \
-	K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C     , K2E, \
-	K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
-	K40, K41, K42,                K46,           K49, K4A, K4B, K4C, K4D, K4E \
-) { \
-    {  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, K1E}, \
-    {  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E}, \
-    {  K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \
-    {  K40, K41, K42, ___, ___, ___, K46, ___, ___, K49, K4A, K4B, K4C, K4D, K4E}  \
-}

+ 71 - 67
keyboards/alpine65/info.json

@@ -21,77 +21,81 @@
     "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":12, "y":0},
-                {"x":13, "y":0, "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, "w": 2},
 
-                {"x":0, "y":1, "w":1.5},
-                {"x":1.5, "y":1},
-                {"x":2.5, "y":1},
-                {"x":3.5, "y":1},
-                {"x":4.5, "y":1},
-                {"x":5.5, "y":1},
-                {"x":6.5, "y":1},
-                {"x":7.5, "y":1},
-                {"x":8.5, "y":1},
-                {"x":9.5, "y":1},
-                {"x":10.5, "y":1},
-                {"x":11.5, "y":1},
-                {"x":12.5, "y":1},
-                {"x":13.5, "y":1, "w":1.5},
-                {"x":15.25, "y":1.25},
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 
-                {"x":0, "y":2, "w":1.75},
-                {"x":1.75, "y":2},
-                {"x":2.75, "y":2},
-                {"x":3.75, "y":2},
-                {"x":4.75, "y":2},
-                {"x":5.75, "y":2},
-                {"x":6.75, "y":2},
-                {"x":7.75, "y":2},
-                {"x":8.75, "y":2},
-                {"x":9.75, "y":2},
-                {"x":10.75, "y":2},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2, "w":2.25},
-                {"x":15.25, "y":2.25},
+                {"matrix": [1, 14], "x": 15.25, "y": 1.25},
 
-                {"x":0, "y":3, "w":2.25},
-                {"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, "w":1.75},
-                {"x":14.25, "y":3.25},
-                {"x":15.25, "y":3.25},
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "x": 11.75, "y": 2},
+                {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 
-                {"x":0, "y":4, "w":1.25},
-                {"x":1.25, "y":4, "w":1.25},
-                {"x":2.5, "y":4, "w":1.25},
-                {"x":3.75, "y":4, "w":6.25},
-                {"x":10, "y":4},
-                {"x":11, "y":4},
-                {"x":12, "y":4},
-                {"x":13.25, "y":4.25},
-                {"x":14.25, "y":4.25},
-                {"x":15.25, "y":4.25}
+                {"matrix": [2, 14], "x": 15.25, "y": 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, 12], "x": 12.25, "y": 3, "w": 1.75},
+
+                {"matrix": [3, 13], "x": 14.25, "y": 3.25},
+                {"matrix": [3, 14], "x": 15.25, "y": 3.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 9], "x": 10, "y": 4},
+                {"matrix": [4, 10], "x": 11, "y": 4},
+                {"matrix": [4, 11], "x": 12, "y": 4},
+
+                {"matrix": [4, 12], "x": 13.25, "y": 4.25},
+                {"matrix": [4, 13], "x": 14.25, "y": 4.25},
+                {"matrix": [4, 14], "x": 15.25, "y": 4.25}
             ]
         }
     }

+ 0 - 30
keyboards/amjkeyboard/amj84/amj84.h

@@ -1,30 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#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, K0E, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
-    K20, K21, 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, K3C, K3D, K3E, \
-    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
-    K50, K51, K52,           K55,           K58, K59, K5A, K5B, K5C, K5D, K5E \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
-    { K20, K21, 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, K3C, K3D, K3E }, \
-    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
-    { K50, K51, K52,KC_NO,KC_NO,K55,KC_NO,KC_NO,K58,K59,K5A, K5B, K5C, K5D, K5E }  \
-}

+ 91 - 86
keyboards/amjkeyboard/amj84/info.json

@@ -22,92 +22,97 @@
     "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": 12, "y": 0 },
-                { "x": 13, "y": 0 },
-                { "x": 14, "y": 0 },
-                { "x": 15, "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": 12, "y": 1 },
-                { "w": 2, "x": 13, "y": 1 },
-                { "x": 15, "y": 1 },
-                { "w": 1.5, "x": 0, "y": 2 },
-                { "x": 1.5, "y": 2 },
-                { "x": 2.5, "y": 2 },
-                { "x": 3.5, "y": 2 },
-                { "x": 4.5, "y": 2 },
-                { "x": 5.5, "y": 2 },
-                { "x": 6.5, "y": 2 },
-                { "x": 7.5, "y": 2 },
-                { "x": 8.5, "y": 2 },
-                { "x": 9.5, "y": 2 },
-                { "x": 10.5, "y": 2 },
-                { "x": 11.5, "y": 2 },
-                { "x": 12.5, "y": 2 },
-                { "w": 1.5, "x": 13.5, "y": 2 },
-                { "x": 15, "y": 2 },
-                { "w": 1.75, "x": 0, "y": 3 },
-                { "x": 1.75, "y": 3 },
-                { "x": 2.75, "y": 3 },
-                { "x": 3.75, "y": 3 },
-                { "x": 4.75, "y": 3 },
-                { "x": 5.75, "y": 3 },
-                { "x": 6.75, "y": 3 },
-                { "x": 7.75, "y": 3 },
-                { "x": 8.75, "y": 3 },
-                { "x": 9.75, "y": 3 },
-                { "x": 10.75, "y": 3 },
-                { "x": 11.75, "y": 3 },
-                { "x": 12.75, "y": 3 },
-                { "w": 1.25, "x": 13.75, "y": 3 },
-                { "x": 15, "y": 3 },
-                { "w": 2.25, "x": 0, "y": 4 },
-                { "x": 2.25, "y": 4 },
-                { "x": 3.25, "y": 4 },
-                { "x": 4.25, "y": 4 },
-                { "x": 5.25, "y": 4 },
-                { "x": 6.25, "y": 4 },
-                { "x": 7.25, "y": 4 },
-                { "x": 8.25, "y": 4 },
-                { "x": 9.25, "y": 4 },
-                { "x": 10.25, "y": 4 },
-                { "x": 11.25, "y": 4 },
-                { "w": 1.75, "x": 12.25, "y": 4 },
-                { "x": 14, "y": 4 },
-                { "x": 15, "y": 4 },
-                { "w": 1.25, "x": 0, "y": 5 },
-                { "w": 1.25, "x": 1.25, "y": 5 },
-                { "w": 1.25, "x": 2.5, "y": 5 },
-                { "w": 5.25, "x": 3.75, "y": 5 },
-                { "x": 9, "y": 5 },
-                { "x": 10, "y": 5 },
-                { "x": 11, "y": 5 },
-                { "x": 12, "y": 5 },
-                { "x": 13, "y": 5 },
-                { "x": 14, "y": 5 },
-                { "x": 15, "y": 5 }
+                {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0},
+                {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0},
+                {"label": "K02", "matrix": [0, 2], "x": 2, "y": 0},
+                {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0},
+                {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0},
+                {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0},
+                {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0},
+                {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0},
+                {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0},
+                {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0},
+                {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0},
+                {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0},
+                {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0},
+                {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0},
+                {"label": "K0E", "matrix": [0, 14], "x": 14, "y": 0},
+                {"label": "K10", "matrix": [1, 0], "x": 15, "y": 0},
+
+                {"label": "K11", "matrix": [1, 1], "x": 0, "y": 1},
+                {"label": "K12", "matrix": [1, 2], "x": 1, "y": 1},
+                {"label": "K13", "matrix": [1, 3], "x": 2, "y": 1},
+                {"label": "K14", "matrix": [1, 4], "x": 3, "y": 1},
+                {"label": "K15", "matrix": [1, 5], "x": 4, "y": 1},
+                {"label": "K16", "matrix": [1, 6], "x": 5, "y": 1},
+                {"label": "K17", "matrix": [1, 7], "x": 6, "y": 1},
+                {"label": "K18", "matrix": [1, 8], "x": 7, "y": 1},
+                {"label": "K19", "matrix": [1, 9], "x": 8, "y": 1},
+                {"label": "K1A", "matrix": [1, 10], "x": 9, "y": 1},
+                {"label": "K1B", "matrix": [1, 11], "x": 10, "y": 1},
+                {"label": "K1C", "matrix": [1, 12], "x": 11, "y": 1},
+                {"label": "K1D", "matrix": [1, 13], "x": 12, "y": 1},
+                {"label": "K1E", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
+                {"label": "K20", "matrix": [2, 0], "x": 15, "y": 1},
+
+                {"label": "K21", "matrix": [2, 1], "x": 0, "y": 2, "w": 1.5},
+                {"label": "K22", "matrix": [2, 2], "x": 1.5, "y": 2},
+                {"label": "K23", "matrix": [2, 3], "x": 2.5, "y": 2},
+                {"label": "K24", "matrix": [2, 4], "x": 3.5, "y": 2},
+                {"label": "K25", "matrix": [2, 5], "x": 4.5, "y": 2},
+                {"label": "K26", "matrix": [2, 6], "x": 5.5, "y": 2},
+                {"label": "K27", "matrix": [2, 7], "x": 6.5, "y": 2},
+                {"label": "K28", "matrix": [2, 8], "x": 7.5, "y": 2},
+                {"label": "K29", "matrix": [2, 9], "x": 8.5, "y": 2},
+                {"label": "K2A", "matrix": [2, 10], "x": 9.5, "y": 2},
+                {"label": "K2B", "matrix": [2, 11], "x": 10.5, "y": 2},
+                {"label": "K2C", "matrix": [2, 12], "x": 11.5, "y": 2},
+                {"label": "K2D", "matrix": [2, 13], "x": 12.5, "y": 2},
+                {"label": "K2E", "matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
+                {"label": "K30", "matrix": [3, 0], "x": 15, "y": 2},
+
+                {"label": "K31", "matrix": [3, 1], "x": 0, "y": 3, "w": 1.75},
+                {"label": "K32", "matrix": [3, 2], "x": 1.75, "y": 3},
+                {"label": "K33", "matrix": [3, 3], "x": 2.75, "y": 3},
+                {"label": "K34", "matrix": [3, 4], "x": 3.75, "y": 3},
+                {"label": "K35", "matrix": [3, 5], "x": 4.75, "y": 3},
+                {"label": "K36", "matrix": [3, 6], "x": 5.75, "y": 3},
+                {"label": "K37", "matrix": [3, 7], "x": 6.75, "y": 3},
+                {"label": "K38", "matrix": [3, 8], "x": 7.75, "y": 3},
+                {"label": "K39", "matrix": [3, 9], "x": 8.75, "y": 3},
+                {"label": "K3A", "matrix": [3, 10], "x": 9.75, "y": 3},
+                {"label": "K3B", "matrix": [3, 11], "x": 10.75, "y": 3},
+                {"label": "K3C", "matrix": [3, 12], "x": 11.75, "y": 3},
+                {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 3},
+                {"label": "K3E", "matrix": [3, 14], "x": 13.75, "y": 3, "w": 1.25},
+                {"label": "K40", "matrix": [4, 0], "x": 15, "y": 3},
+
+                {"label": "K41", "matrix": [4, 1], "x": 0, "y": 4, "w": 2.25},
+                {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 4},
+                {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 4},
+                {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 4},
+                {"label": "K45", "matrix": [4, 5], "x": 5.25, "y": 4},
+                {"label": "K46", "matrix": [4, 6], "x": 6.25, "y": 4},
+                {"label": "K47", "matrix": [4, 7], "x": 7.25, "y": 4},
+                {"label": "K48", "matrix": [4, 8], "x": 8.25, "y": 4},
+                {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 4},
+                {"label": "K4A", "matrix": [4, 10], "x": 10.25, "y": 4},
+                {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 4},
+                {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+                {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4},
+                {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4},
+
+                {"label": "K50", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+                {"label": "K51", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+                {"label": "K52", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+                {"label": "K55", "matrix": [5, 5], "x": 3.75, "y": 5, "w": 5.25},
+                {"label": "K58", "matrix": [5, 8], "x": 9, "y": 5},
+                {"label": "K59", "matrix": [5, 9], "x": 10, "y": 5},
+                {"label": "K5A", "matrix": [5, 10], "x": 11, "y": 5},
+                {"label": "K5B", "matrix": [5, 11], "x": 12, "y": 5},
+                {"label": "K5C", "matrix": [5, 12], "x": 13, "y": 5},
+                {"label": "K5D", "matrix": [5, 13], "x": 14, "y": 5},
+                {"label": "K5E", "matrix": [5, 14], "x": 15, "y": 5}
             ]
         }
     }

+ 45 - 44
keyboards/arabica37/rev1/info.json

@@ -24,58 +24,59 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"Esc", "x":0.25, "y":0.75},
-                {"label":"Q", "x":1.25, "y":0.75},
-                {"label":"W", "x":2.25, "y":0.25},
-                {"label":"E", "x":3.25, "y":0},
-                {"label":"R", "x":4.25, "y":0.25},
-                {"label":"T", "x":5.25, "y":0.5},
+                {"matrix": [0, 0], "x": 0.25, "y": 0.75},
+                {"matrix": [0, 1], "x": 1.25, "y": 0.75},
+                {"matrix": [0, 2], "x": 2.25, "y": 0.25},
+                {"matrix": [0, 3], "x": 3.25, "y": 0},
+                {"matrix": [0, 4], "x": 4.25, "y": 0.25},
+                {"matrix": [0, 5], "x": 5.25, "y": 0.5},
 
-                {"label":"Y", "x":9, "y":0.5},
-                {"label":"U", "x":10, "y":0.25},
-                {"label":"I", "x":11, "y":0},
-                {"label":"O", "x":12, "y":0.25},
-                {"label":"P", "x":13, "y":0.75},
-                {"label":"Backspace", "x":14, "y":0.75},
+                {"matrix": [4, 5], "x": 9, "y": 0.5},
+                {"matrix": [4, 4], "x": 10, "y": 0.25},
+                {"matrix": [4, 3], "x": 11, "y": 0},
+                {"matrix": [4, 2], "x": 12, "y": 0.25},
+                {"matrix": [4, 1], "x": 13, "y": 0.75},
+                {"matrix": [4, 0], "x": 14, "y": 0.75},
 
-                {"label":"Ctrl", "x":0.25, "y":1.75},
-                {"label":"A", "x":1.25, "y":1.75},
-                {"label":"S", "x":2.25, "y":1.25},
-                {"label":"D", "x":3.25, "y":1},
-                {"label":"F", "x":4.25, "y":1.25},
-                {"label":"G", "x":5.25, "y":1.5},
+                {"matrix": [1, 0], "x": 0.25, "y": 1.75},
+                {"matrix": [1, 1], "x": 1.25, "y": 1.75},
+                {"matrix": [1, 2], "x": 2.25, "y": 1.25},
+                {"matrix": [1, 3], "x": 3.25, "y": 1},
+                {"matrix": [1, 4], "x": 4.25, "y": 1.25},
+                {"matrix": [1, 5], "x": 5.25, "y": 1.5},
 
-                {"label":"H", "x":9, "y":1.5},
-                {"label":"J", "x":10, "y":1.25},
-                {"label":"K", "x":11, "y":1},
-                {"label":"L", "x":12, "y":1.25},
-                {"label":";", "x":13, "y":1.75},
-                {"label":"'", "x":14, "y":1.75},
+                {"matrix": [5, 5], "x": 9, "y": 1.5},
+                {"matrix": [5, 4], "x": 10, "y": 1.25},
+                {"matrix": [5, 3], "x": 11, "y": 1},
+                {"matrix": [5, 2], "x": 12, "y": 1.25},
+                {"matrix": [5, 1], "x": 13, "y": 1.75},
+                {"matrix": [5, 0], "x": 14, "y": 1.75},
 
-                {"label":"Adjust", "x":0.25, "y":2.75},
-                {"label":"Z", "x":1.25, "y":2.75},
-                {"label":"X", "x":2.25, "y":2.25},
-                {"label":"C", "x":3.25, "y":2},
-                {"label":"V", "x":4.25, "y":2.25},
-                {"label":"B", "x":5.25, "y":2.5},
+                {"matrix": [2, 0], "x": 0.25, "y": 2.75},
+                {"matrix": [2, 1], "x": 1.25, "y": 2.75},
+                {"matrix": [2, 2], "x": 2.25, "y": 2.25},
+                {"matrix": [2, 3], "x": 3.25, "y": 2},
+                {"matrix": [2, 4], "x": 4.25, "y": 2.25},
+                {"matrix": [2, 5], "x": 5.25, "y": 2.5},
 
-                {"label":"N", "x":9, "y":2.5},
-                {"label":"M", "x":10, "y":2.25},
-                {"label":",", "x":11, "y":2},
-                {"label":".", "x":12, "y":2.25},
-                {"label":"/", "x":13, "y":2.75},
-                {"label":"\\", "x":14, "y":2.75},
+                {"matrix": [6, 5], "x": 9, "y": 2.5},
+                {"matrix": [6, 4], "x": 10, "y": 2.25},
+                {"matrix": [6, 3], "x": 11, "y": 2},
+                {"matrix": [6, 2], "x": 12, "y": 2.25},
+                {"matrix": [6, 1], "x": 13, "y": 2.75},
+                {"matrix": [6, 0], "x": 14, "y": 2.75},
 
-                {"label":"Shift", "x":0, "y":3.75, "w":2.25},
-                {"label":"Lower", "x":4.375, "y":3.75, "w":1.5},
-                {"label":"GUI", "x":5.875, "y":3.75, "w":1.25},
+                {"matrix": [3, 0], "x": 0, "y": 3.75, "w": 2.25},
+                {"matrix": [3, 4], "x": 4.375, "y": 3.75, "w": 1.5},
+                {"matrix": [3, 5], "x": 5.875, "y": 3.75, "w": 1.25},
 
-                {"label":"Alt", "x":8.125, "y":3.75, "w":1.25},
-                {"label":"Raise", "x":9.375, "y":3.75, "w":1.5},
-                {"label":"Shift", "x":13, "y":3.75, "w":2.25},
+                {"matrix": [7, 5], "x": 8.125, "y": 3.75, "w": 1.25},
+                {"matrix": [7, 4], "x": 9.375, "y": 3.75, "w": 1.5},
+                {"matrix": [7, 0], "x": 13, "y": 3.75, "w": 2.25},
 
-                {"label":"Space", "x":5.125, "y":4.75, "w":1.25},
-                {"label":"Enter", "x":8.875, "y":4.75, "w":1.25}
+                {"matrix": [3, 3], "x": 5.125, "y": 4.75, "w": 1.25},
+
+                {"matrix": [7, 3], "x": 8.875, "y": 4.75, "w": 1.25}
             ]
         }
     }

+ 0 - 21
keyboards/arabica37/rev1/rev1.h

@@ -1,21 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
- L26,                L31, L32,           R26, R30,                R32, \
-                       L30,                 R31                        \
-  ) \
-  { \
-    { L00, L01, L02, L03, L04, L05 }, \
-    { L10, L11, L12, L13, L14, L15 }, \
-    { L20, L21, L22, L23, L24, L25 }, \
-    { L26, KC_NO, KC_NO, L30, L31, L32 }, \
-    { R05, R04, R03, R02, R01, R00 }, \
-    { R15, R14, R13, R12, R11, R10 }, \
-    { R25, R24, R23, R22, R21, R20 }, \
-    { R32, KC_NO, KC_NO, R31, R30, R26 } \
-  }

+ 0 - 42
keyboards/arisu/arisu.h

@@ -1,42 +0,0 @@
-/* Copyright 2019 Fate
- *
- * 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 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 XXX KC_NO
-#define LAYOUT( \
-	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \
-	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      k2E, \
-	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,           k3E, \
-	k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,           \
-	k40,      k42,      k44, k45,      k47,      k49,           k4C, k4D, k4E       \
-) \
-{ \
-	{ k00,   k01,   k02,   k03,   k04,   k05,   k06,   k07,   k08,   k09,   k0A,   k0B,   k0C,   k0D,   k0E }, \
-	{ k10,   k11,   k12,   k13,   k14,   k15,   k16,   k17,   k18,   k19,   k1A,   k1B,   k1C,   k1D,   k1E }, \
-	{ k20,   k21,   k22,   k23,   k24,   k25,   k26,   k27,   k28,   k29,   k2A,   k2B,   k2C,   XXX, k2E }, \
-	{ k30,   k31,   k32,   k33,   k34,   k35,   k36,   k37,   k38,   k39,   k3A,   k3B,   XXX, k3D,   k3E }, \
-	{ k40,   XXX, k42,   XXX, k44,   k45,   XXX, k47,   XXX, k49,   XXX, XXX, k4C,   k4D,   k4E } \
-}

+ 76 - 67
keyboards/arisu/info.json

@@ -18,77 +18,86 @@
     "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":9, "y":0},
-                {"x":10, "y":0},
-                {"x":11, "y":0},
-                {"x":12, "y":0},
-                {"x":13, "y":0},
-                {"x":14, "y":0},
-                {"x":15, "y":0},
-                {"x":16, "y":0},
-                {"x":17.3, "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},
 
-                {"x":0, "y":1, "w":1.5},
-                {"x":1.5, "y":1},
-                {"x":2.5, "y":1},
-                {"x":3.5, "y":1},
-                {"x":4.5, "y":1},
-                {"x":5.5, "y":1},
-                {"x":8.5, "y":1},
-                {"x":9.5, "y":1},
-                {"x":10.5, "y":1},
-                {"x":11.5, "y":1},
-                {"x":12.5, "y":1},
-                {"x":13.5, "y":1},
-                {"x":14.5, "y":1},
-                {"x":15.5, "y":1, "w":1.5},
-                {"x":17.3, "y":1},
+                {"matrix": [0, 7], "x": 9, "y": 0},
+                {"matrix": [0, 8], "x": 10, "y": 0},
+                {"matrix": [0, 9], "x": 11, "y": 0},
+                {"matrix": [0, 10], "x": 12, "y": 0},
+                {"matrix": [0, 11], "x": 13, "y": 0},
+                {"matrix": [0, 12], "x": 14, "y": 0},
+                {"matrix": [0, 13], "x": 15, "y": 0},
+                {"matrix": [0, 14], "x": 16, "y": 0},
 
-                {"x":0, "y":2, "w":1.75},
-                {"x":1.75, "y":2},
-                {"x":2.75, "y":2},
-                {"x":3.75, "y":2},
-                {"x":4.75, "y":2},
-                {"x":5.75, "y":2},
-                {"x":8.75, "y":2},
-                {"x":9.75, "y":2},
-                {"x":10.75, "y":2},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2},
-                {"x":13.75, "y":2},
-                {"x":14.75, "y":2, "w":2.25},
-                {"x":17.3, "y":2},
+                {"matrix": [1, 14], "x": 17.3, "y": 0},
 
-                {"x":0, "y":3, "w":2.25},
-                {"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":9.25, "y":3},
-                {"x":10.25, "y":3},
-                {"x":11.25, "y":3},
-                {"x":12.25, "y":3},
-                {"x":13.25, "y":3},
-                {"x":14.25, "y":3, "w":1.75},
-                {"x":16.3, "y":3.25},
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
 
-                {"x":0, "y":4, "w":1.5},
-                {"x":3.25, "y":4, "w":1.5},
-                {"x":4.75, "y":4, "w":2},
-                {"x":6.75, "y":4, "w":1.25},
-                {"x":8.75, "y":4, "w":2.75},
-                {"x":11.5, "y":4, "w":1.5},
-                {"x":15.3, "y":4.25},
-                {"x":16.3, "y":4.25},
-                {"x":17.3, "y":4.25}
+                {"matrix": [1, 6], "x": 8.5, "y": 1},
+                {"matrix": [1, 7], "x": 9.5, "y": 1},
+                {"matrix": [1, 8], "x": 10.5, "y": 1},
+                {"matrix": [1, 9], "x": 11.5, "y": 1},
+                {"matrix": [1, 10], "x": 12.5, "y": 1},
+                {"matrix": [1, 11], "x": 13.5, "y": 1},
+                {"matrix": [1, 12], "x": 14.5, "y": 1},
+                {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 14], "x": 17.3, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "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, 14], "x": 17.3, "y": 2},
+
+                {"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": 9.25, "y": 3},
+                {"matrix": [3, 7], "x": 10.25, "y": 3},
+                {"matrix": [3, 8], "x": 11.25, "y": 3},
+                {"matrix": [3, 9], "x": 12.25, "y": 3},
+                {"matrix": [3, 10], "x": 13.25, "y": 3},
+                {"matrix": [3, 11], "x": 14.25, "y": 3, "w": 1.75},
+
+                {"matrix": [3, 13], "x": 16.3, "y": 3.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 2], "x": 3.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 6.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 7], "x": 8.75, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.5, "y": 4, "w": 1.5},
+
+                {"matrix": [4, 12], "x": 15.3, "y": 4.25},
+                {"matrix": [4, 13], "x": 16.3, "y": 4.25},
+                {"matrix": [4, 14], "x": 17.3, "y": 4.25}
             ]
         }
     }

+ 1 - 1
keyboards/at_at/660m/660m.c

@@ -1,4 +1,4 @@
-#include "660m.h"
+#include "quantum.h"
 
 void board_init(void) {
   SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;

+ 0 - 19
keyboards/at_at/660m/660m.h

@@ -1,19 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define KNO KC_NO
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D,      k0F, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      k1F, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      k3E, \
-    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D, k4E, k4F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, KNO, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, KNO, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, KNO, k2D, KNO, KNO }, \
-    { k30, KNO, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, KNO, k3E, KNO }, \
-    { k40, k41, k42, KNO, KNO, KNO, k46, KNO, KNO, KNO, k4A, k4B, k4C, k4D, k4E, k4F }  \
-}

+ 72 - 5
keyboards/at_at/660m/info.json

@@ -18,11 +18,78 @@
     "layouts": {
         "LAYOUT": {
             "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":"Backspace", "x":13, "y":0, "w":2}, {"label":"Ins", "x":15.5, "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":"Del", "x":15.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":"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":2.25}, {"label":"&uarr;", "x":14.5, "y":3},
-                {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":6.25}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Fn", "x":11, "y":4, "w":1.25}, {"label":"Ctrl", "x":12.25, "y":4, "w":1.25}, {"label":"&larr;", "x":13.5, "y":4}, {"label":"&darr;", "x":14.5, "y":4}, {"label":"&rarr;", "x":15.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, "w": 2},
+
+                {"matrix": [0, 15], "x": 15.5, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+                {"matrix": [1, 6], "x": 6.5, "y": 1},
+                {"matrix": [1, 7], "x": 7.5, "y": 1},
+                {"matrix": [1, 8], "x": 8.5, "y": 1},
+                {"matrix": [1, 9], "x": 9.5, "y": 1},
+                {"matrix": [1, 10], "x": 10.5, "y": 1},
+                {"matrix": [1, 11], "x": 11.5, "y": 1},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+
+                {"matrix": [1, 15], "x": 15.5, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+                {"matrix": [2, 6], "x": 6.75, "y": 2},
+                {"matrix": [2, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+                {"matrix": [2, 9], "x": 9.75, "y": 2},
+                {"matrix": [2, 10], "x": 10.75, "y": 2},
+                {"matrix": [2, 11], "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, 12], "x": 12.25, "y": 3, "w": 2.25},
+                {"matrix": [3, 14], "x": 14.5, "y": 3},
+
+                {"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, "w": 1.25},
+                {"matrix": [4, 6], "x": 3.5, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 9.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.5, "y": 4},
+                {"matrix": [4, 14], "x": 14.5, "y": 4},
+                {"matrix": [4, 15], "x": 15.5, "y": 4}
             ]
         }
     }

+ 1 - 1
keyboards/atlantis/ak81_ve/ak81_ve.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
-#include "ak81_ve.h"
+#include "quantum.h"
 
 #ifdef RGB_MATRIX_ENABLE
 led_config_t g_led_config = { {

+ 0 - 34
keyboards/atlantis/ak81_ve/ak81_ve.h

@@ -1,34 +0,0 @@
-/* Copyright 2022 @fOmey
- *
- * 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( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008,       K010, K011, K012, K013, K014, \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
-	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
-	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       K314, \
-	K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, \
-	K500, K501, K502,                   K506,                   K510, K511, K512, K513, K514  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  KC_NO, K010,  K011,  K012,  K013,  K014 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \
-	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO, K314 }, \
-	{ K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414 }, \
-	{ K500,  K501,  K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  K512,  K513,  K514 } \
-}

+ 96 - 81
keyboards/atlantis/ak81_ve/info.json

@@ -32,87 +32,102 @@
     "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.5, "y": 0 },
-                { "label": "F6", "x": 7.5, "y": 0 },
-                { "label": "F7", "x": 8.5, "y": 0 },
-                { "label": "F8", "x": 9.5, "y": 0 },
-                { "label": "F9", "x": 11, "y": 0 },
-                { "label": "F10", "x": 12, "y": 0 },
-                { "label": "F11", "x": 13, "y": 0 },
-                { "label": "F12", "x": 14, "y": 0 },
-                { "label": "Del", "x": 16.25, "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", "w": 2, "x": 13, "y": 1 },
-                { "label": "Home", "x": 16.25, "y": 1 },
-                { "label": "Tab", "w": 1.5, "x": 0, "y": 2 },
-                { "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": "|", "w": 1.5, "x": 13.5, "y": 2 },
-                { "label": "PageUp", "x": 16.25, "y": 2 },
-                { "label": "Capslock", "w": 1.75, "x": 0, "y": 3 },
-                { "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", "w": 2.25, "x": 12.75, "y": 3 },
-                { "label": "PageDown", "x": 16.25, "y": 3 },
-                { "label": "Shift", "w": 2.25, "x": 0, "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", "w": 1.75, "x": 12.25, "y": 4 },
-                { "label": "Up", "x": 14.25, "y": 4.25 },
-                { "label": "End", "x": 16.25, "y": 4 },
-                { "label": "Ctrl", "w": 1.25, "x": 0, "y": 5 },
-                { "label": "Win", "w": 1.25, "x": 1.25, "y": 5 },
-                { "label": "Alt", "w": 1.25, "x": 2.5, "y": 5 },
-                { "w": 6.25, "x": 3.75, "y": 5 },
-                { "label": "Alt", "w": 1.25, "x": 10, "y": 5 },
-                { "label": "Fn", "w": 1.25, "x": 11.25, "y": 5 },
-                { "label": "Left", "x": 13.25, "y": 5.25 },
-                { "label": "Down", "x": 14.25, "y": 5.25 },
-                { "label": "Right", "x": 15.25, "y": 5.25 }
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 1], "x": 2, "y": 0},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 3], "x": 4, "y": 0},
+                {"matrix": [0, 4], "x": 5, "y": 0},
+
+                {"matrix": [0, 5], "x": 6.5, "y": 0},
+                {"matrix": [0, 6], "x": 7.5, "y": 0},
+                {"matrix": [0, 7], "x": 8.5, "y": 0},
+                {"matrix": [0, 8], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 10], "x": 11, "y": 0},
+                {"matrix": [0, 11], "x": 12, "y": 0},
+                {"matrix": [0, 12], "x": 13, "y": 0},
+                {"matrix": [0, 13], "x": 14, "y": 0},
+
+                {"matrix": [0, 14], "x": 16.25, "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": [1, 12], "x": 12, "y": 1},
+                {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+
+                {"matrix": [1, 14], "x": 16.25, "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": 16.25, "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, 12], "x": 12.75, "y": 3, "w": 2.25},
+
+                {"matrix": [3, 14], "x": 16.25, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+                {"matrix": [4, 1], "x": 2.25, "y": 4},
+                {"matrix": [4, 2], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [4, 4], "x": 5.25, "y": 4},
+                {"matrix": [4, 5], "x": 6.25, "y": 4},
+                {"matrix": [4, 6], "x": 7.25, "y": 4},
+                {"matrix": [4, 7], "x": 8.25, "y": 4},
+                {"matrix": [4, 8], "x": 9.25, "y": 4},
+                {"matrix": [4, 9], "x": 10.25, "y": 4},
+                {"matrix": [4, 10], "x": 11.25, "y": 4},
+                {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75},
+
+                {"matrix": [4, 13], "x": 14.25, "y": 4.25},
+
+                {"matrix": [4, 14], "x": 16.25, "y": 4},
+
+                {"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, 6], "x": 3.75, "y": 5, "w": 6.25},
+                {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
+                {"matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
+
+                {"matrix": [5, 12], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 13], "x": 14.25, "y": 5.25},
+                {"matrix": [5, 14], "x": 15.25, "y": 5.25}
             ]
         }
     }

+ 0 - 50
keyboards/atlas_65/atlas_65.h

@@ -1,50 +0,0 @@
-/* Copyright 2020 Joshua Nguyen
- *
- * 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
-
-/*                                                                        ┌───┐
- *    ┌───┬───┬───┬───┬───┬───┬───┐      ┌───┬───┬───┬───┬───┬───┬───┬───┐│1E │     ┌───────┐
- *    │00 │01 │02 │03 │04 │05 │06 │      │07 │08 │09 │0A │0B │0C │0D │0E │└┬──┴┐    │0D     │ 2u Backspace
- *   ┌┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘     ┌┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴───┴┐│2E │    └───────┘
- *   │10   │11 │12 │13 │14 │15 │        │16 │17 │18 │19 │1A │1B │1C │1D   │└┬──┴┐
- *  ┌┴─────┼───┼───┼───┼───┼───┤        └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┴┐│3E │
- *  │20    │21 │22 │23 │24 │25 │          │26 │27 │28 │29 │2A │2B │2C      │└───┘
- * ┌┴──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐       ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
- * │30      │31 │32 │33 │34 │35 │       │46 │36 │37 │38 │39 │3A │3B    │┌───┐
- * ├─────┬──┴───┼───┴─┬─┴───┴─┬─┴─┐   ┌─┴───┴───┴┬──┴──┬┴───┴───┴──────┘│3D │
- * │40   │      │42   │44     │45 │   │47        │49   │            ┌───┼───┼───┐
- * └─────┘      └─────┴───────┴───┘   └──────────┴─────┘            │4C │4D │4E │
- *                                                                  └───┴───┴───┘
- */
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06,             k07, k08, k09, k0A, k0B, k0C, k0D,   k1E, \
-    k10, k11, k12, k13, k14, k15,             k16, k17, k18, k19, k1A, k1B, k1C, k1D,   k2E, \
-    k20, k21, k22, k23, k24, k25,             k26, k27, k28, k29, k2A, k2B,      k2C,   k3E, \
-    k30, k31, k32, k33, k34, k35,        k46, k36, k37, k38, k39, k3A, k3B,        k3D,      \
-    k40,      k42,      k44, k45,        k47,      k49,                       k4C, k4D, k4E  \
-) \
-{ \
-    { k00,   k01,   k02,   k03,   k04,   k05,   k06,   k07,   k08,   k09,   k0A,   k0B,   k0C,   k0D,   XXX }, \
-    { k10,   k11,   k12,   k13,   k14,   k15,   k16,   k17,   k18,   k19,   k1A,   k1B,   k1C,   k1D,   k1E }, \
-    { k20,   k21,   k22,   k23,   k24,   k25,   k26,   k27,   k28,   k29,   k2A,   k2B,   k2C,   XXX,   k2E }, \
-    { k30,   k31,   k32,   k33,   k34,   k35,   k36,   k37,   k38,   k39,   k3A,   k3B,   XXX,   k3D,   k3E }, \
-    { k40,   XXX,   k42,   XXX,   k44,   k45,   k46,   k47,   XXX,   k49,   XXX,   XXX,   k4C,   k4D,   k4E }  \
-}

+ 75 - 67
keyboards/atlas_65/info.json

@@ -18,77 +18,85 @@
     "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":9, "y":0},
-                {"x":10, "y":0},
-                {"x":11, "y":0},
-                {"x":12, "y":0},
-                {"x":13, "y":0},
-                {"x":14, "y":0},
-                {"x":15, "y":0, "w":2},
-                {"x":17.3, "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},
 
-                {"x":0, "y":1, "w":1.5},
-                {"x":1.5, "y":1},
-                {"x":2.5, "y":1},
-                {"x":3.5, "y":1},
-                {"x":4.5, "y":1},
-                {"x":5.5, "y":1},
-                {"x":8.5, "y":1},
-                {"x":9.5, "y":1},
-                {"x":10.5, "y":1},
-                {"x":11.5, "y":1},
-                {"x":12.5, "y":1},
-                {"x":13.5, "y":1},
-                {"x":14.5, "y":1},
-                {"x":15.5, "y":1, "w":1.5},
-                {"x":17.3, "y":1},
+                {"matrix": [0, 7], "x": 9, "y": 0},
+                {"matrix": [0, 8], "x": 10, "y": 0},
+                {"matrix": [0, 9], "x": 11, "y": 0},
+                {"matrix": [0, 10], "x": 12, "y": 0},
+                {"matrix": [0, 11], "x": 13, "y": 0},
+                {"matrix": [0, 12], "x": 14, "y": 0},
+                {"matrix": [0, 13], "x": 15, "y": 0, "w": 2},
 
-                {"x":0, "y":2, "w":1.75},
-                {"x":1.75, "y":2},
-                {"x":2.75, "y":2},
-                {"x":3.75, "y":2},
-                {"x":4.75, "y":2},
-                {"x":5.75, "y":2},
-                {"x":8.75, "y":2},
-                {"x":9.75, "y":2},
-                {"x":10.75, "y":2},
-                {"x":11.75, "y":2},
-                {"x":12.75, "y":2},
-                {"x":13.75, "y":2},
-                {"x":14.75, "y":2, "w":2.25},
-                {"x":17.3, "y":2},
+                {"matrix": [1, 14], "x": 17.3, "y": 0},
 
-                {"x":0, "y":3, "w":2.25},
-                {"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":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":13.25, "y":3},
-                {"x":14.25, "y":3, "w":1.75},
-                {"x":16.3, "y":3.25},
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
 
-                {"x":0, "y":4, "w":1.5},
-                {"x":3.25, "y":4, "w":1.5},
-                {"x":4.75, "y":4, "w":2},
-                {"x":6.75, "y":4, "w":1.25},
-                {"x":8.75, "y":4, "w":2.75},
-                {"x":11.5, "y":4, "w":1.5},
-                {"x":15.3, "y":4.25},
-                {"x":16.3, "y":4.25},
-                {"x":17.3, "y":4.25}
+                {"matrix": [1, 6], "x": 8.5, "y": 1},
+                {"matrix": [1, 7], "x": 9.5, "y": 1},
+                {"matrix": [1, 8], "x": 10.5, "y": 1},
+                {"matrix": [1, 9], "x": 11.5, "y": 1},
+                {"matrix": [1, 10], "x": 12.5, "y": 1},
+                {"matrix": [1, 11], "x": 13.5, "y": 1},
+                {"matrix": [1, 12], "x": 14.5, "y": 1},
+                {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 14], "x": 17.3, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "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, 14], "x": 17.3, "y": 2},
+
+                {"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": [4, 6], "x": 8.25, "y": 3},
+                {"matrix": [3, 6], "x": 9.25, "y": 3},
+                {"matrix": [3, 7], "x": 10.25, "y": 3},
+                {"matrix": [3, 8], "x": 11.25, "y": 3},
+                {"matrix": [3, 9], "x": 12.25, "y": 3},
+                {"matrix": [3, 10], "x": 13.25, "y": 3},
+                {"matrix": [3, 11], "x": 14.25, "y": 3, "w": 1.75},
+
+                {"matrix": [3, 13], "x": 16.3, "y": 3.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 2], "x": 3.25, "y": 4, "w": 1.5},
+                {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 2},
+                {"matrix": [4, 5], "x": 6.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 7], "x": 8.75, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 11.5, "y": 4, "w": 1.5},
+
+                {"matrix": [4, 12], "x": 15.3, "y": 4.25},
+                {"matrix": [4, 13], "x": 16.3, "y": 4.25},
+                {"matrix": [4, 14], "x": 17.3, "y": 4.25}
             ]
         }
     }

+ 0 - 21
keyboards/atreus62/atreus62.h

@@ -1,21 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#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, k46, k47, k48, k49, k4a, k4b, k4c, k4d \
-) \
-{ \
-    { k00, k01, k02, k03, k04, k05, KC_NO, k06, k07, k08, k09, k0a, k0b }, \
-    { k10, k11, k12, k13, k14, k15, KC_NO, k16, k17, k18, k19, k1a, k1b }, \
-    { k20, k21, k22, k23, k24, k25, KC_NO, k26, k27, k28, k29, k2a, k2b }, \
-    { k30, k31, k32, k33, k34, k35, k46,   k36, k37, k38, k39, k3a, k3b }, \
-    { k40, k41, k42, k43, k44, k45, k47,   k48, k49, k4a, k4b, k4c, k4d } \
-}

+ 73 - 1
keyboards/atreus62/info.json

@@ -17,7 +17,79 @@
   "bootloader": "caterina",
   "layouts": {
     "LAYOUT": {
-      "layout": [{"x":0, "y":0.6}, {"x":1, "y":0.6}, {"x":2, "y":0.35}, {"x":3, "y":0}, {"x":4, "y":0.35}, {"x":5, "y":0.7}, {"x":9, "y":0.7}, {"x":10, "y":0.35}, {"x":11, "y":0}, {"x":12, "y":0.35}, {"x":13, "y":0.6}, {"x":14, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.6}, {"x":2, "y":1.35}, {"x":3, "y":1}, {"x":4, "y":1.35}, {"x":5, "y":1.7}, {"x":9, "y":1.7}, {"x":10, "y":1.35}, {"x":11, "y":1}, {"x":12, "y":1.35}, {"x":13, "y":1.6}, {"x":14, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.6}, {"x":2, "y":2.35}, {"x":3, "y":2}, {"x":4, "y":2.35}, {"x":5, "y":2.7}, {"x":9, "y":2.7}, {"x":10, "y":2.35}, {"x":11, "y":2}, {"x":12, "y":2.35}, {"x":13, "y":2.6}, {"x":14, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.6}, {"x":2, "y":3.35}, {"x":3, "y":3}, {"x":4, "y":3.35}, {"x":5, "y":3.7}, {"x":9, "y":3.7}, {"x":10, "y":3.35}, {"x":11, "y":3}, {"x":12, "y":3.35}, {"x":13, "y":3.6}, {"x":14, "y":3.6}, {"x":0, "y":4.6}, {"x":1, "y":4.6}, {"x":2, "y":4.35}, {"x":3, "y":4}, {"x":4, "y":4.35}, {"x":5, "y":4.7}, {"x":6, "y":3.95, "h":1.5}, {"x":8, "y":3.95, "h":1.5}, {"x":9, "y":4.7}, {"x":10, "y":4.35}, {"x":11, "y":4}, {"x":12, "y":4.35}, {"x":13, "y":4.6}, {"x":14, "y":4.6}]
+      "layout": [
+        {"label": "k00", "matrix": [0, 0], "x": 0, "y": 0.6},
+        {"label": "k01", "matrix": [0, 1], "x": 1, "y": 0.6},
+        {"label": "k02", "matrix": [0, 2], "x": 2, "y": 0.35},
+        {"label": "k03", "matrix": [0, 3], "x": 3, "y": 0},
+        {"label": "k04", "matrix": [0, 4], "x": 4, "y": 0.35},
+        {"label": "k05", "matrix": [0, 5], "x": 5, "y": 0.7},
+
+        {"label": "k06", "matrix": [0, 7], "x": 9, "y": 0.7},
+        {"label": "k07", "matrix": [0, 8], "x": 10, "y": 0.35},
+        {"label": "k08", "matrix": [0, 9], "x": 11, "y": 0},
+        {"label": "k09", "matrix": [0, 10], "x": 12, "y": 0.35},
+        {"label": "k0a", "matrix": [0, 11], "x": 13, "y": 0.6},
+        {"label": "k0b", "matrix": [0, 12], "x": 14, "y": 0.6},
+
+        {"label": "k10", "matrix": [1, 0], "x": 0, "y": 1.6},
+        {"label": "k11", "matrix": [1, 1], "x": 1, "y": 1.6},
+        {"label": "k12", "matrix": [1, 2], "x": 2, "y": 1.35},
+        {"label": "k13", "matrix": [1, 3], "x": 3, "y": 1},
+        {"label": "k14", "matrix": [1, 4], "x": 4, "y": 1.35},
+        {"label": "k15", "matrix": [1, 5], "x": 5, "y": 1.7},
+
+        {"label": "k16", "matrix": [1, 7], "x": 9, "y": 1.7},
+        {"label": "k17", "matrix": [1, 8], "x": 10, "y": 1.35},
+        {"label": "k18", "matrix": [1, 9], "x": 11, "y": 1},
+        {"label": "k19", "matrix": [1, 10], "x": 12, "y": 1.35},
+        {"label": "k1a", "matrix": [1, 11], "x": 13, "y": 1.6},
+        {"label": "k1b", "matrix": [1, 12], "x": 14, "y": 1.6},
+
+        {"label": "k20", "matrix": [2, 0], "x": 0, "y": 2.6},
+        {"label": "k21", "matrix": [2, 1], "x": 1, "y": 2.6},
+        {"label": "k22", "matrix": [2, 2], "x": 2, "y": 2.35},
+        {"label": "k23", "matrix": [2, 3], "x": 3, "y": 2},
+        {"label": "k24", "matrix": [2, 4], "x": 4, "y": 2.35},
+        {"label": "k25", "matrix": [2, 5], "x": 5, "y": 2.7},
+
+        {"label": "k26", "matrix": [2, 7], "x": 9, "y": 2.7},
+        {"label": "k27", "matrix": [2, 8], "x": 10, "y": 2.35},
+        {"label": "k28", "matrix": [2, 9], "x": 11, "y": 2},
+        {"label": "k29", "matrix": [2, 10], "x": 12, "y": 2.35},
+        {"label": "k2a", "matrix": [2, 11], "x": 13, "y": 2.6},
+        {"label": "k2b", "matrix": [2, 12], "x": 14, "y": 2.6},
+
+        {"label": "k30", "matrix": [3, 0], "x": 0, "y": 3.6},
+        {"label": "k31", "matrix": [3, 1], "x": 1, "y": 3.6},
+        {"label": "k32", "matrix": [3, 2], "x": 2, "y": 3.35},
+        {"label": "k33", "matrix": [3, 3], "x": 3, "y": 3},
+        {"label": "k34", "matrix": [3, 4], "x": 4, "y": 3.35},
+        {"label": "k35", "matrix": [3, 5], "x": 5, "y": 3.7},
+
+        {"label": "k36", "matrix": [3, 7], "x": 9, "y": 3.7},
+        {"label": "k37", "matrix": [3, 8], "x": 10, "y": 3.35},
+        {"label": "k38", "matrix": [3, 9], "x": 11, "y": 3},
+        {"label": "k39", "matrix": [3, 10], "x": 12, "y": 3.35},
+        {"label": "k3a", "matrix": [3, 11], "x": 13, "y": 3.6},
+        {"label": "k3b", "matrix": [3, 12], "x": 14, "y": 3.6},
+
+        {"label": "k40", "matrix": [4, 0], "x": 0, "y": 4.6},
+        {"label": "k41", "matrix": [4, 1], "x": 1, "y": 4.6},
+        {"label": "k42", "matrix": [4, 2], "x": 2, "y": 4.35},
+        {"label": "k43", "matrix": [4, 3], "x": 3, "y": 4},
+        {"label": "k44", "matrix": [4, 4], "x": 4, "y": 4.35},
+        {"label": "k45", "matrix": [4, 5], "x": 5, "y": 4.7},
+        {"label": "k46", "matrix": [3, 6], "x": 6, "y": 3.95, "h": 1.5},
+
+        {"label": "k47", "matrix": [4, 6], "x": 8, "y": 3.95, "h": 1.5},
+        {"label": "k48", "matrix": [4, 7], "x": 9, "y": 4.7},
+        {"label": "k49", "matrix": [4, 8], "x": 10, "y": 4.35},
+        {"label": "k4a", "matrix": [4, 9], "x": 11, "y": 4},
+        {"label": "k4b", "matrix": [4, 10], "x": 12, "y": 4.35},
+        {"label": "k4c", "matrix": [4, 11], "x": 13, "y": 4.6},
+        {"label": "k4d", "matrix": [4, 12], "x": 14, "y": 4.6}
+]
     }
   }
 }

+ 69 - 60
keyboards/atreyu/rev1/info.json

@@ -32,66 +32,75 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"x":0, "y":0.5},
-                {"x":1, "y":0.375},
-                {"x":2, "y":0.125},
-                {"x":3, "y":0},
-                {"x":4, "y":0.125},
-                {"x":5, "y":0.25},
-                {"x":10.5, "y":0.25},
-                {"x":11.5, "y":0.125},
-                {"x":12.5, "y":0},
-                {"x":13.5, "y":0.125},
-                {"x":14.5, "y":0.375},
-                {"x":15.5, "y":0.5},
-                {"x":0, "y":1.5},
-                {"x":1, "y":1.375},
-                {"x":2, "y":1.125},
-                {"x":3, "y":1},
-                {"x":4, "y":1.125},
-                {"x":5, "y":1.25},
-                {"x":10.5, "y":1.25},
-                {"x":11.5, "y":1.125},
-                {"x":12.5, "y":1},
-                {"x":13.5, "y":1.125},
-                {"x":14.5, "y":1.375},
-                {"x":15.5, "y":1.5},
-                {"x":0, "y":2.5},
-                {"x":1, "y":2.375},
-                {"x":2, "y":2.125},
-                {"x":3, "y":2},
-                {"x":4, "y":2.125},
-                {"x":5, "y":2.25},
-                {"x":10.5, "y":2.25},
-                {"x":11.5, "y":2.125},
-                {"x":12.5, "y":2},
-                {"x":13.5, "y":2.125},
-                {"x":14.5, "y":2.375},
-                {"x":15.5, "y":2.5},
-                {"x":0, "y":3.5},
-                {"x":1, "y":3.375},
-                {"x":2, "y":3.125},
-                {"x":3, "y":3},
-                {"x":4, "y":3.125},
-                {"x":5, "y":3.25},
-                {"x":6, "y":2.75},
-                {"x":9.5, "y":2.75},
-                {"x":10.5, "y":3.25},
-                {"x":11.5, "y":3.125},
-                {"x":12.5, "y":3},
-                {"x":13.5, "y":3.125},
-                {"x":14.5, "y":3.375},
-                {"x":15.5, "y":3.5},
-                {"x":0, "y":4.5},
-                {"x":2.5, "y":4.125},
-                {"x":3.5, "y":4.15},
-                {"x":4.5, "y":4.25},
-                {"x":6, "y":4.25, "h":1.25},
-                {"x":9.5, "y":4.25, "h":1.25},
-                {"x":11, "y":4.25},
-                {"x":12, "y":4.15},
-                {"x":13, "y":4.125},
-                {"x": 15.5, "y": 4.5}
+                {"matrix": [0, 0], "x": 0, "y": 0.5},
+                {"matrix": [0, 1], "x": 1, "y": 0.375},
+                {"matrix": [0, 2], "x": 2, "y": 0.125},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0.125},
+                {"matrix": [0, 5], "x": 5, "y": 0.25},
+
+                {"matrix": [4, 5], "x": 10.5, "y": 0.25},
+                {"matrix": [4, 4], "x": 11.5, "y": 0.125},
+                {"matrix": [4, 3], "x": 12.5, "y": 0},
+                {"matrix": [4, 2], "x": 13.5, "y": 0.125},
+                {"matrix": [4, 1], "x": 14.5, "y": 0.375},
+                {"matrix": [4, 0], "x": 15.5, "y": 0.5},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.5},
+                {"matrix": [1, 1], "x": 1, "y": 1.375},
+                {"matrix": [1, 2], "x": 2, "y": 1.125},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1.125},
+                {"matrix": [1, 5], "x": 5, "y": 1.25},
+
+                {"matrix": [5, 5], "x": 10.5, "y": 1.25},
+                {"matrix": [5, 4], "x": 11.5, "y": 1.125},
+                {"matrix": [5, 3], "x": 12.5, "y": 1},
+                {"matrix": [5, 2], "x": 13.5, "y": 1.125},
+                {"matrix": [5, 1], "x": 14.5, "y": 1.375},
+                {"matrix": [5, 0], "x": 15.5, "y": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.5},
+                {"matrix": [2, 1], "x": 1, "y": 2.375},
+                {"matrix": [2, 2], "x": 2, "y": 2.125},
+                {"matrix": [2, 3], "x": 3, "y": 2},
+                {"matrix": [2, 4], "x": 4, "y": 2.125},
+                {"matrix": [2, 5], "x": 5, "y": 2.25},
+
+                {"matrix": [6, 5], "x": 10.5, "y": 2.25},
+                {"matrix": [6, 4], "x": 11.5, "y": 2.125},
+                {"matrix": [6, 3], "x": 12.5, "y": 2},
+                {"matrix": [6, 2], "x": 13.5, "y": 2.125},
+                {"matrix": [6, 1], "x": 14.5, "y": 2.375},
+                {"matrix": [6, 0], "x": 15.5, "y": 2.5},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.5},
+                {"matrix": [3, 1], "x": 1, "y": 3.375},
+                {"matrix": [3, 2], "x": 2, "y": 3.125},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3.125},
+                {"matrix": [3, 5], "x": 5, "y": 3.25},
+
+                {"matrix": [7, 5], "x": 6, "y": 2.75},
+                {"matrix": [7, 4], "x": 9.5, "y": 2.75},
+                {"matrix": [7, 3], "x": 10.5, "y": 3.25},
+                {"matrix": [7, 2], "x": 11.5, "y": 3.125},
+                {"matrix": [7, 1], "x": 12.5, "y": 3},
+                {"matrix": [7, 0], "x": 13.5, "y": 3.125},
+
+                {"matrix": [8, 0], "x": 14.5, "y": 3.375},
+                {"matrix": [8, 1], "x": 15.5, "y": 3.5},
+                {"matrix": [8, 2], "x": 0, "y": 4.5},
+                {"matrix": [8, 3], "x": 2.5, "y": 4.125},
+                {"matrix": [8, 4], "x": 3.5, "y": 4.15},
+                {"matrix": [8, 5], "x": 4.5, "y": 4.25},
+
+                {"matrix": [9, 5], "x": 6, "y": 4.25, "h": 1.25},
+                {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.25},
+                {"matrix": [9, 3], "x": 11, "y": 4.25},
+                {"matrix": [9, 2], "x": 12, "y": 4.15},
+                {"matrix": [9, 1], "x": 13, "y": 4.125},
+                {"matrix": [9, 0], "x": 15.5, "y": 4.5}
             ]
         }
     }

+ 1 - 1
keyboards/atreyu/rev1/rev1.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "rev1.h"
+#include "quantum.h"
 
 #ifdef ENCODER_ENABLE
 bool encoder_update_kb(uint8_t index, bool clockwise) {

+ 0 - 40
keyboards/atreyu/rev1/rev1.h

@@ -1,40 +0,0 @@
-/* Copyright 2022 Jesus Climent  (@climent)
- *
- * 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, k10, k11,\
-    k12, k13, k14, k15, k16, k17,             k18, k19, k20, k21, k22, k23,\
-    k24, k25, k26, k27, k28, k29,             k30, k31, k32, k33, k34, k35,\
-    k36, k37, k38, k39, k40, k41,             k42, k43, k44, k45, k46, k47,\
-    k48,      k49, k50, k51, k52, k53,   k54, k55, k56, k57, k58,      k59\
-) \
-{ \
-    { k00, k01, k02, k03, k04, k05 },\
-    { k12, k13, k14, k15, k16, k17 },\
-    { k24, k25, k26, k27, k28, k29 },\
-    { k36, k37, k38, k39, k40, k41 },\
-    { k11, k10, k09, k08, k07, k06 },\
-    { k23, k22, k21, k20, k19, k18 },\
-    { k35, k34, k33, k32, k31, k30 },\
-    { k47, k46, k45, k44, k43, k42 },\
-    { k48, k49, k50, k51, k52, k53 },\
-    { k59, k58, k57, k56, k55, k54 } \
-}
-

Some files were not shown because too many files changed in this diff