Browse Source

Move remaining `LAYOUT`s to data driven (#20422)

Ryan 3 years ago
parent
commit
a84528f853
100 changed files with 7006 additions and 7856 deletions
  1. 127 124
      keyboards/acheron/lasgweloth/info.json
  2. 0 53
      keyboards/acheron/lasgweloth/lasgweloth.h
  3. 0 51
      keyboards/al1/al1.h
  4. 196 195
      keyboards/al1/info.json
  5. 0 47
      keyboards/aozora/aozora.h
  6. 158 158
      keyboards/aozora/info.json
  7. 0 0
      keyboards/basekeys/slice/rev1/info.json
  8. 0 118
      keyboards/basekeys/slice/rev1/rev1.h
  9. 0 0
      keyboards/basekeys/slice/rev1_rgb/info.json
  10. 0 96
      keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h
  11. 0 70
      keyboards/beatervan/beatervan.h
  12. 206 193
      keyboards/beatervan/info.json
  13. 0 97
      keyboards/blaster75/blaster75.h
  14. 181 171
      keyboards/blaster75/info.json
  15. 93 1
      keyboards/buzzard/rev1/info.json
  16. 1 1
      keyboards/buzzard/rev1/rev1.c
  17. 0 52
      keyboards/buzzard/rev1/rev1.h
  18. 0 69
      keyboards/capsunlocked/cu75/cu75.h
  19. 0 0
      keyboards/capsunlocked/cu75/info.json
  20. 0 81
      keyboards/converter/ibm_terminal/ibm_terminal.h
  21. 266 228
      keyboards/converter/ibm_terminal/info.json
  22. 238 211
      keyboards/converter/xt_usb/info.json
  23. 0 134
      keyboards/converter/xt_usb/xt_usb.h
  24. 0 0
      keyboards/duck/jetfire/info.json
  25. 1 1
      keyboards/duck/jetfire/jetfire.c
  26. 0 58
      keyboards/duck/jetfire/jetfire.h
  27. 0 0
      keyboards/duck/tcv3/info.json
  28. 1 1
      keyboards/duck/tcv3/tcv3.c
  29. 0 53
      keyboards/duck/tcv3/tcv3.h
  30. 174 3
      keyboards/eve/meteor/info.json
  31. 0 54
      keyboards/eve/meteor/meteor.h
  32. 437 437
      keyboards/evyd13/plain60/info.json
  33. 0 114
      keyboards/evyd13/plain60/plain60.h
  34. 0 0
      keyboards/exclusive/e6v2/le/info.json
  35. 0 60
      keyboards/exclusive/e6v2/le/le.h
  36. 0 0
      keyboards/exclusive/e6v2/oe/info.json
  37. 1 1
      keyboards/exclusive/e6v2/oe/oe.c
  38. 0 61
      keyboards/exclusive/e6v2/oe/oe.h
  39. 535 538
      keyboards/gh60/revc/info.json
  40. 0 133
      keyboards/gh60/revc/revc.h
  41. 0 64
      keyboards/giabalanai/giabalanai.h
  42. 224 100
      keyboards/giabalanai/info.json
  43. 116 52
      keyboards/gl516/n51gl/info.json
  44. 0 54
      keyboards/gl516/n51gl/n51gl.h
  45. 181 181
      keyboards/gvalchca/spaccboard/info.json
  46. 0 66
      keyboards/gvalchca/spaccboard/spaccboard.h
  47. 160 5
      keyboards/handwired/jn68m/info.json
  48. 0 49
      keyboards/handwired/jn68m/jn68m.h
  49. 83 83
      keyboards/handwired/ms_sculpt_mobile/info.json
  50. 0 43
      keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h
  51. 583 590
      keyboards/handwired/qc60/info.json
  52. 0 195
      keyboards/handwired/qc60/proto/proto.h
  53. 0 0
      keyboards/handwired/sejin_eat1010r2/info.json
  54. 20 0
      keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c
  55. 0 74
      keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h
  56. 129 113
      keyboards/handwired/sono1/info.json
  57. 34 0
      keyboards/handwired/sono1/keymaps/debug/keymap.c
  58. 1 1
      keyboards/handwired/sono1/sono1.c
  59. 0 107
      keyboards/handwired/sono1/sono1.h
  60. 0 57
      keyboards/kagizaraya/chidori/chidori.h
  61. 138 8
      keyboards/kagizaraya/chidori/info.json
  62. 191 191
      keyboards/kc60/info.json
  63. 1 1
      keyboards/kc60/kc60.c
  64. 0 93
      keyboards/kc60/kc60.h
  65. 339 28
      keyboards/kc60se/info.json
  66. 1 1
      keyboards/kc60se/kc60se.c
  67. 0 93
      keyboards/kc60se/kc60se.h
  68. 0 57
      keyboards/keebsforall/freebird60/freebird60.h
  69. 0 0
      keyboards/keebsforall/freebird60/info.json
  70. 135 64
      keyboards/keyboardio/model01/info.json
  71. 0 39
      keyboards/keyboardio/model01/model01.h
  72. 1 1
      keyboards/keyprez/bison/bison.c
  73. 0 99
      keyboards/keyprez/bison/bison.h
  74. 300 283
      keyboards/keyprez/bison/info.json
  75. 0 18
      keyboards/keystonecaps/gameroyadvance/gameroyadvance.c
  76. 0 104
      keyboards/keystonecaps/gameroyadvance/gameroyadvance.h
  77. 190 203
      keyboards/keystonecaps/gameroyadvance/info.json
  78. 198 180
      keyboards/kin80/info.json
  79. 0 62
      keyboards/kin80/kin80.h
  80. 0 93
      keyboards/kinesis/alvicstep/alvicstep.h
  81. 183 1
      keyboards/kinesis/alvicstep/info.json
  82. 0 3
      keyboards/kinesis/info.json
  83. 183 1
      keyboards/kinesis/kint2pp/info.json
  84. 0 99
      keyboards/kinesis/kint2pp/kint2pp.h
  85. 183 1
      keyboards/kinesis/kint36/info.json
  86. 1 1
      keyboards/kinesis/kint36/kint36.c
  87. 0 92
      keyboards/kinesis/kint36/kint36.h
  88. 183 1
      keyboards/kinesis/kint41/info.json
  89. 1 1
      keyboards/kinesis/kint41/kint41.c
  90. 0 92
      keyboards/kinesis/kint41/kint41.h
  91. 183 1
      keyboards/kinesis/kintlc/info.json
  92. 1 1
      keyboards/kinesis/kintlc/kintlc.c
  93. 0 92
      keyboards/kinesis/kintlc/kintlc.h
  94. 183 1
      keyboards/kinesis/nguyenvietyen/info.json
  95. 0 74
      keyboards/kinesis/nguyenvietyen/nguyenvietyen.h
  96. 183 1
      keyboards/kinesis/stapelberg/info.json
  97. 0 98
      keyboards/kinesis/stapelberg/stapelberg.h
  98. 0 51
      keyboards/ktec/daisy/daisy.h
  99. 82 82
      keyboards/ktec/daisy/info.json
  100. 0 47
      keyboards/lazydesigners/dimpleplus/dimpleplus.h

+ 127 - 124
keyboards/acheron/lasgweloth/info.json

@@ -16,145 +16,148 @@
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
     "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift"],
+    "layout_aliases": {
+        "LAYOUT": "LAYOUT_60_ansi_split_bs_rshift"
+    },
     "layouts": {
         "LAYOUT_60_ansi": {
             "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},
+                {"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},
+                {"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":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":2.75},
+                {"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": 2.75},
 
-                {"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, "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}
+                {"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, 8], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "LAYOUT_60_ansi_split_bs_rshift": {
             "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},
+                {"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, 13], "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},
+                {"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},
+                {"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":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, "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": [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, 12], "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":6.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}
+                {"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, 8], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 13.75, "y": 4, "w": 1.25}
             ]
         }
     }

+ 0 - 53
keyboards/acheron/lasgweloth/lasgweloth.h

@@ -1,53 +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"
-
-// equivalent to LAYOUT_all
-#define LAYOUT_60_ansi_split_bs_rshift( \
-    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,      \
-    K30,      K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      \
-    K40, K41, K42,                K46,                K48, K49, K4A, K4B       \
-) { \
-    { 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, ___ }, \
-    { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ }  \
-}
-
-#define LAYOUT_60_ansi( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
-    K30,      K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A,      K3B, \
-    K40, K41, K42,                K46,                K48, K49, K4A, K4B  \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___ }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, ___ }, \
-    { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ }  \
-}
-
-#define LAYOUT LAYOUT_60_ansi_split_bs_rshift

+ 0 - 51
keyboards/al1/al1.h

@@ -1,51 +0,0 @@
-/* Copyright 2018 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"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k50, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,     k0D,     k0E, k0F, k4F, k4E, \
-    k51, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,     k1D,     k1E, k1F, k2F, k4D, \
-    k52, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,      k2B,              k2C, k2D, k2E, \
-    k53,      k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,     k3C,     k3D, k3E, k3F, k4C, \
-    k40, k41, k42,                k43,                k44, k45, k46,     k47, k48, k49,    k4A, k4B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
-}
-
-#define LAYOUT_split_bs( \
-    k50, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k5C, k0C,     k0D,     k0E, k0F, k4F, k4E, \
-    k51, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,          k1D,     k1E, k1F, k2F, k4D, \
-    k52, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,      k2B,                   k2C, k2D, k2E, \
-    k53,      k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,          k3C,     k3D, k3E, k3F, k4C, \
-    k40, k41, k42,                k43,                k44, k45, k46,          k47, k48, k49,     k4A, k4B \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k5C, XXX, XXX, XXX } \
-}

+ 196 - 195
keyboards/al1/info.json

@@ -23,206 +23,207 @@
     "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},
-
-                {"x": 15.25, "y": 0},
-
-                {"x": 16.5, "y": 0},
-                {"x": 17.5, "y": 0},
-                {"x": 18.5, "y": 0},
-                {"x": 19.5, "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": 15.25, "y": 1},
-
-                {"x": 16.5, "y": 1},
-                {"x": 17.5, "y": 1},
-                {"x": 18.5, "y": 1},
-                {"x": 19.5, "y": 1, "h": 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": 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": 16.5, "y": 2},
-                {"x": 17.5, "y": 2},
-                {"x": 18.5, "y": 2},
-
-                {"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, "y": 3},
-
-                {"x": 15.25, "y": 3.25},
-
-                {"x": 16.5, "y": 3},
-                {"x": 17.5, "y": 3},
-                {"x": 18.5, "y": 3},
-                {"x": 19.5, "y": 3, "h": 2},
-
-                {"x": 0, "y": 4, "w": 1.25},
-                {"x": 1.25, "y": 4},
-                {"x": 2.25, "y": 4, "w": 1.25},
-                {"x": 3.5, "y": 4, "w": 7},
-                {"x": 10.5, "y": 4, "w": 1.25},
-                {"x": 11.75, "y": 4},
-                {"x": 12.75, "y": 4, "w": 1.25},
-
-                {"x": 14.25, "y": 4.25},
-                {"x": 15.25, "y": 4.25},
-                {"x": 16.25, "y": 4.25},
-
-                {"x": 17.5, "y": 4},
-                {"x": 18.5, "y": 4}
+                {"matrix": [5, 0], "x": 0, "y": 0},
+                {"matrix": [0, 0], "x": 1, "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, "y": 0},
+                {"matrix": [0, 6], "x": 7, "y": 0},
+                {"matrix": [0, 7], "x": 8, "y": 0},
+                {"matrix": [0, 8], "x": 9, "y": 0},
+                {"matrix": [0, 9], "x": 10, "y": 0},
+                {"matrix": [0, 10], "x": 11, "y": 0},
+                {"matrix": [0, 11], "x": 12, "y": 0},
+                {"matrix": [0, 12], "x": 13, "y": 0, "w": 2},
+
+                {"matrix": [0, 13], "x": 15.25, "y": 0},
+
+                {"matrix": [0, 14], "x": 16.5, "y": 0},
+                {"matrix": [0, 15], "x": 17.5, "y": 0},
+                {"matrix": [4, 15], "x": 18.5, "y": 0},
+                {"matrix": [4, 14], "x": 19.5, "y": 0},
+
+                {"matrix": [5, 1], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 0], "x": 1.5, "y": 1},
+                {"matrix": [1, 1], "x": 2.5, "y": 1},
+                {"matrix": [1, 2], "x": 3.5, "y": 1},
+                {"matrix": [1, 3], "x": 4.5, "y": 1},
+                {"matrix": [1, 4], "x": 5.5, "y": 1},
+                {"matrix": [1, 5], "x": 6.5, "y": 1},
+                {"matrix": [1, 6], "x": 7.5, "y": 1},
+                {"matrix": [1, 7], "x": 8.5, "y": 1},
+                {"matrix": [1, 8], "x": 9.5, "y": 1},
+                {"matrix": [1, 9], "x": 10.5, "y": 1},
+                {"matrix": [1, 10], "x": 11.5, "y": 1},
+                {"matrix": [1, 11], "x": 12.5, "y": 1},
+                {"matrix": [1, 12], "x": 13.5, "y": 1, "w": 1.5},
+
+                {"matrix": [1, 13], "x": 15.25, "y": 1},
+
+                {"matrix": [1, 14], "x": 16.5, "y": 1},
+                {"matrix": [1, 15], "x": 17.5, "y": 1},
+                {"matrix": [2, 15], "x": 18.5, "y": 1},
+                {"matrix": [4, 13], "x": 19.5, "y": 1, "h": 2},
+
+                {"matrix": [5, 2], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 0], "x": 1.75, "y": 2},
+                {"matrix": [2, 1], "x": 2.75, "y": 2},
+                {"matrix": [2, 2], "x": 3.75, "y": 2},
+                {"matrix": [2, 3], "x": 4.75, "y": 2},
+                {"matrix": [2, 4], "x": 5.75, "y": 2},
+                {"matrix": [2, 5], "x": 6.75, "y": 2},
+                {"matrix": [2, 6], "x": 7.75, "y": 2},
+                {"matrix": [2, 7], "x": 8.75, "y": 2},
+                {"matrix": [2, 8], "x": 9.75, "y": 2},
+                {"matrix": [2, 9], "x": 10.75, "y": 2},
+                {"matrix": [2, 10], "x": 11.75, "y": 2},
+                {"matrix": [2, 11], "x": 12.75, "y": 2, "w": 2.25},
+
+                {"matrix": [2, 12], "x": 16.5, "y": 2},
+                {"matrix": [2, 13], "x": 17.5, "y": 2},
+                {"matrix": [2, 14], "x": 18.5, "y": 2},
+
+                {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 0], "x": 2.25, "y": 3},
+                {"matrix": [3, 1], "x": 3.25, "y": 3},
+                {"matrix": [3, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 3], "x": 5.25, "y": 3},
+                {"matrix": [3, 4], "x": 6.25, "y": 3},
+                {"matrix": [3, 5], "x": 7.25, "y": 3},
+                {"matrix": [3, 6], "x": 8.25, "y": 3},
+                {"matrix": [3, 7], "x": 9.25, "y": 3},
+                {"matrix": [3, 8], "x": 10.25, "y": 3},
+                {"matrix": [3, 9], "x": 11.25, "y": 3},
+                {"matrix": [3, 10], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 11], "x": 14, "y": 3},
+
+                {"matrix": [3, 12], "x": 15.25, "y": 3.25},
+
+                {"matrix": [3, 13], "x": 16.5, "y": 3},
+                {"matrix": [3, 14], "x": 17.5, "y": 3},
+                {"matrix": [3, 15], "x": 18.5, "y": 3},
+                {"matrix": [4, 12], "x": 19.5, "y": 3, "h": 2},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.5, "y": 4, "w": 7},
+                {"matrix": [4, 4], "x": 10.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 11.75, "y": 4},
+                {"matrix": [4, 6], "x": 12.75, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 7], "x": 14.25, "y": 4.25},
+                {"matrix": [4, 8], "x": 15.25, "y": 4.25},
+                {"matrix": [4, 9], "x": 16.25, "y": 4.25},
+
+                {"matrix": [4, 10], "x": 17.5, "y": 4},
+                {"matrix": [4, 11], "x": 18.5, "y": 4}
             ]
         },
         "LAYOUT_split_bs": {
             "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.25, "y": 0},
-
-                {"x": 16.5, "y": 0},
-                {"x": 17.5, "y": 0},
-                {"x": 18.5, "y": 0},
-                {"x": 19.5, "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": 15.25, "y": 1},
-
-                {"x": 16.5, "y": 1},
-                {"x": 17.5, "y": 1},
-                {"x": 18.5, "y": 1},
-                {"x": 19.5, "y": 1, "h": 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": 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": 16.5, "y": 2},
-                {"x": 17.5, "y": 2},
-                {"x": 18.5, "y": 2},
-
-                {"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, "y": 3},
-
-                {"x": 15.25, "y": 3.25},
-
-                {"x": 16.5, "y": 3},
-                {"x": 17.5, "y": 3},
-                {"x": 18.5, "y": 3},
-                {"x": 19.5, "y": 3, "h": 2},
-
-                {"x": 0, "y": 4, "w": 1.25},
-                {"x": 1.25, "y": 4},
-                {"x": 2.25, "y": 4, "w": 1.25},
-                {"x": 3.5, "y": 4, "w": 7},
-                {"x": 10.5, "y": 4, "w": 1.25},
-                {"x": 11.75, "y": 4},
-                {"x": 12.75, "y": 4, "w": 1.25},
-
-                {"x": 14.25, "y": 4.25},
-                {"x": 15.25, "y": 4.25},
-                {"x": 16.25, "y": 4.25},
-
-                {"x": 17.5, "y": 4},
-                {"x": 18.5, "y": 4}
+                {"matrix": [5, 0], "x": 0, "y": 0},
+                {"matrix": [0, 0], "x": 1, "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, "y": 0},
+                {"matrix": [0, 6], "x": 7, "y": 0},
+                {"matrix": [0, 7], "x": 8, "y": 0},
+                {"matrix": [0, 8], "x": 9, "y": 0},
+                {"matrix": [0, 9], "x": 10, "y": 0},
+                {"matrix": [0, 10], "x": 11, "y": 0},
+                {"matrix": [0, 11], "x": 12, "y": 0},
+                {"matrix": [5, 12], "x": 13, "y": 0},
+                {"matrix": [0, 12], "x": 14, "y": 0},
+
+                {"matrix": [0, 13], "x": 15.25, "y": 0},
+
+                {"matrix": [0, 14], "x": 16.5, "y": 0},
+                {"matrix": [0, 15], "x": 17.5, "y": 0},
+                {"matrix": [4, 15], "x": 18.5, "y": 0},
+                {"matrix": [4, 14], "x": 19.5, "y": 0},
+
+                {"matrix": [5, 1], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 0], "x": 1.5, "y": 1},
+                {"matrix": [1, 1], "x": 2.5, "y": 1},
+                {"matrix": [1, 2], "x": 3.5, "y": 1},
+                {"matrix": [1, 3], "x": 4.5, "y": 1},
+                {"matrix": [1, 4], "x": 5.5, "y": 1},
+                {"matrix": [1, 5], "x": 6.5, "y": 1},
+                {"matrix": [1, 6], "x": 7.5, "y": 1},
+                {"matrix": [1, 7], "x": 8.5, "y": 1},
+                {"matrix": [1, 8], "x": 9.5, "y": 1},
+                {"matrix": [1, 9], "x": 10.5, "y": 1},
+                {"matrix": [1, 10], "x": 11.5, "y": 1},
+                {"matrix": [1, 11], "x": 12.5, "y": 1},
+                {"matrix": [1, 12], "x": 13.5, "y": 1, "w": 1.5},
+
+                {"matrix": [1, 13], "x": 15.25, "y": 1},
+
+                {"matrix": [1, 14], "x": 16.5, "y": 1},
+                {"matrix": [1, 15], "x": 17.5, "y": 1},
+                {"matrix": [2, 15], "x": 18.5, "y": 1},
+                {"matrix": [4, 13], "x": 19.5, "y": 1, "h": 2},
+
+                {"matrix": [5, 2], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 0], "x": 1.75, "y": 2},
+                {"matrix": [2, 1], "x": 2.75, "y": 2},
+                {"matrix": [2, 2], "x": 3.75, "y": 2},
+                {"matrix": [2, 3], "x": 4.75, "y": 2},
+                {"matrix": [2, 4], "x": 5.75, "y": 2},
+                {"matrix": [2, 5], "x": 6.75, "y": 2},
+                {"matrix": [2, 6], "x": 7.75, "y": 2},
+                {"matrix": [2, 7], "x": 8.75, "y": 2},
+                {"matrix": [2, 8], "x": 9.75, "y": 2},
+                {"matrix": [2, 9], "x": 10.75, "y": 2},
+                {"matrix": [2, 10], "x": 11.75, "y": 2},
+                {"matrix": [2, 11], "x": 12.75, "y": 2, "w": 2.25},
+
+                {"matrix": [2, 12], "x": 16.5, "y": 2},
+                {"matrix": [2, 13], "x": 17.5, "y": 2},
+                {"matrix": [2, 14], "x": 18.5, "y": 2},
+
+                {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 0], "x": 2.25, "y": 3},
+                {"matrix": [3, 1], "x": 3.25, "y": 3},
+                {"matrix": [3, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 3], "x": 5.25, "y": 3},
+                {"matrix": [3, 4], "x": 6.25, "y": 3},
+                {"matrix": [3, 5], "x": 7.25, "y": 3},
+                {"matrix": [3, 6], "x": 8.25, "y": 3},
+                {"matrix": [3, 7], "x": 9.25, "y": 3},
+                {"matrix": [3, 8], "x": 10.25, "y": 3},
+                {"matrix": [3, 9], "x": 11.25, "y": 3},
+                {"matrix": [3, 10], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 11], "x": 14, "y": 3},
+
+                {"matrix": [3, 12], "x": 15.25, "y": 3.25},
+
+                {"matrix": [3, 13], "x": 16.5, "y": 3},
+                {"matrix": [3, 14], "x": 17.5, "y": 3},
+                {"matrix": [3, 15], "x": 18.5, "y": 3},
+                {"matrix": [4, 12], "x": 19.5, "y": 3, "h": 2},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4},
+                {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 3.5, "y": 4, "w": 7},
+                {"matrix": [4, 4], "x": 10.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 11.75, "y": 4},
+                {"matrix": [4, 6], "x": 12.75, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 7], "x": 14.25, "y": 4.25},
+                {"matrix": [4, 8], "x": 15.25, "y": 4.25},
+                {"matrix": [4, 9], "x": 16.25, "y": 4.25},
+
+                {"matrix": [4, 10], "x": 17.5, "y": 4},
+                {"matrix": [4, 11], "x": 18.5, "y": 4}
             ]
         }
     }
+
 }

+ 0 - 47
keyboards/aozora/aozora.h

@@ -1,47 +0,0 @@
-/* Copyright 2021 Salmon Cat Studio
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,       K0E, K0F,  \
-    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,     K1E, K1F,  \
-    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D,                    \
-    K30,       K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D,           K3E, K3F,  \
-    K40,  K41,  K42,              K44,                K48,  K49,  K4A,     K4D, K4E, K4F   \
-) { \
-    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F   }, \
-    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F   }, \
-    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   KC_NO, KC_NO }, \
-    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   KC_NO, KC_NO, K3D,   K3E,   K3F   }, \
-    { K40,   K41,   K42,   KC_NO, K44,   KC_NO, KC_NO, KC_NO, K48,   K49,   K4A,   KC_NO, KC_NO, K4D,   K4E,   K4F   }, \
-}
-
-#define LAYOUT_all( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0G, K0D,  K0E, K0F,  \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,       K1E, K1F,  \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,                  \
-    K30, K3G, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D,       K3E, K3F,  \
-    K40,  K41,  K42,              K44,                K48,  K49,  K4A,    K4D,  K4E, K4F   \
-) { \
-    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,     K0G  }, \
-    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   KC_NO  }, \
-    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   KC_NO, KC_NO, KC_NO  }, \
-    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   KC_NO, K3C,   K3D,   K3E,   K3F,     K3G  }, \
-    { K40,   K41,   K42,   KC_NO, K44,   KC_NO, KC_NO, KC_NO, K48,   K49,   K4A,   KC_NO, KC_NO, K4D,   K4E,   K4F,   KC_NO  }, \
-}

+ 158 - 158
keyboards/aozora/info.json

@@ -18,168 +18,168 @@
     "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},
-
-                {"x":15.25, "y":0},
-                {"x":16.25, "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":15.25, "y":1},
-                {"x":16.25, "y":1},
-
-                {"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":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":2.75},
-
-                {"x":15.25, "y":3},
-                {"x":16.25, "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":6.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":14.25, "y":4},
-                {"x":15.25, "y":4},
-                {"x":16.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, "y": 0, "w": 2},
+
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.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},
+                {"matrix": [1, 12], "x": 12.5, "y": 1},
+                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+
+                {"matrix": [1, 14], "x": 15.25, "y": 1},
+                {"matrix": [1, 15], "x": 16.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},
+                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 1], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [3, 3], "x": 4.25, "y": 3},
+                {"matrix": [3, 4], "x": 5.25, "y": 3},
+                {"matrix": [3, 5], "x": 6.25, "y": 3},
+                {"matrix": [3, 6], "x": 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, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+                {"matrix": [3, 14], "x": 15.25, "y": 3},
+                {"matrix": [3, 15], "x": 16.25, "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": 6.25},
+                {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 13], "x": 14.25, "y": 4},
+                {"matrix": [4, 14], "x": 15.25, "y": 4},
+                {"matrix": [4, 15], "x": 16.25, "y": 4}
             ]
         },
         "LAYOUT_all": {
             "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.25, "y":0},
-                {"x":16.25, "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":15.25, "y":1},
-                {"x":16.25, "y":1},
-
-                {"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},
-                {"x":13.75, "y":2, "w":1.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},
-                {"x":13.25, "y":3, "w":1.75},
-
-                {"x":15.25, "y":3},
-                {"x":16.25, "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":6.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":14.25, "y":4},
-                {"x":15.25, "y":4},
-                {"x":16.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, 16], "x": 13, "y": 0},
+                {"matrix": [0, 13], "x": 14, "y": 0},
+
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "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.25, "y": 1},
+                {"matrix": [1, 15], "x": 16.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},
+                {"matrix": [2, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 16], "x": 1.25, "y": 3},
+                {"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, 12], "x": 12.25, "y": 3},
+                {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.75},
+
+                {"matrix": [3, 14], "x": 15.25, "y": 3},
+                {"matrix": [3, 15], "x": 16.25, "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": 6.25},
+                {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 13], "x": 14.25, "y": 4},
+                {"matrix": [4, 14], "x": 15.25, "y": 4},
+                {"matrix": [4, 15], "x": 16.25, "y": 4}
             ]
         }
     }

File diff suppressed because it is too large
+ 0 - 0
keyboards/basekeys/slice/rev1/info.json


+ 0 - 118
keyboards/basekeys/slice/rev1/rev1.h

@@ -1,118 +0,0 @@
-/* Copyright 2020 2Moons
- *
- * 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"
-
-//////////////////////////////////////////////////////////////////////////////
-// When only use Slice Rev1.
-//////////////////////////////////////////////////////////////////////////////
-/*
- * ,------------------------------------------------        --------------------------------------------------.
- * | L00 | L01 | L02 | L03 | L04 | L05 | L06 | L07 |        | R00 | R01 | R02 | R03 | R04 | R05 |  R06R07R08  |
- * |------------------------------------------------      ------------------------------------------------------+
- * | L10 |   L11  | L12 | L13 | L14 | L15 | L16 |         | R10 | R11 | R12 | R13 | R14 | R15 | R16 |    R37    |
- * |----------------------------------------------        ------------------------------------------------------+
- * | 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 | R34 | R35 |  R36R37R38  |
- * |-------------------------------------------------   --------------------------------------------------------'
- * | L40 |  L41  |  L42  |          L43 | L44L45L46 |    |   R40   | R41 |                |  R42  |  R43  | R44 |
- * |-------------------------------------------------    -------------------------------------------------------'
- */
-
-#define LAYOUT( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05,      R07,  \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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, R38,\
-    L40, L41, L42, L43,      L45,                R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43, KC_NO,   L45, KC_NO,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05, KC_NO,     R07,   KC_NO },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,   KC_NO,     R38 }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-#define LAYOUT_all( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05, R06, R07, R08, \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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, R37, R38,\
-    L40, L41, L42, L43, L44, L45, L46,           R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43,   L44,   L45,   L46,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05,   R06,     R07,     R08 },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,     R37,     R38 }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-#define LAYOUT_split_backspace( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05, R06,       R08, \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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,       R38,\
-    L40, L41, L42, L43,      L45,                R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43, KC_NO,   L45, KC_NO,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05,   R06,   KC_NO,     R08 },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,   KC_NO,     R38 }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-
-#define LAYOUT_split_left_space( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05,      R07, \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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,     R38,\
-    L40, L41, L42, L43, L44,      L46,           R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43,   L44, KC_NO,   L46,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05, KC_NO,     R07,   KC_NO },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,   KC_NO,     R38 }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-

File diff suppressed because it is too large
+ 0 - 0
keyboards/basekeys/slice/rev1_rgb/info.json


+ 0 - 96
keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h

@@ -1,96 +0,0 @@
-/* Copyright 2020 2Moons
- *
- * 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"
-
-//////////////////////////////////////////////////////////////////////////////
-// When only use Slice Rev1.
-//////////////////////////////////////////////////////////////////////////////
-/*
- * ,------------------------------------------------        --------------------------------------------------.
- * | L00 | L01 | L02 | L03 | L04 | L05 | L06 | L07 |        | R00 | R01 | R02 | R03 | R04 | R05 |     R06     |
- * |------------------------------------------------      ------------------------------------------------------+
- * | L10 |   L11  | L12 | L13 | L14 | L15 | L16 |         | R10 | R11 | R12 | R13 | R14 | R15 | R16 |    R37    |
- * |----------------------------------------------        ------------------------------------------------------+
- * | 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 | R34 | R35 |  R36  | R37 |
- * |-------------------------------------------------   --------------------------------------------------------'
- * | L40 |  L41  |  L42  |          L43 | L44L45L46 |    |   R40   | R41 |                |  R42  |  R43  | R44 |
- * |-------------------------------------------------    -------------------------------------------------------'
- */
-
-#define LAYOUT( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05, R06,  \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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, R37,\
-    L40, L41, L42, L43,      L45,                R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43, KC_NO,   L45, KC_NO,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05,   R06,   KC_NO,   KC_NO },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,     R37,   KC_NO }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-#define LAYOUT_split_left_space( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05, R06, \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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, R37,\
-    L40, L41, L42, L43, L44,      L46,           R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43,   L44, KC_NO,   L46,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05,   R06,   KC_NO,   KC_NO },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,     R37,   KC_NO }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-
-#define LAYOUT_all( \
-    L00, L01, L02, L03, L04, L05, L06, L07,      R00, R01, R02, R03, R04, R05, R06, \
-    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, R17, \
-    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, R37,\
-    L40, L41, L42, L43, L44, L45, L46,           R40, R41, R42, R43, R44 \
-  ) \
-  { \
-    { L00,   L01,   L02,   L03,   L04,   L05,   L06,   L07,     KC_NO }, \
-    { L10,   L11,   L12,   L13,   L14,   L15,   L16,   KC_NO,   KC_NO }, \
-    { L20,   L21,   L22,   L23,   L24,   L25,   L26,   KC_NO,   KC_NO }, \
-    { L30,   L31,   L32,   L33,   L34,   L35,   L36,   KC_NO,   KC_NO }, \
-    { L40,   L41,   L42,   L43,   L44,   L45,   L46,   KC_NO,   KC_NO },  \
-    { R00,   R01,   R02,   R03,   R04,   R05,   R06,   KC_NO,   KC_NO },  \
-    { R10,   R11,   R12,   R13,   R14,   R15,   R16,     R17,   KC_NO }, \
-    { R20,   R21,   R22,   R23,   R24,   R25,   R26,   KC_NO,   KC_NO }, \
-    { R30,   R31,   R32,   R33,   R34,   R35,   R36,     R37,   KC_NO }, \
-    { R40,   R41,   R42,   R43,   R44, KC_NO, KC_NO,   KC_NO,   KC_NO } \
-  }
-

+ 0 - 70
keyboards/beatervan/beatervan.h

@@ -1,70 +0,0 @@
-/* Copyright 2020 OJtheTiny
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
-    K30, K31, K32,           K34, K36,           K37, K38, K39  \
-) \
-{ \
-    { 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, KC_NO, K34,  KC_NO, K36,  K37, K38, K39, KC_NO, KC_NO }  \
-}
-
-#define LAYOUT_arrow( \
-    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, K37,      K38, K39, K3A, K3B  \
-) \
-{ \
-    { K00,   K01,   K02,   K03,  K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B }, \
-    { K10,   K11,   K12,   K13,  K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B }, \
-    { K20,   K21,   K22,   K23,  K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B }, \
-    { K30,   K31,   K32,   K33,  KC_NO, KC_NO, KC_NO, K37,   K38,   K39,   K3A,   K3B }  \
-}
-
-#define LAYOUT_command( \
-    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, K34,      K33, K37,           K38, K39, K3B  \
-) \
-{ \
-    { K00,   K01,   K02,   K03,  K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B }, \
-    { K10,   K11,   K12,   K13,  K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B }, \
-    { K20,   K21,   K22,   K23,  K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B }, \
-    { K30,   K31,   K32,   K33,  K34,   KC_NO, KC_NO, K37,   K38,   K39, KC_NO,   K3B }  \
-}
-
-#define LAYOUT_arrow_command( \
-    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, K34,      K33, K37,      K38, K39, K3A, K3B  \
-) \
-{ \
-    { K00,   K01,   K02,   K03,  K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B }, \
-    { K10,   K11,   K12,   K13,  K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B }, \
-    { K20,   K21,   K22,   K23,  K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B }, \
-    { K30,   K31,   K32,   K33,  K34,   KC_NO, KC_NO, K37,   K38,   K39,   K3A,   K3B }  \
-}

+ 206 - 193
keyboards/beatervan/info.json

@@ -15,201 +15,214 @@
   "diode_direction": "COL2ROW",
   "processor": "atmega32u4",
   "bootloader": "caterina",
-  "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":"|", "x":11, "y":0, "w":1.75},
-            {"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":":", "x":10.25, "y":1},
-            {"label":"\"", "x":11.25, "y":1, "w":1.5},
-            {"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},
-            {"x":11.75, "y":2},
-            {"label":"Ctrl", "x":0, "y":3, "w":1.25},
-            {"label":"Win", "x":1.25, "y":3, "w":1.5},
-            {"label":"Alt", "x":2.75, "y":3, "w":1.25},
-            {"x":4, "y":3, "w":2.25},
-            {"x":6.25, "y":3, "w":2},
-            {"label":"Alt", "x":8.25, "y":3, "w":1.25},
-            {"label":"Win", "x":9.5, "y":3, "w":1.5},
-            {"label":"Menu", "x":11, "y":3, "w":1.75} ]
-    },
+    "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": [0, 11], "x": 11, "y": 0, "w": 1.75},
 
-    "LAYOUT_arrow": {
-        "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":"|", "x":11, "y":0, "w":1.75},
-            {"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":":", "x":10.25, "y":1},
-            {"label":"\"", "x":11.25, "y":1, "w":1.5},
-            {"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},
-            {"x":11.75, "y":2},
-            {"label":"Ctrl", "x":0, "y":3, "w":1.25},
-            {"label":"Win", "x":1.25, "y":3, "w":1.5},
-            {"label":"Alt", "x":2.75, "y":3, "w":1.25},
-            {"x":4, "y":3, "w":2.25},
-            {"x":6.25, "y":3, "w":2},
-            {"x":8.25, "y":3, "w":1.5},
-            {"label":"Alt", "x":9.75, "y":3},
-            {"label":"Win", "x":10.75, "y":3},
-            {"label":"Menu", "x":11.75, "y":3} ]
-    },
+                {"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},
 
-    "LAYOUT_command": {
-        "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":"|", "x":11, "y":0, "w":1.75},
-            {"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":":", "x":10.25, "y":1},
-            {"label":"\"", "x":11.25, "y":1, "w":1.5},
-            {"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},
-            {"x":11.75, "y":2},
-            {"label":"Ctrl", "x":0, "y":3},
-            {"label":"Win", "x":1, "y":3},
-            {"label":"Alt", "x":2, "y":3},
-            {"x":3, "y":3},
-            {"x":4, "y":3, "w":2.25},
-            {"x":6.25, "y":3, "w":2},
-            {"x":8.25, "y":3, "w":1.5},
-            {"label":"Alt", "x":9.75, "y":3, "w":1.5},
-            {"label":"Win", "x":11.25, "y":3, "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},
 
-    "LAYOUT_arrow_command": {
-        "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":"|", "x":11, "y":0, "w":1.75},
-            {"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":":", "x":10.25, "y":1},
-            {"label":"\"", "x":11.25, "y":1, "w":1.5},
-            {"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},
-            {"x":11.75, "y":2},
-            {"label":"Ctrl", "x":0, "y":3},
-            {"label":"Win", "x":1, "y":3},
-            {"label":"Alt", "x":2, "y":3},
-            {"x":3, "y":3},
-            {"x":4, "y":3, "w":2.25},
-            {"x":6.25, "y":3, "w":2},
-            {"x":8.25, "y":3, "w":1.5},
-            {"label":"Alt", "x":9.75, "y":3},
-            {"label":"Win", "x":10.75, "y":3},
-            {"label":"Menu", "x":11.75, "y":3} ]
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.5},
+                {"matrix": [3, 2], "x": 2.75, "y": 3, "w": 1.25},
+                {"matrix": [3, 4], "x": 4, "y": 3, "w": 2.25},
+                {"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2},
+                {"matrix": [3, 7], "x": 8.25, "y": 3, "w": 1.25},
+                {"matrix": [3, 8], "x": 9.5, "y": 3, "w": 1.5},
+                {"matrix": [3, 9], "x": 11, "y": 3, "w": 1.75}
+            ]
+        },
+        "LAYOUT_arrow": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.75},
+
+                {"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},
+
+                {"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": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.5},
+                {"matrix": [3, 2], "x": 2.75, "y": 3, "w": 1.25},
+                {"matrix": [3, 3], "x": 4, "y": 3, "w": 2.25},
+                {"matrix": [3, 7], "x": 6.25, "y": 3, "w": 2},
+                {"matrix": [3, 8], "x": 8.25, "y": 3, "w": 1.5},
+                {"matrix": [3, 9], "x": 9.75, "y": 3},
+                {"matrix": [3, 10], "x": 10.75, "y": 3},
+                {"matrix": [3, 11], "x": 11.75, "y": 3}
+            ]
+        },
+        "LAYOUT_command": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.75},
+
+                {"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},
+
+                {"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": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 4], "x": 3, "y": 3},
+                {"matrix": [3, 3], "x": 4, "y": 3, "w": 2.25},
+                {"matrix": [3, 7], "x": 6.25, "y": 3, "w": 2},
+                {"matrix": [3, 8], "x": 8.25, "y": 3, "w": 1.5},
+                {"matrix": [3, 9], "x": 9.75, "y": 3, "w": 1.5},
+                {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.5}
+            ]
+        },
+        "LAYOUT_arrow_command": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.75},
+
+                {"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},
+
+                {"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": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 4], "x": 3, "y": 3},
+                {"matrix": [3, 3], "x": 4, "y": 3, "w": 2.25},
+                {"matrix": [3, 7], "x": 6.25, "y": 3, "w": 2},
+                {"matrix": [3, 8], "x": 8.25, "y": 3, "w": 1.5},
+                {"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 - 97
keyboards/blaster75/blaster75.h

@@ -1,97 +0,0 @@
-/* Copyright 2021 Altain
- *
- * 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 section is to help viewers visually clarify the physical layout of Blaster 75 PCB. 
-
-ANSI Layout : 
- * ,----------------------------------------------------------------
- * | ESC| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|PSC|INS|
- * ,---------------------------------------------------------------|
- * | ` |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |HOME|
- * |---------------------------------------------------------------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] |  \ | DEL|
- * |---------------------------------------------------------------|
- * | CTRL  | A | S | D | F | G | H | J | K | L | ; | ' | ENTER| END|
- * |---------------------------------------------------------------|
- * | LSHIFT | Z | X | C | V | B | N | M | , | . | / |RSHFT | ↑ |   |
- * |---------------------------------------------------------------|
- * |LCTL|LWIN|LALT|       6.25U SPACE       |RALT|RCTL|  ← | ↓ | → |
- * `----------------------------------------------------------------
- * 
- * 
-
-
-7U Spacebar Layout : 
- * ,----------------------------------------------------------------
- * | ESC| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|PSC|INS|
- * ,---------------------------------------------------------------|
- * | ` |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |HOME|
- * |---------------------------------------------------------------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] |  \ | DEL|
- * |---------------------------------------------------------------|
- * | CTRL  | A | S | D | F | G | H | J | K | L | ; | ' | ENTER| END|
- * |---------------------------------------------------------------|
- * | LSHIFT | Z | X | C | V | B | N | M | , | . | / |RSHFT | ↑ |   |
- * |---------------------------------------------------------------|
- * | LCTL |LWIN| LALT |        7U SPACE        | RCTL |  ← | ↓ | → |
- * `----------------------------------------------------------------
- * 
- * */
-
-#define XXX KC_NO
-
-// BLASTER75 DEFAULT ANSI LAYOUT
-// 6.25U SPACEBAR
-// BOTTOM ROW 1.25 , 1.25 , 1.25 , 6.25 , 1.25 , 1.25 CONFIGURATION
-#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,      K3E, \
-	K40, K41, K42, K43, K44, K45, K46, K47, K48, K49,      K4B, K4C, K4D,      \
-	K50, K51, K52,           K55,                K59,      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, XXX, K3E }, \
-    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, XXX, K4B, K4C, K4D, XXX }, \
-    { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, K59, XXX, K5B, K5C, K5D, K5E }  \
-}
-
-// BLASTER75 7U LAYOUT
-// 7U SPACEBAR
-// BOTTOM ROW 1.5 , 1 , 1.5 , 7 , 1.5 CONFIGURATION
-#define LAYOUT_7u( \
-    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,      K3E, \
-	K40, K41, K42, K43, K44, K45, K46, K47, K48, K49,      K4B, K4C, K4D,      \
-	K50, K51, K52,           K55,                          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, XXX, K3E }, \
-    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, XXX, K4B, K4C, K4D, XXX }, \
-    { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, XXX, XXX, K5B, K5C, K5D, K5E }  \
-}

+ 181 - 171
keyboards/blaster75/info.json

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

+ 93 - 1
keyboards/buzzard/rev1/info.json

@@ -20,7 +20,99 @@
     "bootloader": "atmel-dfu",
     "layouts": {
         "LAYOUT": {
-            "layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "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":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
+            "layout": [
+                {"matrix": [0, 4], "x": 1, "y": 0},
+                {"matrix": [0, 3], "x": 2, "y": 0},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0},
+                {"matrix": [0, 0], "x": 5, "y": 0},
+
+                {"matrix": [4, 0], "x": 11, "y": 0},
+                {"matrix": [4, 1], "x": 12, "y": 0},
+                {"matrix": [4, 2], "x": 13, "y": 0},
+                {"matrix": [4, 3], "x": 14, "y": 0},
+                {"matrix": [4, 4], "x": 15, "y": 0},
+
+                {"matrix": [1, 5], "x": 0, "y": 1},
+                {"matrix": [1, 4], "x": 1, "y": 1},
+                {"matrix": [1, 3], "x": 2, "y": 1},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1},
+                {"matrix": [1, 0], "x": 5, "y": 1},
+
+                {"matrix": [5, 0], "x": 11, "y": 1},
+                {"matrix": [5, 1], "x": 12, "y": 1},
+                {"matrix": [5, 2], "x": 13, "y": 1},
+                {"matrix": [5, 3], "x": 14, "y": 1},
+                {"matrix": [5, 4], "x": 15, "y": 1},
+                {"matrix": [5, 5], "x": 16, "y": 1},
+
+                {"matrix": [2, 5], "x": 0, "y": 2},
+                {"matrix": [2, 4], "x": 1, "y": 2},
+                {"matrix": [2, 3], "x": 2, "y": 2},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2},
+                {"matrix": [2, 0], "x": 5, "y": 2},
+
+                {"matrix": [6, 0], "x": 11, "y": 2},
+                {"matrix": [6, 1], "x": 12, "y": 2},
+                {"matrix": [6, 2], "x": 13, "y": 2},
+                {"matrix": [6, 3], "x": 14, "y": 2},
+                {"matrix": [6, 4], "x": 15, "y": 2},
+                {"matrix": [6, 5], "x": 16, "y": 2},
+
+                {"matrix": [3, 2], "x": 5, "y": 3},
+                {"matrix": [3, 1], "x": 6, "y": 3},
+                {"matrix": [3, 0], "x": 7, "y": 3},
+
+                {"matrix": [7, 0], "x": 9, "y": 3},
+                {"matrix": [7, 1], "x": 10, "y": 3},
+                {"matrix": [7, 2], "x": 11, "y": 3}
+            ]
+        },
+        "LAYOUT_stack": {
+            "layout": [
+                {"matrix": [0, 4], "x": 0, "y": 0},
+                {"matrix": [0, 3], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 1], "x": 3, "y": 0},
+                {"matrix": [0, 0], "x": 4, "y": 0},
+                {"matrix": [1, 5], "x": 5, "y": 0},
+                {"matrix": [1, 4], "x": 6, "y": 0},
+                {"matrix": [1, 3], "x": 7, "y": 0},
+                {"matrix": [1, 2], "x": 8, "y": 0},
+                {"matrix": [1, 1], "x": 9, "y": 0},
+                {"matrix": [1, 0], "x": 10, "y": 0},
+                {"matrix": [2, 5], "x": 11, "y": 0},
+                {"matrix": [2, 4], "x": 12, "y": 0},
+                {"matrix": [2, 3], "x": 13, "y": 0},
+                {"matrix": [2, 2], "x": 14, "y": 0},
+                {"matrix": [2, 1], "x": 15, "y": 0},
+                {"matrix": [2, 0], "x": 16, "y": 0},
+                {"matrix": [3, 2], "x": 17, "y": 0},
+                {"matrix": [3, 1], "x": 18, "y": 0},
+                {"matrix": [3, 0], "x": 19, "y": 0},
+                {"matrix": [4, 0], "x": 20, "y": 0},
+                {"matrix": [4, 1], "x": 21, "y": 0},
+                {"matrix": [4, 2], "x": 22, "y": 0},
+                {"matrix": [4, 3], "x": 23, "y": 0},
+                {"matrix": [4, 4], "x": 24, "y": 0},
+                {"matrix": [5, 0], "x": 25, "y": 0},
+                {"matrix": [5, 1], "x": 26, "y": 0},
+                {"matrix": [5, 2], "x": 27, "y": 0},
+                {"matrix": [5, 3], "x": 28, "y": 0},
+                {"matrix": [5, 4], "x": 29, "y": 0},
+                {"matrix": [5, 5], "x": 30, "y": 0},
+                {"matrix": [6, 0], "x": 31, "y": 0},
+                {"matrix": [6, 1], "x": 32, "y": 0},
+                {"matrix": [6, 2], "x": 33, "y": 0},
+                {"matrix": [6, 3], "x": 34, "y": 0},
+                {"matrix": [6, 4], "x": 35, "y": 0},
+                {"matrix": [6, 5], "x": 36, "y": 0},
+                {"matrix": [7, 0], "x": 37, "y": 0},
+                {"matrix": [7, 1], "x": 38, "y": 0},
+                {"matrix": [7, 2], "x": 39, "y": 0}
+            ]
         }
     }
 }

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

@@ -1,6 +1,6 @@
 // Copyright 2021 Christoph Rehmann (crehmann)
 // SPDX-License-Identifier: GPL-2.0-or-later
-#include "rev1.h"
+#include "quantum.h"
 
 #ifdef HAPTIC_ENABLE
 #include "drivers/haptic/DRV2605L.h"

+ 0 - 52
keyboards/buzzard/rev1/rev1.h

@@ -1,52 +0,0 @@
-// Copyright 2021 Christoph Rehmann (crehmann)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#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( \
-         L00, L01, L02, L03, L04,                          R05, R06, R07, R08, R09,      \
-    L10, L11, L12, L13, L14, L15,                          R16, R17, R18, R19, R20, R21, \
-    L22, L23, L24, L25, L26, L27,                          R28, R29, R30, R31, R32, R33, \
-                             L34, L35, L36,      R37, R38, R39 \
-) \
-{ \
-    { L04,   L03,   L02,   L01,   L00,   KC_NO }, \
-    { L15,   L14,   L13,   L12,   L11,   L10   }, \
-    { L27,   L26,   L25,   L24,   L23,   L22   }, \
-    { L36,   L35,   L34,   KC_NO, KC_NO, KC_NO }, \
-    { R05,   R06,   R07,   R08,   R09,   KC_NO }, \
-    { R16,   R17,   R18,   R19,   R20,   R21   }, \
-    { R28,   R29,   R30,   R31,   R32,   R33   }, \
-    { R37,   R38,   R39,   KC_NO, KC_NO, KC_NO }, \
-}
-
-#define LAYOUT_stack(                               \
-         L00, L01, L02, L03, L04,                   \
-    L10, L11, L12, L13, L14, L15,                   \
-    L22, L23, L24, L25, L26, L27,                   \
-                   L34, L35, L36,                   \
-                                                    \
-                  R05, R06, R07, R08, R09,          \
-                  R16, R17, R18, R19, R20, R21,     \
-                  R28, R29, R30, R31, R32, R33,     \
-                  R37, R38, R39                     \
-)                                                   \
-{                                                   \
-    { L04,   L03,   L02,   L01,   L00,   KC_NO }, \
-    { L15,   L14,   L13,   L12,   L11,   L10   }, \
-    { L27,   L26,   L25,   L24,   L23,   L22   }, \
-    { L36,   L35,   L34,   KC_NO, KC_NO, KC_NO }, \
-    { R05,   R06,   R07,   R08,   R09,   KC_NO }, \
-    { R16,   R17,   R18,   R19,   R20,   R21   }, \
-    { R28,   R29,   R30,   R31,   R32,   R33   }, \
-    { R37,   R38,   R39,   KC_NO, KC_NO, KC_NO }, \
-}

+ 0 - 69
keyboards/capsunlocked/cu75/cu75.h

@@ -25,72 +25,3 @@ extern const Layer_Info layer_info[];
 
 void reset_keyboard_kb(void);
 void click(uint16_t freq, uint16_t duration);
-
-#define XXX KC_NO
-
-/* Vanilla Keymap */
-// This a shortcut to help you visually see your layout.
-/*
-* ,-------------------------------------------------------------------------------.
-* | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
-* |-------------------------------------------------------------------------------|
-* | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C |   1D    | 1F |
-* |-------------------------------------------------------------------------------|
-* | 20   | 21 |22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 2C |   2D   | 2E |
-* |-------------------------------------------------------------------------------|
-* | 30    | 31 |32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 3A | 3B |      3C    | 3E |
-* |-------------------------------------------------------------------------------|
-* | 40      | 42 |43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A | 4B |    4C    | 4D | 4E |
-* |-------------------------------------------------------------------------------|
-* | 50  |  51  | 52  | 53 |         56        | 58 | 59 | 5A | 5B |  5C | 5D | 5E |
-* `-------------------------------------------------------------------------------'
-*/
-// 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, k0C, k0D, k0E, 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, k2C, k2D, k2E, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      k3E, \
-    k40,      k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, \
-    k50, k51, k52, k53,           k56,      k58, k59, k5A, k5B, k5C, k5D, k5E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX, k3E, XXX }, \
-    { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, XXX }, \
-    { k50, k51, k52, k53, XXX, XXX, k56, XXX, k58, k59, k5A, k5B, k5C, k5D, k5E, XXX } \
-}
-
-#define LAYOUT_all( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \
-    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, k53,           k56,      k58, k59, k5A, k5B, k5C, k5D, k5E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, XXX }, \
-    { k50, k51, k52, k53, XXX, XXX, k56, XXX, k58, k59, k5A, k5B, k5C, k5D, k5E, XXX } \
-}
-
-#define LAYOUT_iso( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, 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, k2C, k2D, k2E, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      k3E, \
-    k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, \
-    k50, k51, k52,       k53,  k56,  k58,        k59, k5A, k5B, k5C, k5D, k5E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX, k3E, XXX }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, XXX }, \
-    { k50, k51, k52, k53, XXX, XXX, k56, XXX, k58, k59, k5A, k5B, k5C, k5D, k5E, XXX } \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/capsunlocked/cu75/info.json


+ 0 - 81
keyboards/converter/ibm_terminal/ibm_terminal.h

@@ -1,81 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-void matrix_init_user(void);
-
-/*
- * IBM Terminal keyboard 6110345(122keys)/1392595(102keys)
- * http://geekhack.org/showthread.php?10737-What-Can-I-Do-With-a-Terminal-Model-M
- * http://www.seasip.info/VintagePC/ibm_1391406.html
- *
- * Keymap array:
- *     8 bytes
- *   +---------+
- *  0|         |
- *  :|         | 0x00-0x87
- *  ;|         |
- * 17|         |
- *   +---------+
- */
-#define LAYOUT( \
-                    k08, k10, k18, k20, k28, k30, k38, k40, k48, k50, k57, k5F, \
-                    k07, k0F, k17, k1F, k27, k2F, k37, k3F, k47, k4F, k56, k5E, \
-\
-    k05, k06,  k0E, k16, k1E, k26, k25, k2E, k36, k3D, k3E, k46, k45, k4E, k55, k5D, k66,  k67, k6E, k6F,  k76, k77, k7E, k84, \
-    k04, k0C,  k0D, k15, k1D, k24, k2D, k2C, k35, k3C, k43, k44, k4D, k54, k5B,      k5C,  k64, k65, k6D,  k6C, k75, k7D, k7C, \
-    k03, k0B,  k14, k1C, k1B, k23, k2B, k34, k33, k3B, k42, k4B, k4C, k52,      k53, k5A,       k63,       k6B, k73, k74, k7B, \
-    k83, k0A,  k12, k13, k1A, k22, k21, k2A, k32, k31, k3A, k41, k49, k4A,      k51, k59,  k61, k62, k6A,  k69, k72, k7A, k79, \
-    k01, k09,  k11,      k19,                k29,                          k39,      k58,       k60,       k68, k70, k71, k78 \
-) { \
-    { XXX, k01, XXX, k03, k04, k05, k06, k07 }, \
-    { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
-    { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47 }, \
-    { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57 }, \
-    { k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67 }, \
-    { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
-    { k70, k71, k72, k73, k74, k75, k76, k77 }, \
-    { k78, k79, k7A, k7B, k7C, k7D, k7E, XXX }, \
-    { XXX, XXX, XXX, k83, k84, XXX, XXX, XXX } \
-}
-
-/*
- * IBM Terminal keyboard 1399625, 101-key
- */
-#define LAYOUT_101( \
-    k08,      k07, k0F, k17, k1F, k27, k2F, k37, k3F, k47, k4F, k56, k5E,  k57, k5F, k62, \
-\
-    k0E, k16, k1E, k26, k25, k2E, k36, k3D, k3E, k46, k45, k4E, k55, k66,  k67, k6E, k6F,  k76, k77, k7E, k84, \
-    k0D, k15, k1D, k24, k2D, k2C, k35, k3C, k43, k44, k4D, k54, k5B, k5C,  k64, k65, k6D,  k6C, k75, k7D, \
-    k14, k1C, k1B, k23, k2B, k34, k33, k3B, k42, k4B, k4C, k52,      k5A,                  k6B, k73, k74, k7C, \
-    k12,      k1A, k22, k21, k2A, k32, k31, k3A, k41, k49, k4A,      k59,       k63,       k69, k72, k7A, \
-    k11,      k19,                k29,                     k39,      k58,  k61, k60, k6A,  k70,      k71, k79 \
-) { \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, k07 }, \
-    { k08, XXX, XXX, XXX, XXX, k0D, k0E, k0F }, \
-    { XXX, k11, k12, XXX, k14, k15, k16, k17 }, \
-    { XXX, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { XXX, k21, k22, k23, k24, k25, k26, k27 }, \
-    { XXX, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { XXX, k31, k32, k33, k34, k35, k36, k37 }, \
-    { XXX, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { XXX, k41, k42, k43, k44, k45, k46, k47 }, \
-    { XXX, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { XXX, XXX, k52, XXX, k54, k55, k56, k57 }, \
-    { k58, k59, k5A, k5B, k5C, XXX, k5E, k5F }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67 }, \
-    { XXX, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
-    { k70, k71, k72, k73, k74, k75, k76, k77 }, \
-    { XXX, k79, k7A, XXX, k7C, k7D, k7E, XXX }, \
-    { XXX, XXX, XXX, XXX, k84, XXX, XXX, XXX } \
-}

+ 266 - 228
keyboards/converter/ibm_terminal/info.json

@@ -13,238 +13,276 @@
   "layouts": {
     "LAYOUT": {
       "layout": [
-        {"label":"F13", "x":3.25, "y":0},
-        {"label":"F14", "x":4.25, "y":0},
-        {"label":"F15", "x":5.25, "y":0},
-        {"label":"F16", "x":6.25, "y":0},
-        {"label":"F17", "x":7.25, "y":0},
-        {"label":"F18", "x":8.25, "y":0},
-        {"label":"F19", "x":9.25, "y":0},
-        {"label":"F20", "x":10.25, "y":0},
-        {"label":"F21", "x":11.25, "y":0},
-        {"label":"F22", "x":12.25, "y":0},
-        {"label":"F23", "x":13.25, "y":0},
-        {"label":"F24", "x":14.25, "y":0},
-        {"label":"F1", "x":3.25, "y":1},
-        {"label":"F2", "x":4.25, "y":1},
-        {"label":"F3", "x":5.25, "y":1},
-        {"label":"F4", "x":6.25, "y":1},
-        {"label":"F5", "x":7.25, "y":1},
-        {"label":"F6", "x":8.25, "y":1},
-        {"label":"F7", "x":9.25, "y":1},
-        {"label":"F8", "x":10.25, "y":1},
-        {"label":"F9", "x":11.25, "y":1},
-        {"label":"F10", "x":12.25, "y":1},
-        {"label":"F11", "x":13.25, "y":1},
-        {"label":"F12", "x":14.25, "y":1},
-        {"label":"Print Screen", "x":0, "y":3},
-        {"label":"Esc", "x":1, "y":3},
-        {"label":"Esc", "x":2.25, "y":3},
-        {"label":"1", "x":3.25, "y":3},
-        {"label":"2", "x":4.25, "y":3},
-        {"label":"3", "x":5.25, "y":3},
-        {"label":"4", "x":6.25, "y":3},
-        {"label":"5", "x":7.25, "y":3},
-        {"label":"6", "x":8.25, "y":3},
-        {"label":"7", "x":9.25, "y":3},
-        {"label":"8", "x":10.25, "y":3},
-        {"label":"9", "x":11.25, "y":3},
-        {"label":"0", "x":12.25, "y":3},
-        {"label":"-", "x":13.25, "y":3},
-        {"label":"=", "x":14.25, "y":3},
-        {"label":"No", "x":15.25, "y":3},
-        {"label":"Back Space", "x":16.25, "y":3},
-        {"label":"Insert", "x":17.5, "y":3},
-        {"label":"Home", "x":18.5, "y":3},
-        {"label":"Page Up", "x":19.5, "y":3},
-        {"label":"Num Lock", "x":20.75, "y":3},
-        {"label":"/", "x":21.75, "y":3},
-        {"label":"*", "x":22.75, "y":3},
-        {"label":"-", "x":23.75, "y":3},
-        {"label":"Scroll Lock", "x":0, "y":4},
-        {"label":"Int4", "x":1, "y":4},
-        {"label":"Tab", "x":2.25, "y":4, "w":1.5},
-        {"label":"Q", "x":3.75, "y":4},
-        {"label":"W", "x":4.75, "y":4},
-        {"label":"E", "x":5.75, "y":4},
-        {"label":"R", "x":6.75, "y":4},
-        {"label":"T", "x":7.75, "y":4},
-        {"label":"Y", "x":8.75, "y":4},
-        {"label":"U", "x":9.75, "y":4},
-        {"label":"I", "x":10.75, "y":4},
-        {"label":"O", "x":11.75, "y":4},
-        {"label":"P", "x":12.75, "y":4},
-        {"label":"[", "x":13.75, "y":4},
-        {"label":"]", "x":14.75, "y":4},
-        {"label":"No", "x":15.75, "y":4, "w":1.5},
-        {"label":"Delete", "x":17.5, "y":4},
-        {"label":"End", "x":18.5, "y":4},
-        {"label":"Page Down", "x":19.5, "y":4},
-        {"label":"7", "x":20.75, "y":4},
-        {"label":"8", "x":21.75, "y":4},
-        {"label":"9", "x":22.75, "y":4},
-        {"label":"+", "x":23.75, "y":4},
-        {"label":"Pause", "x":0, "y":5},
-        {"label":"Int5", "x":1, "y":5},
-        {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
-        {"label":"A", "x":4, "y":5},
-        {"label":"S", "x":5, "y":5},
-        {"label":"D", "x":6, "y":5},
-        {"label":"F", "x":7, "y":5},
-        {"label":"G", "x":8, "y":5},
-        {"label":"H", "x":9, "y":5},
-        {"label":"J", "x":10, "y":5},
-        {"label":"K", "x":11, "y":5},
-        {"label":"L", "x":12, "y":5},
-        {"label":";", "x":13, "y":5},
-        {"label":"'", "x":14, "y":5},
-        {"label":"\\", "x":15, "y":5},
-        {"label":"Enter", "x":16, "y":5, "w":1.25},
-        {"label":"Up", "x":18.5, "y":5},
-        {"label":"4", "x":20.75, "y":5},
-        {"label":"5", "x":21.75, "y":5},
-        {"label":"6", "x":22.75, "y":5},
-        {"label":",", "x":23.75, "y":5},
-        {"label":"App", "x":0, "y":6},
-        {"label":"Int6", "x":1, "y":6},
-        {"label":"Shift", "x":2.25, "y":6, "w":1.25},
-        {"label":"ISO \\", "x":3.5, "y":6},
-        {"label":"Z", "x":4.5, "y":6},
-        {"label":"X", "x":5.5, "y":6},
-        {"label":"C", "x":6.5, "y":6},
-        {"label":"V", "x":7.5, "y":6},
-        {"label":"B", "x":8.5, "y":6},
-        {"label":"N", "x":9.5, "y":6},
-        {"label":"M", "x":10.5, "y":6},
-        {"label":",", "x":11.5, "y":6},
-        {"label":".", "x":12.5, "y":6},
-        {"label":"/", "x":13.5, "y":6},
-        {"label":"No", "x":14.5, "y":6},
-        {"label":"Shift", "x":15.5, "y":6, "w":1.75},
-        {"label":"Left", "x":17.5, "y":6},
-        {"label":"Int2", "x":18.5, "y":6},
-        {"label":"Right", "x":19.5, "y":6},
-        {"label":"1", "x":20.75, "y":6},
-        {"label":"2", "x":21.75, "y":6},
-        {"label":"3", "x":22.75, "y":6},
-        {"label":"Enter", "x":23.75, "y":6},
-        {"label":"RGUI", "x":0, "y":7},
-        {"label":"lgui", "x":1, "y":7},
-        {"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
-        {"label":"Alt", "x":4.75, "y":7, "w":1.5},
-        {"label":"Space", "x":6.25, "y":7, "w":7},
-        {"label":"Alt", "x":13.25, "y":7, "w":1.5},
-        {"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
-        {"label":"Down", "x":18.5, "y":7},
-        {"label":"No", "x":20.75, "y":7},
-        {"label":"0", "x":21.75, "y":7},
-        {"label":".", "x":22.75, "y":7},
-        {"label":"No", "x":23.75, "y":7}
+        {"matrix": [1, 0], "x": 3.25, "y": 0},
+        {"matrix": [2, 0], "x": 4.25, "y": 0},
+        {"matrix": [3, 0], "x": 5.25, "y": 0},
+        {"matrix": [4, 0], "x": 6.25, "y": 0},
+        {"matrix": [5, 0], "x": 7.25, "y": 0},
+        {"matrix": [6, 0], "x": 8.25, "y": 0},
+        {"matrix": [7, 0], "x": 9.25, "y": 0},
+        {"matrix": [8, 0], "x": 10.25, "y": 0},
+        {"matrix": [9, 0], "x": 11.25, "y": 0},
+        {"matrix": [10, 0], "x": 12.25, "y": 0},
+        {"matrix": [10, 7], "x": 13.25, "y": 0},
+        {"matrix": [11, 7], "x": 14.25, "y": 0},
+
+        {"matrix": [0, 7], "x": 3.25, "y": 1},
+        {"matrix": [1, 7], "x": 4.25, "y": 1},
+        {"matrix": [2, 7], "x": 5.25, "y": 1},
+        {"matrix": [3, 7], "x": 6.25, "y": 1},
+        {"matrix": [4, 7], "x": 7.25, "y": 1},
+        {"matrix": [5, 7], "x": 8.25, "y": 1},
+        {"matrix": [6, 7], "x": 9.25, "y": 1},
+        {"matrix": [7, 7], "x": 10.25, "y": 1},
+        {"matrix": [8, 7], "x": 11.25, "y": 1},
+        {"matrix": [9, 7], "x": 12.25, "y": 1},
+        {"matrix": [10, 6], "x": 13.25, "y": 1},
+        {"matrix": [11, 6], "x": 14.25, "y": 1},
+
+        {"matrix": [0, 5], "x": 0, "y": 3},
+        {"matrix": [0, 6], "x": 1, "y": 3},
+
+        {"matrix": [1, 6], "x": 2.25, "y": 3},
+        {"matrix": [2, 6], "x": 3.25, "y": 3},
+        {"matrix": [3, 6], "x": 4.25, "y": 3},
+        {"matrix": [4, 6], "x": 5.25, "y": 3},
+        {"matrix": [4, 5], "x": 6.25, "y": 3},
+        {"matrix": [5, 6], "x": 7.25, "y": 3},
+        {"matrix": [6, 6], "x": 8.25, "y": 3},
+        {"matrix": [7, 5], "x": 9.25, "y": 3},
+        {"matrix": [7, 6], "x": 10.25, "y": 3},
+        {"matrix": [8, 6], "x": 11.25, "y": 3},
+        {"matrix": [8, 5], "x": 12.25, "y": 3},
+        {"matrix": [9, 6], "x": 13.25, "y": 3},
+        {"matrix": [10, 5], "x": 14.25, "y": 3},
+        {"matrix": [11, 5], "x": 15.25, "y": 3},
+        {"matrix": [12, 6], "x": 16.25, "y": 3},
+
+        {"matrix": [12, 7], "x": 17.5, "y": 3},
+        {"matrix": [13, 6], "x": 18.5, "y": 3},
+        {"matrix": [13, 7], "x": 19.5, "y": 3},
+
+        {"matrix": [14, 6], "x": 20.75, "y": 3},
+        {"matrix": [14, 7], "x": 21.75, "y": 3},
+        {"matrix": [15, 6], "x": 22.75, "y": 3},
+        {"matrix": [16, 4], "x": 23.75, "y": 3},
+
+        {"matrix": [0, 4], "x": 0, "y": 4},
+        {"matrix": [1, 4], "x": 1, "y": 4},
+
+        {"matrix": [1, 5], "x": 2.25, "y": 4, "w": 1.5},
+        {"matrix": [2, 5], "x": 3.75, "y": 4},
+        {"matrix": [3, 5], "x": 4.75, "y": 4},
+        {"matrix": [4, 4], "x": 5.75, "y": 4},
+        {"matrix": [5, 5], "x": 6.75, "y": 4},
+        {"matrix": [5, 4], "x": 7.75, "y": 4},
+        {"matrix": [6, 5], "x": 8.75, "y": 4},
+        {"matrix": [7, 4], "x": 9.75, "y": 4},
+        {"matrix": [8, 3], "x": 10.75, "y": 4},
+        {"matrix": [8, 4], "x": 11.75, "y": 4},
+        {"matrix": [9, 5], "x": 12.75, "y": 4},
+        {"matrix": [10, 4], "x": 13.75, "y": 4},
+        {"matrix": [11, 3], "x": 14.75, "y": 4},
+        {"matrix": [11, 4], "x": 15.75, "y": 4, "w": 1.5},
+
+        {"matrix": [12, 4], "x": 17.5, "y": 4},
+        {"matrix": [12, 5], "x": 18.5, "y": 4},
+        {"matrix": [13, 5], "x": 19.5, "y": 4},
+
+        {"matrix": [13, 4], "x": 20.75, "y": 4},
+        {"matrix": [14, 5], "x": 21.75, "y": 4},
+        {"matrix": [15, 5], "x": 22.75, "y": 4},
+        {"matrix": [15, 4], "x": 23.75, "y": 4},
+
+        {"matrix": [0, 3], "x": 0, "y": 5},
+        {"matrix": [1, 3], "x": 1, "y": 5},
+
+        {"matrix": [2, 4], "x": 2.25, "y": 5, "w": 1.75},
+        {"matrix": [3, 4], "x": 4, "y": 5},
+        {"matrix": [3, 3], "x": 5, "y": 5},
+        {"matrix": [4, 3], "x": 6, "y": 5},
+        {"matrix": [5, 3], "x": 7, "y": 5},
+        {"matrix": [6, 4], "x": 8, "y": 5},
+        {"matrix": [6, 3], "x": 9, "y": 5},
+        {"matrix": [7, 3], "x": 10, "y": 5},
+        {"matrix": [8, 2], "x": 11, "y": 5},
+        {"matrix": [9, 3], "x": 12, "y": 5},
+        {"matrix": [9, 4], "x": 13, "y": 5},
+        {"matrix": [10, 2], "x": 14, "y": 5},
+        {"matrix": [10, 3], "x": 15, "y": 5},
+        {"matrix": [11, 2], "x": 16, "y": 5, "w": 1.25},
+
+        {"matrix": [12, 3], "x": 18.5, "y": 5},
+
+        {"matrix": [13, 3], "x": 20.75, "y": 5},
+        {"matrix": [14, 3], "x": 21.75, "y": 5},
+        {"matrix": [14, 4], "x": 22.75, "y": 5},
+        {"matrix": [15, 3], "x": 23.75, "y": 5},
+
+        {"matrix": [16, 3], "x": 0, "y": 6},
+        {"matrix": [1, 2], "x": 1, "y": 6},
+
+        {"matrix": [2, 2], "x": 2.25, "y": 6, "w": 1.25},
+        {"matrix": [2, 3], "x": 3.5, "y": 6},
+        {"matrix": [3, 2], "x": 4.5, "y": 6},
+        {"matrix": [4, 2], "x": 5.5, "y": 6},
+        {"matrix": [4, 1], "x": 6.5, "y": 6},
+        {"matrix": [5, 2], "x": 7.5, "y": 6},
+        {"matrix": [6, 2], "x": 8.5, "y": 6},
+        {"matrix": [6, 1], "x": 9.5, "y": 6},
+        {"matrix": [7, 2], "x": 10.5, "y": 6},
+        {"matrix": [8, 1], "x": 11.5, "y": 6},
+        {"matrix": [9, 1], "x": 12.5, "y": 6},
+        {"matrix": [9, 2], "x": 13.5, "y": 6},
+        {"matrix": [10, 1], "x": 14.5, "y": 6},
+        {"matrix": [11, 1], "x": 15.5, "y": 6, "w": 1.75},
+
+        {"matrix": [12, 1], "x": 17.5, "y": 6},
+        {"matrix": [12, 2], "x": 18.5, "y": 6},
+        {"matrix": [13, 2], "x": 19.5, "y": 6},
+
+        {"matrix": [13, 1], "x": 20.75, "y": 6},
+        {"matrix": [14, 2], "x": 21.75, "y": 6},
+        {"matrix": [15, 2], "x": 22.75, "y": 6},
+        {"matrix": [15, 1], "x": 23.75, "y": 6},
+
+        {"matrix": [0, 1], "x": 0, "y": 7},
+        {"matrix": [1, 1], "x": 1, "y": 7},
+        {"matrix": [2, 1], "x": 2.25, "y": 7, "w": 1.5},
+        {"matrix": [3, 1], "x": 4.75, "y": 7, "w": 1.5},
+        {"matrix": [5, 1], "x": 6.25, "y": 7, "w": 7},
+        {"matrix": [7, 1], "x": 13.25, "y": 7, "w": 1.5},
+        {"matrix": [11, 0], "x": 15.75, "y": 7, "w": 1.5},
+
+        {"matrix": [12, 0], "x": 18.5, "y": 7},
+
+        {"matrix": [13, 0], "x": 20.75, "y": 7},
+        {"matrix": [14, 0], "x": 21.75, "y": 7},
+        {"matrix": [14, 1], "x": 22.75, "y": 7},
+        {"matrix": [15, 0], "x": 23.75, "y": 7}
       ]
     },
     "LAYOUT_101": {
       "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":"Print Screen", "x":15.25, "y":0},
-        {"label":"Scroll Lock", "x":16.25, "y":0},
-        {"label":"Pause", "x":17.25, "y":0},
-        {"label":"`", "x":0, "y":2},
-        {"label":"1", "x":1, "y":2},
-        {"label":"2", "x":2, "y":2},
-        {"label":"3", "x":3, "y":2},
-        {"label":"4", "x":4, "y":2},
-        {"label":"5", "x":5, "y":2},
-        {"label":"6", "x":6, "y":2},
-        {"label":"7", "x":7, "y":2},
-        {"label":"8", "x":8, "y":2},
-        {"label":"9", "x":9, "y":2},
-        {"label":"0", "x":10, "y":2},
-        {"label":"-", "x":11, "y":2},
-        {"label":"=", "x":12, "y":2},
-        {"label":"Back Space", "x":13, "y":2, "w":2},
-        {"label":"Insert", "x":15.25, "y":2},
-        {"label":"Home", "x":16.25, "y":2},
-        {"label":"Page Up", "x":17.25, "y":2},
-        {"label":"Num Lock", "x":18.5, "y":2},
-        {"label":"/", "x":19.5, "y":2},
-        {"label":"*", "x":20.5, "y":2},
-        {"label":"-", "x":21.5, "y":2},
-        {"label":"Tab", "x":0, "y":3, "w":1.5},
-        {"label":"Q", "x":1.5, "y":3},
-        {"label":"W", "x":2.5, "y":3},
-        {"label":"E", "x":3.5, "y":3},
-        {"label":"R", "x":4.5, "y":3},
-        {"label":"T", "x":5.5, "y":3},
-        {"label":"Y", "x":6.5, "y":3},
-        {"label":"U", "x":7.5, "y":3},
-        {"label":"I", "x":8.5, "y":3},
-        {"label":"O", "x":9.5, "y":3},
-        {"label":"P", "x":10.5, "y":3},
-        {"label":"[", "x":11.5, "y":3},
-        {"label":"]", "x":12.5, "y":3},
-        {"label":"\\", "x":13.5, "y":3, "w":1.5},
-        {"label":"Delete", "x":15.25, "y":3},
-        {"label":"End", "x":16.25, "y":3},
-        {"label":"Page Down", "x":17.25, "y":3},
-        {"label":"7", "x":18.5, "y":3},
-        {"label":"8", "x":19.5, "y":3},
-        {"label":"9", "x":20.5, "y":3},
-        {"label":"Caps Lock", "x":0, "y":4, "w":1.75},
-        {"label":"A", "x":1.75, "y":4},
-        {"label":"S", "x":2.75, "y":4},
-        {"label":"D", "x":3.75, "y":4},
-        {"label":"F", "x":4.75, "y":4},
-        {"label":"G", "x":5.75, "y":4},
-        {"label":"H", "x":6.75, "y":4},
-        {"label":"J", "x":7.75, "y":4},
-        {"label":"K", "x":8.75, "y":4},
-        {"label":"L", "x":9.75, "y":4},
-        {"label":";", "x":10.75, "y":4},
-        {"label":"'", "x":11.75, "y":4},
-        {"label":"Enter", "x":12.75, "y":4, "w":2.25},
-        {"label":"4", "x":18.5, "y":4},
-        {"label":"5", "x":19.5, "y":4},
-        {"label":"6", "x":20.5, "y":4},
-        {"label":"+", "x":21.5, "y":3, "h":2},
-        {"label":"Shift", "x":0, "y":5, "w":2.25},
-        {"label":"Z", "x":2.25, "y":5},
-        {"label":"X", "x":3.25, "y":5},
-        {"label":"C", "x":4.25, "y":5},
-        {"label":"V", "x":5.25, "y":5},
-        {"label":"B", "x":6.25, "y":5},
-        {"label":"N", "x":7.25, "y":5},
-        {"label":"M", "x":8.25, "y":5},
-        {"label":",", "x":9.25, "y":5},
-        {"label":".", "x":10.25, "y":5},
-        {"label":"/", "x":11.25, "y":5},
-        {"label":"Shift", "x":12.25, "y":5, "w":2.75},
-        {"label":"Up", "x":16.25, "y":5},
-        {"label":"1", "x":18.5, "y":5},
-        {"label":"2", "x":19.5, "y":5},
-        {"label":"3", "x":20.5, "y":5},
-        {"label":"Ctrl", "x":0, "y":6, "w":1.5},
-        {"label":"Alt", "x":2.5, "y":6, "w":1.5},
-        {"label":"Space", "x":4, "y":6, "w":7},
-        {"label":"Alt", "x":11, "y":6, "w":1.5},
-        {"label":"Ctrl", "x":13.5, "y":6, "w":1.5},
-        {"label":"Left", "x":15.25, "y":6},
-        {"label":"Down", "x":16.25, "y":6},
-        {"label":"Right", "x":17.25, "y":6},
-        {"label":"0", "x":18.5, "y":6, "w":2},
-        {"label":".", "x":20.5, "y":6},
-        {"label":"Enter", "x":21.5, "y":5, "h":2}
+        {"matrix": [1, 0], "x": 0, "y": 0},
+
+        {"matrix": [0, 7], "x": 2, "y": 0},
+        {"matrix": [1, 7], "x": 3, "y": 0},
+        {"matrix": [2, 7], "x": 4, "y": 0},
+        {"matrix": [3, 7], "x": 5, "y": 0},
+
+        {"matrix": [4, 7], "x": 6.5, "y": 0},
+        {"matrix": [5, 7], "x": 7.5, "y": 0},
+        {"matrix": [6, 7], "x": 8.5, "y": 0},
+        {"matrix": [7, 7], "x": 9.5, "y": 0},
+
+        {"matrix": [8, 7], "x": 11, "y": 0},
+        {"matrix": [9, 7], "x": 12, "y": 0},
+        {"matrix": [10, 6], "x": 13, "y": 0},
+        {"matrix": [11, 6], "x": 14, "y": 0},
+
+        {"matrix": [10, 7], "x": 15.25, "y": 0},
+        {"matrix": [11, 7], "x": 16.25, "y": 0},
+        {"matrix": [12, 2], "x": 17.25, "y": 0},
+
+        {"matrix": [1, 6], "x": 0, "y": 2},
+        {"matrix": [2, 6], "x": 1, "y": 2},
+        {"matrix": [3, 6], "x": 2, "y": 2},
+        {"matrix": [4, 6], "x": 3, "y": 2},
+        {"matrix": [4, 5], "x": 4, "y": 2},
+        {"matrix": [5, 6], "x": 5, "y": 2},
+        {"matrix": [6, 6], "x": 6, "y": 2},
+        {"matrix": [7, 5], "x": 7, "y": 2},
+        {"matrix": [7, 6], "x": 8, "y": 2},
+        {"matrix": [8, 6], "x": 9, "y": 2},
+        {"matrix": [8, 5], "x": 10, "y": 2},
+        {"matrix": [9, 6], "x": 11, "y": 2},
+        {"matrix": [10, 5], "x": 12, "y": 2},
+        {"matrix": [12, 6], "x": 13, "y": 2, "w": 2},
+
+        {"matrix": [12, 7], "x": 15.25, "y": 2},
+        {"matrix": [13, 6], "x": 16.25, "y": 2},
+        {"matrix": [13, 7], "x": 17.25, "y": 2},
+
+        {"matrix": [14, 6], "x": 18.5, "y": 2},
+        {"matrix": [14, 7], "x": 19.5, "y": 2},
+        {"matrix": [15, 6], "x": 20.5, "y": 2},
+        {"matrix": [16, 4], "x": 21.5, "y": 2},
+
+        {"matrix": [1, 5], "x": 0, "y": 3, "w": 1.5},
+        {"matrix": [2, 5], "x": 1.5, "y": 3},
+        {"matrix": [3, 5], "x": 2.5, "y": 3},
+        {"matrix": [4, 4], "x": 3.5, "y": 3},
+        {"matrix": [5, 5], "x": 4.5, "y": 3},
+        {"matrix": [5, 4], "x": 5.5, "y": 3},
+        {"matrix": [6, 5], "x": 6.5, "y": 3},
+        {"matrix": [7, 4], "x": 7.5, "y": 3},
+        {"matrix": [8, 3], "x": 8.5, "y": 3},
+        {"matrix": [8, 4], "x": 9.5, "y": 3},
+        {"matrix": [9, 5], "x": 10.5, "y": 3},
+        {"matrix": [10, 4], "x": 11.5, "y": 3},
+        {"matrix": [11, 3], "x": 12.5, "y": 3},
+        {"matrix": [11, 4], "x": 13.5, "y": 3, "w": 1.5},
+
+        {"matrix": [12, 4], "x": 15.25, "y": 3},
+        {"matrix": [12, 5], "x": 16.25, "y": 3},
+        {"matrix": [13, 5], "x": 17.25, "y": 3},
+
+        {"matrix": [13, 4], "x": 18.5, "y": 3},
+        {"matrix": [14, 5], "x": 19.5, "y": 3},
+        {"matrix": [15, 5], "x": 20.5, "y": 3},
+
+        {"matrix": [2, 4], "x": 0, "y": 4, "w": 1.75},
+        {"matrix": [3, 4], "x": 1.75, "y": 4},
+        {"matrix": [3, 3], "x": 2.75, "y": 4},
+        {"matrix": [4, 3], "x": 3.75, "y": 4},
+        {"matrix": [5, 3], "x": 4.75, "y": 4},
+        {"matrix": [6, 4], "x": 5.75, "y": 4},
+        {"matrix": [6, 3], "x": 6.75, "y": 4},
+        {"matrix": [7, 3], "x": 7.75, "y": 4},
+        {"matrix": [8, 2], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4},
+        {"matrix": [9, 4], "x": 10.75, "y": 4},
+        {"matrix": [10, 2], "x": 11.75, "y": 4},
+        {"matrix": [11, 2], "x": 12.75, "y": 4, "w": 2.25},
+
+        {"matrix": [13, 3], "x": 18.5, "y": 4},
+        {"matrix": [14, 3], "x": 19.5, "y": 4},
+        {"matrix": [14, 4], "x": 20.5, "y": 4},
+        {"matrix": [15, 4], "x": 21.5, "y": 3, "h": 2},
+
+        {"matrix": [2, 2], "x": 0, "y": 5, "w": 2.25},
+        {"matrix": [3, 2], "x": 2.25, "y": 5},
+        {"matrix": [4, 2], "x": 3.25, "y": 5},
+        {"matrix": [4, 1], "x": 4.25, "y": 5},
+        {"matrix": [5, 2], "x": 5.25, "y": 5},
+        {"matrix": [6, 2], "x": 6.25, "y": 5},
+        {"matrix": [6, 1], "x": 7.25, "y": 5},
+        {"matrix": [7, 2], "x": 8.25, "y": 5},
+        {"matrix": [8, 1], "x": 9.25, "y": 5},
+        {"matrix": [9, 1], "x": 10.25, "y": 5},
+        {"matrix": [9, 2], "x": 11.25, "y": 5},
+        {"matrix": [11, 1], "x": 12.25, "y": 5, "w": 2.75},
+
+        {"matrix": [12, 3], "x": 16.25, "y": 5},
+
+        {"matrix": [13, 1], "x": 18.5, "y": 5},
+        {"matrix": [14, 2], "x": 19.5, "y": 5},
+        {"matrix": [15, 2], "x": 20.5, "y": 5},
+
+        {"matrix": [2, 1], "x": 0, "y": 6, "w": 1.5},
+        {"matrix": [3, 1], "x": 2.5, "y": 6, "w": 1.5},
+        {"matrix": [5, 1], "x": 4, "y": 6, "w": 7},
+        {"matrix": [7, 1], "x": 11, "y": 6, "w": 1.5},
+        {"matrix": [11, 0], "x": 13.5, "y": 6, "w": 1.5},
+
+        {"matrix": [12, 1], "x": 15.25, "y": 6},
+        {"matrix": [12, 0], "x": 16.25, "y": 6},
+        {"matrix": [13, 2], "x": 17.25, "y": 6},
+
+        {"matrix": [14, 0], "x": 18.5, "y": 6, "w": 2},
+        {"matrix": [14, 1], "x": 20.5, "y": 6},
+        {"matrix": [15, 1], "x": 21.5, "y": 5, "h": 2}
       ]
     }
   }

+ 238 - 211
keyboards/converter/xt_usb/info.json

@@ -13,221 +13,248 @@
     "layouts": {
         "LAYOUT_xt": {
             "layout": [
-                {"x": 0, "y": 0},
-                {"x": 1, "y": 0},
-                {"x": 2.25, "y": 0},
-                {"x": 3.25, "y": 0},
-                {"x": 4.25, "y": 0},
-                {"x": 5.25, "y": 0},
-                {"x": 6.25, "y": 0},
-                {"x": 7.25, "y": 0},
-                {"x": 8.25, "y": 0},
-                {"x": 9.25, "y": 0},
-                {"x": 10.25, "y": 0},
-                {"x": 11.25, "y": 0},
-                {"x": 12.25, "y": 0},
-                {"x": 13.25, "y": 0},
-                {"x": 14.25, "y": 0},
-                {"x": 15.25, "y": 0, "w": 1.75},
-                {"x": 17, "y": 0, "w": 2},
-                {"x": 19, "y": 0, "w": 2},
-                {"x": 0, "y": 1},
-                {"x": 1, "y": 1},
-                {"x": 2.25, "y": 1, "w": 1.5},
-                {"x": 3.75, "y": 1},
-                {"x": 4.75, "y": 1},
-                {"x": 5.75, "y": 1},
-                {"x": 6.75, "y": 1},
-                {"x": 7.75, "y": 1},
-                {"x": 8.75, "y": 1},
-                {"x": 9.75, "y": 1},
-                {"x": 10.75, "y": 1},
-                {"x": 11.75, "y": 1},
-                {"x": 12.75, "y": 1},
-                {"x": 13.75, "y": 1},
-                {"x": 14.75, "y": 1, "w": 1.25},
-                {"x": 17, "y": 1},
-                {"x": 18, "y": 1},
-                {"x": 19, "y": 1},
-                {"x": 20, "y": 1},
-                {"x": 0, "y": 2},
-                {"x": 1, "y": 2},
-                {"x": 2.25, "y": 2, "w": 1.75},
-                {"x": 4, "y": 2},
-                {"x": 5, "y": 2},
-                {"x": 6, "y": 2},
-                {"x": 7, "y": 2},
-                {"x": 8, "y": 2},
-                {"x": 9, "y": 2},
-                {"x": 10, "y": 2},
-                {"x": 11, "y": 2},
-                {"x": 12, "y": 2},
-                {"x": 13, "y": 2},
-                {"x": 14, "y": 2},
-                {"x": 15, "y": 2},
-                {"x": 16, "y": 1, "h": 2},
-                {"x": 17, "y": 2},
-                {"x": 18, "y": 2},
-                {"x": 19, "y": 2},
-                {"x": 0, "y": 3},
-                {"x": 1, "y": 3},
-                {"x": 2.25, "y": 3, "w": 1.25},
-                {"x": 3.5, "y": 3},
-                {"x": 4.5, "y": 3},
-                {"x": 5.5, "y": 3},
-                {"x": 6.5, "y": 3},
-                {"x": 7.5, "y": 3},
-                {"x": 8.5, "y": 3},
-                {"x": 9.5, "y": 3},
-                {"x": 10.5, "y": 3},
-                {"x": 11.5, "y": 3},
-                {"x": 12.5, "y": 3},
-                {"x": 13.5, "y": 3},
-                {"x": 14.5, "y": 3, "w": 1.5},
-                {"x": 16, "y": 3},
-                {"x": 17, "y": 3},
-                {"x": 18, "y": 3},
-                {"x": 19, "y": 3},
-                {"x": 20, "y": 2, "h": 3},
-                {"x": 0, "y": 4},
-                {"x": 1, "y": 4},
-                {"x": 2.25, "y": 4, "w": 2},
-                {"x": 4.25, "y": 4, "w": 9.75},
-                {"x": 14, "y": 4, "w": 2},
-                {"x": 16, "y": 4, "w": 2},
-                {"x": 18, "y": 4, "w": 2}
+                {"matrix": [7, 3], "x": 0, "y": 0},
+                {"matrix": [7, 4], "x": 1, "y": 0},
+
+                {"matrix": [0, 1], "x": 2.25, "y": 0},
+                {"matrix": [0, 2], "x": 3.25, "y": 0},
+                {"matrix": [0, 3], "x": 4.25, "y": 0},
+                {"matrix": [0, 4], "x": 5.25, "y": 0},
+                {"matrix": [0, 5], "x": 6.25, "y": 0},
+                {"matrix": [0, 6], "x": 7.25, "y": 0},
+                {"matrix": [0, 7], "x": 8.25, "y": 0},
+                {"matrix": [1, 0], "x": 9.25, "y": 0},
+                {"matrix": [1, 1], "x": 10.25, "y": 0},
+                {"matrix": [1, 2], "x": 11.25, "y": 0},
+                {"matrix": [1, 3], "x": 12.25, "y": 0},
+                {"matrix": [1, 4], "x": 13.25, "y": 0},
+                {"matrix": [1, 5], "x": 14.25, "y": 0},
+                {"matrix": [1, 6], "x": 15.25, "y": 0, "w": 1.75},
+                {"matrix": [8, 5], "x": 17, "y": 0, "w": 2},
+                {"matrix": [8, 6], "x": 19, "y": 0, "w": 2},
+
+                {"matrix": [7, 5], "x": 0, "y": 1},
+                {"matrix": [7, 6], "x": 1, "y": 1},
+
+                {"matrix": [1, 7], "x": 2.25, "y": 1, "w": 1.5},
+                {"matrix": [2, 0], "x": 3.75, "y": 1},
+                {"matrix": [2, 1], "x": 4.75, "y": 1},
+                {"matrix": [2, 2], "x": 5.75, "y": 1},
+                {"matrix": [2, 3], "x": 6.75, "y": 1},
+                {"matrix": [2, 4], "x": 7.75, "y": 1},
+                {"matrix": [2, 5], "x": 8.75, "y": 1},
+                {"matrix": [2, 6], "x": 9.75, "y": 1},
+                {"matrix": [2, 7], "x": 10.75, "y": 1},
+                {"matrix": [3, 0], "x": 11.75, "y": 1},
+                {"matrix": [3, 1], "x": 12.75, "y": 1},
+                {"matrix": [3, 2], "x": 13.75, "y": 1},
+                {"matrix": [3, 3], "x": 14.75, "y": 1, "w": 1.25},
+                {"matrix": [8, 7], "x": 17, "y": 1},
+                {"matrix": [9, 0], "x": 18, "y": 1},
+                {"matrix": [9, 1], "x": 19, "y": 1},
+                {"matrix": [9, 2], "x": 20, "y": 1},
+
+                {"matrix": [7, 7], "x": 0, "y": 2},
+                {"matrix": [8, 0], "x": 1, "y": 2},
+
+                {"matrix": [3, 5], "x": 2.25, "y": 2, "w": 1.75},
+                {"matrix": [3, 6], "x": 4, "y": 2},
+                {"matrix": [3, 7], "x": 5, "y": 2},
+                {"matrix": [4, 0], "x": 6, "y": 2},
+                {"matrix": [4, 1], "x": 7, "y": 2},
+                {"matrix": [4, 2], "x": 8, "y": 2},
+                {"matrix": [4, 3], "x": 9, "y": 2},
+                {"matrix": [4, 4], "x": 10, "y": 2},
+                {"matrix": [4, 5], "x": 11, "y": 2},
+                {"matrix": [4, 6], "x": 12, "y": 2},
+                {"matrix": [4, 7], "x": 13, "y": 2},
+                {"matrix": [5, 0], "x": 14, "y": 2},
+                {"matrix": [5, 1], "x": 15, "y": 2},
+                {"matrix": [3, 4], "x": 16, "y": 1, "h": 2},
+                {"matrix": [9, 3], "x": 17, "y": 2},
+                {"matrix": [9, 4], "x": 18, "y": 2},
+                {"matrix": [9, 5], "x": 19, "y": 2},
+
+                {"matrix": [8, 1], "x": 0, "y": 3},
+                {"matrix": [8, 2], "x": 1, "y": 3},
+
+                {"matrix": [5, 2], "x": 2.25, "y": 3, "w": 1.25},
+                {"matrix": [5, 3], "x": 3.5, "y": 3},
+                {"matrix": [5, 4], "x": 4.5, "y": 3},
+                {"matrix": [5, 5], "x": 5.5, "y": 3},
+                {"matrix": [5, 6], "x": 6.5, "y": 3},
+                {"matrix": [5, 7], "x": 7.5, "y": 3},
+                {"matrix": [6, 0], "x": 8.5, "y": 3},
+                {"matrix": [6, 1], "x": 9.5, "y": 3},
+                {"matrix": [6, 2], "x": 10.5, "y": 3},
+                {"matrix": [6, 3], "x": 11.5, "y": 3},
+                {"matrix": [6, 4], "x": 12.5, "y": 3},
+                {"matrix": [6, 5], "x": 13.5, "y": 3},
+                {"matrix": [6, 6], "x": 14.5, "y": 3, "w": 1.5},
+                {"matrix": [6, 7], "x": 16, "y": 3},
+                {"matrix": [9, 7], "x": 17, "y": 3},
+                {"matrix": [10, 0], "x": 18, "y": 3},
+                {"matrix": [10, 1], "x": 19, "y": 3},
+                {"matrix": [9, 6], "x": 20, "y": 2, "h": 3},
+
+                {"matrix": [8, 3], "x": 0, "y": 4},
+                {"matrix": [8, 4], "x": 1, "y": 4},
+
+                {"matrix": [7, 0], "x": 2.25, "y": 4, "w": 2},
+                {"matrix": [7, 1], "x": 4.25, "y": 4, "w": 9.75},
+                {"matrix": [7, 2], "x": 14, "y": 4, "w": 2},
+                {"matrix": [10, 2], "x": 16, "y": 4, "w": 2},
+                {"matrix": [10, 3], "x": 18, "y": 4, "w": 2}
             ]
         },
         "LAYOUT": {
             "layout": [
-                {"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": 0, "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},
-                {"x": 13, "y": 1},
-                {"x": 15.25, "y": 1},
-                {"x": 16.25, "y": 1},
-                {"x": 17.25, "y": 1},
-                {"x": 19.5, "y": 1},
-                {"x": 20.5, "y": 1},
-                {"x": 21.5, "y": 1},
-                {"x": 0, "y": 2.5},
-                {"x": 1, "y": 2.5},
-                {"x": 2, "y": 2.5},
-                {"x": 3, "y": 2.5},
-                {"x": 4, "y": 2.5},
-                {"x": 5, "y": 2.5},
-                {"x": 6, "y": 2.5},
-                {"x": 7, "y": 2.5},
-                {"x": 8, "y": 2.5},
-                {"x": 9, "y": 2.5},
-                {"x": 10, "y": 2.5},
-                {"x": 11, "y": 2.5},
-                {"x": 12, "y": 2.5},
-                {"x": 13, "y": 2.5},
-                {"x": 14, "y": 2.5},
-                {"x": 15.25, "y": 2.5},
-                {"x": 16.25, "y": 2.5},
-                {"x": 17.25, "y": 2.5},
-                {"x": 18.5, "y": 2.5},
-                {"x": 19.5, "y": 2.5},
-                {"x": 20.5, "y": 2.5},
-                {"x": 21.5, "y": 2.5},
-                {"x": 0, "y": 3.5, "w": 1.5},
-                {"x": 1.5, "y": 3.5},
-                {"x": 2.5, "y": 3.5},
-                {"x": 3.5, "y": 3.5},
-                {"x": 4.5, "y": 3.5},
-                {"x": 5.5, "y": 3.5},
-                {"x": 6.5, "y": 3.5},
-                {"x": 7.5, "y": 3.5},
-                {"x": 8.5, "y": 3.5},
-                {"x": 9.5, "y": 3.5},
-                {"x": 10.5, "y": 3.5},
-                {"x": 11.5, "y": 3.5},
-                {"x": 12.5, "y": 3.5},
-                {"x": 13.5, "y": 3.5, "w": 1.5},
-                {"x": 15.25, "y": 3.5},
-                {"x": 16.25, "y": 3.5},
-                {"x": 17.25, "y": 3.5},
-                {"x": 18.5, "y": 3.5},
-                {"x": 19.5, "y": 3.5},
-                {"x": 20.5, "y": 3.5},
-                {"x": 21.5, "y": 3.5},
-                {"x": 0, "y": 4.5, "w": 1.75},
-                {"x": 1.75, "y": 4.5},
-                {"x": 2.75, "y": 4.5},
-                {"x": 3.75, "y": 4.5},
-                {"x": 4.75, "y": 4.5},
-                {"x": 5.75, "y": 4.5},
-                {"x": 6.75, "y": 4.5},
-                {"x": 7.75, "y": 4.5},
-                {"x": 8.75, "y": 4.5},
-                {"x": 9.75, "y": 4.5},
-                {"x": 10.75, "y": 4.5},
-                {"x": 11.75, "y": 4.5},
-                {"x": 12.75, "y": 4.5},
-                {"x": 13.75, "y": 4.5, "w": 1.25},
-                {"x": 18.5, "y": 4.5},
-                {"x": 19.5, "y": 4.5},
-                {"x": 20.5, "y": 4.5},
-                {"x": 21.5, "y": 4.5},
-                {"x": 0, "y": 5.5, "w": 1.25},
-                {"x": 1.25, "y": 5.5},
-                {"x": 2.25, "y": 5.5},
-                {"x": 3.25, "y": 5.5},
-                {"x": 4.25, "y": 5.5},
-                {"x": 5.25, "y": 5.5},
-                {"x": 6.25, "y": 5.5},
-                {"x": 7.25, "y": 5.5},
-                {"x": 8.25, "y": 5.5},
-                {"x": 9.25, "y": 5.5},
-                {"x": 10.25, "y": 5.5},
-                {"x": 11.25, "y": 5.5},
-                {"x": 12.25, "y": 5.5},
-                {"x": 13.25, "y": 5.5, "w": 1.75},
-                {"x": 16.25, "y": 5.5},
-                {"x": 18.5, "y": 5.5},
-                {"x": 19.5, "y": 5.5},
-                {"x": 20.5, "y": 5.5},
-                {"x": 21.5, "y": 5.5},
-                {"x": 0, "y": 6.5, "w": 1.25},
-                {"x": 1.25, "y": 6.5, "w": 1.25},
-                {"x": 2.5, "y": 6.5, "w": 1.25},
-                {"x": 3.75, "y": 6.5, "w": 1.25},
-                {"x": 5, "y": 6.5, "w": 3.25},
-                {"x": 8.25, "y": 6.5, "w": 1.25},
-                {"x": 9.5, "y": 6.5, "w": 1.25},
-                {"x": 10.75, "y": 6.5},
-                {"x": 11.75, "y": 6.5},
-                {"x": 12.75, "y": 6.5},
-                {"x": 13.75, "y": 6.5, "w": 1.25},
-                {"x": 15.25, "y": 6.5},
-                {"x": 16.25, "y": 6.5},
-                {"x": 17.25, "y": 6.5},
-                {"x": 18.5, "y": 6.5, "w": 2},
-                {"x": 20.5, "y": 6.5},
-                {"x": 21.5, "y": 6.5}
+                {"matrix": [12, 4], "x": 2, "y": 0},
+                {"matrix": [12, 5], "x": 3, "y": 0},
+                {"matrix": [12, 6], "x": 4, "y": 0},
+                {"matrix": [12, 7], "x": 5, "y": 0},
+                {"matrix": [13, 0], "x": 6, "y": 0},
+                {"matrix": [13, 1], "x": 7, "y": 0},
+                {"matrix": [13, 2], "x": 8, "y": 0},
+                {"matrix": [13, 3], "x": 9, "y": 0},
+                {"matrix": [13, 4], "x": 10, "y": 0},
+                {"matrix": [13, 5], "x": 11, "y": 0},
+                {"matrix": [13, 6], "x": 12, "y": 0},
+                {"matrix": [14, 6], "x": 13, "y": 0},
+
+                {"matrix": [0, 1], "x": 0, "y": 1},
+
+                {"matrix": [7, 3], "x": 2, "y": 1},
+                {"matrix": [7, 4], "x": 3, "y": 1},
+                {"matrix": [7, 5], "x": 4, "y": 1},
+                {"matrix": [7, 6], "x": 5, "y": 1},
+                {"matrix": [7, 7], "x": 6, "y": 1},
+                {"matrix": [8, 0], "x": 7, "y": 1},
+                {"matrix": [8, 1], "x": 8, "y": 1},
+                {"matrix": [8, 2], "x": 9, "y": 1},
+                {"matrix": [8, 3], "x": 10, "y": 1},
+                {"matrix": [8, 4], "x": 11, "y": 1},
+                {"matrix": [10, 7], "x": 12, "y": 1},
+                {"matrix": [11, 0], "x": 13, "y": 1},
+
+                {"matrix": [10, 4], "x": 15.25, "y": 1},
+                {"matrix": [8, 6], "x": 16.25, "y": 1},
+                {"matrix": [10, 5], "x": 17.25, "y": 1},
+
+                {"matrix": [11, 5], "x": 19.5, "y": 1},
+                {"matrix": [11, 6], "x": 20.5, "y": 1},
+                {"matrix": [11, 7], "x": 21.5, "y": 1},
+
+                {"matrix": [5, 1], "x": 0, "y": 2.5},
+                {"matrix": [0, 2], "x": 1, "y": 2.5},
+                {"matrix": [0, 3], "x": 2, "y": 2.5},
+                {"matrix": [0, 4], "x": 3, "y": 2.5},
+                {"matrix": [0, 5], "x": 4, "y": 2.5},
+                {"matrix": [0, 6], "x": 5, "y": 2.5},
+                {"matrix": [0, 7], "x": 6, "y": 2.5},
+                {"matrix": [1, 0], "x": 7, "y": 2.5},
+                {"matrix": [1, 1], "x": 8, "y": 2.5},
+                {"matrix": [1, 2], "x": 9, "y": 2.5},
+                {"matrix": [1, 3], "x": 10, "y": 2.5},
+                {"matrix": [1, 4], "x": 11, "y": 2.5},
+                {"matrix": [1, 5], "x": 12, "y": 2.5},
+                {"matrix": [15, 5], "x": 13, "y": 2.5},
+                {"matrix": [1, 6], "x": 14, "y": 2.5},
+
+                {"matrix": [14, 1], "x": 15.25, "y": 2.5},
+                {"matrix": [14, 4], "x": 16.25, "y": 2.5},
+                {"matrix": [14, 7], "x": 17.25, "y": 2.5},
+
+                {"matrix": [8, 5], "x": 18.5, "y": 2.5},
+                {"matrix": [15, 7], "x": 19.5, "y": 2.5},
+                {"matrix": [6, 7], "x": 20.5, "y": 2.5},
+                {"matrix": [9, 2], "x": 21.5, "y": 2.5},
+
+                {"matrix": [1, 7], "x": 0, "y": 3.5, "w": 1.5},
+                {"matrix": [2, 0], "x": 1.5, "y": 3.5},
+                {"matrix": [2, 1], "x": 2.5, "y": 3.5},
+                {"matrix": [2, 2], "x": 3.5, "y": 3.5},
+                {"matrix": [2, 3], "x": 4.5, "y": 3.5},
+                {"matrix": [2, 4], "x": 5.5, "y": 3.5},
+                {"matrix": [2, 5], "x": 6.5, "y": 3.5},
+                {"matrix": [2, 6], "x": 7.5, "y": 3.5},
+                {"matrix": [2, 7], "x": 8.5, "y": 3.5},
+                {"matrix": [3, 0], "x": 9.5, "y": 3.5},
+                {"matrix": [3, 1], "x": 10.5, "y": 3.5},
+                {"matrix": [3, 2], "x": 11.5, "y": 3.5},
+                {"matrix": [3, 3], "x": 12.5, "y": 3.5},
+                {"matrix": [5, 3], "x": 13.5, "y": 3.5, "w": 1.5},
+
+                {"matrix": [14, 2], "x": 15.25, "y": 3.5},
+                {"matrix": [14, 5], "x": 16.25, "y": 3.5},
+                {"matrix": [15, 0], "x": 17.25, "y": 3.5},
+
+                {"matrix": [8, 7], "x": 18.5, "y": 3.5},
+                {"matrix": [9, 0], "x": 19.5, "y": 3.5},
+                {"matrix": [9, 1], "x": 20.5, "y": 3.5},
+                {"matrix": [9, 6], "x": 21.5, "y": 3.5},
+
+                {"matrix": [7, 2], "x": 0, "y": 4.5, "w": 1.75},
+                {"matrix": [3, 6], "x": 1.75, "y": 4.5},
+                {"matrix": [3, 7], "x": 2.75, "y": 4.5},
+                {"matrix": [4, 0], "x": 3.75, "y": 4.5},
+                {"matrix": [4, 1], "x": 4.75, "y": 4.5},
+                {"matrix": [4, 2], "x": 5.75, "y": 4.5},
+                {"matrix": [4, 3], "x": 6.75, "y": 4.5},
+                {"matrix": [4, 4], "x": 7.75, "y": 4.5},
+                {"matrix": [4, 5], "x": 8.75, "y": 4.5},
+                {"matrix": [4, 6], "x": 9.75, "y": 4.5},
+                {"matrix": [4, 7], "x": 10.75, "y": 4.5},
+                {"matrix": [5, 0], "x": 11.75, "y": 4.5},
+                {"matrix": [0, 0], "x": 12.75, "y": 4.5},
+                {"matrix": [3, 4], "x": 13.75, "y": 4.5, "w": 1.25},
+
+                {"matrix": [9, 3], "x": 18.5, "y": 4.5},
+                {"matrix": [9, 4], "x": 19.5, "y": 4.5},
+                {"matrix": [9, 5], "x": 20.5, "y": 4.5},
+                {"matrix": [15, 6], "x": 21.5, "y": 4.5},
+
+                {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25},
+                {"matrix": [10, 6], "x": 1.25, "y": 5.5},
+                {"matrix": [5, 4], "x": 2.25, "y": 5.5},
+                {"matrix": [5, 5], "x": 3.25, "y": 5.5},
+                {"matrix": [5, 6], "x": 4.25, "y": 5.5},
+                {"matrix": [5, 7], "x": 5.25, "y": 5.5},
+                {"matrix": [6, 0], "x": 6.25, "y": 5.5},
+                {"matrix": [6, 1], "x": 7.25, "y": 5.5},
+                {"matrix": [6, 2], "x": 8.25, "y": 5.5},
+                {"matrix": [6, 3], "x": 9.25, "y": 5.5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5.5},
+                {"matrix": [6, 5], "x": 11.25, "y": 5.5},
+                {"matrix": [14, 3], "x": 12.25, "y": 5.5},
+                {"matrix": [6, 6], "x": 13.25, "y": 5.5, "w": 1.75},
+
+                {"matrix": [12, 0], "x": 16.25, "y": 5.5},
+
+                {"matrix": [9, 7], "x": 18.5, "y": 5.5},
+                {"matrix": [10, 0], "x": 19.5, "y": 5.5},
+                {"matrix": [10, 1], "x": 20.5, "y": 5.5},
+                {"matrix": [13, 7], "x": 21.5, "y": 5.5},
+
+                {"matrix": [3, 5], "x": 0, "y": 6.5, "w": 1.25},
+                {"matrix": [11, 2], "x": 1.25, "y": 6.5, "w": 1.25},
+                {"matrix": [7, 0], "x": 2.5, "y": 6.5, "w": 1.25},
+                {"matrix": [15, 3], "x": 3.75, "y": 6.5, "w": 1.25},
+                {"matrix": [7, 1], "x": 5, "y": 6.5, "w": 3.25},
+                {"matrix": [15, 1], "x": 8.25, "y": 6.5, "w": 1.25},
+                {"matrix": [14, 0], "x": 9.5, "y": 6.5, "w": 1.25},
+                {"matrix": [15, 4], "x": 10.75, "y": 6.5},
+                {"matrix": [11, 3], "x": 11.75, "y": 6.5},
+                {"matrix": [11, 4], "x": 12.75, "y": 6.5},
+                {"matrix": [15, 2], "x": 13.75, "y": 6.5, "w": 1.25},
+
+                {"matrix": [12, 1], "x": 15.25, "y": 6.5},
+                {"matrix": [12, 2], "x": 16.25, "y": 6.5},
+                {"matrix": [12, 3], "x": 17.25, "y": 6.5},
+
+                {"matrix": [10, 2], "x": 18.5, "y": 6.5, "w": 2},
+                {"matrix": [10, 3], "x": 20.5, "y": 6.5},
+                {"matrix": [11, 1], "x": 21.5, "y": 6.5}
             ]
         }
     }

+ 0 - 134
keyboards/converter/xt_usb/xt_usb.h

@@ -1,134 +0,0 @@
-/*
-Copyright 2011,2012,2013 Jun Wako <wakojun@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 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
-
-/* IBM XT keyboard layout
- * ,-------.  ,--------------------------------------------------------------------------.
- * | F1| F2|  |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  BS  |NumLck |ScrLck |
- * |-------|  |--------------------------------------------------------------------------|
- * | F3| F4|  | Tab |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ] |   |  7|  8|  9|  -|
- * |-------|  |------------------------------------------------------|Ent|---------------|
- * | F5| F6|  | Ctrl |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  `|   |  4|  5|  6|   |
- * |-------|  |----------------------------------------------------------------------|   |
- * | F7| F8|  |Shif|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift|  *|  1|  2|  3|  +|
- * |-------|  |----------------------------------------------------------------------|   |
- * | F9|F10|  |  Alt  |               Space                  |CapsLck|   0   |   .   |   |
- * `-------'  `--------------------------------------------------------------------------'
- * Scan code set 1
- * ,-------.  ,--------------------------------------------------------------------------.
- * | 3B| 3C|  | 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D|  0E  |  45   |  46   |
- * |-------|  |--------------------------------------------------------------------------|
- * | 3D| 3E|  | 0F  | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B |   | 47| 48| 49| 4A|
- * |-------|  |------------------------------------------------------| 1C|---------------|
- * | 3F| 40|  | 1D   | 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29|   | 4B| 4C| 4D|   |
- * |-------|  |----------------------------------------------------------------------|   |
- * | 41| 42|  | 2A | 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 35|  36 | 37| 4F| 50| 51| 4E|
- * |-------|  |----------------------------------------------------------------------|   |
- * | 43| 44|  |  38   |              39                      |  3A   |  52   |  53   |   |
- * `-------'  `--------------------------------------------------------------------------'
- */
-#define LAYOUT_xt( \
-    k3B, k3C,   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k45,      k46, \
-    k3D, k3E,   k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B,      k47, k48, k49, k4A, \
-    k3F, k40,   k1D, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k1C, k4B, k4C, k4D, \
-    k41, k42,   k2A, k2B, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k36, k37, k4F, k50, k51, k4E, \
-    k43, k44,   k38,                          k39,                     k3A,      k52,      k53 \
-) { \
-    { XXX, k01, k02, k03, k04, k05, k06, k07 }, \
-    { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
-    { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47 }, \
-    { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { k50, k51, k52, k53, XXX, XXX, XXX, XXX }, \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
-    { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
-}
-
-/* Extended keyboard layout
- *         ,-----------------------------------------------.
- *         |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
- * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
- * |Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau|     |VDn|VUp|Mut|
- * `---'   `-----------------------------------------------'     `-----------'     `-----------'
- * ,-----------------------------------------------------------. ,-----------. ,---------------.
- * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
- * |-----------------------------------------------------------| |-----------| |---------------|
- * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
- * |-----------------------------------------------------------| `-----------' |---------------|
- * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Entr|               |  4|  5|  6|KP,|
- * |-----------------------------------------------------------|     ,---.     |---------------|
- * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|Ent|
- * |-----------------------------------------------------------| ,-----------. |---------------|
- * |Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|KP=|
- * `-----------------------------------------------------------' `-----------' `---------------'
- *         ,-----------------------------------------------.
- *         | 64| 65| 66| 67| 68| 69| 6A| 6B| 6C| 6D| 6E| 76|
- * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
- * | 01|   | 3B| 3C| 3D| 3E| 3F| 40| 41| 42| 43| 44| 57| 58|     |*37| 46|*45|     |e5E|e5F|e63|
- * `---'   `-----------------------------------------------'     `-----------'     `-----------'
- * ,-----------------------------------------------------------. ,-----------. ,---------------.
- * | 29| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 7D| 0E| |e52|e47|e49| | 45|e35| 37| 4A|
- * |-----------------------------------------------------------| |-----------| |---------------|
- * | 0F  | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B|  2B | |e53|e4F|e51| | 47| 48| 49| 4E|
- * |-----------------------------------------------------------| `-----------' |---------------|
- * |  3A  | 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| 28| 00| 1C |               | 4B| 4C| 4D| 7E|
- * |-----------------------------------------------------------|     ,---.     |---------------|
- * | 2A | 56| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 35| 73|  36  |     |e48|     | 4F| 50| 51|e1C|
- * |-----------------------------------------------------------| ,-----------. |---------------|
- * | 1D|e5B| 38| 7B |       39       | 79 | 70 |e38|e5C|e5D|e1D| |e4B|e50|e4D| |     52| 53| 59|
- * `-----------------------------------------------------------' `-----------' `---------------'
- * e: E0-escaped codes
- * *: special handling codes
- */
-#define LAYOUT( \
-              k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k76, \
-    k01,      k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k57, k58,        k54, k46, k55,        k5D, k5E, k5F, \
-    k29, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k7D, k0E,   k71, k74, k77,   k45, k7F, k37, k4A, \
-    k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k2B,        k72, k75, k78,   k47, k48, k49, k4E, \
-    k3A, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k00, k1C,                         k4B, k4C, k4D, k7E, \
-    k2A, k56, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k73, k36,             k60,        k4F, k50, k51, k6F, \
-    k1D, k5A, k38, k7B,           k39,      k79, k70, k7C, k5B, k5C, k7A,        k61, k62, k63,   k52,      k53, k59 \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07 }, \
-    { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
-    { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47 }, \
-    { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57 }, \
-    { k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67 }, \
-    { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
-    { k70, k71, k72, k73, k74, k75, k76, k77 }, \
-    { k78, k79, k7A, k7B, k7C, k7D, k7E, k7F } \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/duck/jetfire/info.json


+ 1 - 1
keyboards/duck/jetfire/jetfire.c

@@ -13,7 +13,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "jetfire.h"
+#include "quantum.h"
 #include "indicator_leds.h"
 
 enum BACKLIGHT_AREAS {

+ 0 - 58
keyboards/duck/jetfire/jetfire.h

@@ -1,58 +0,0 @@
-/* Copyright 2018 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 following is an example using the Planck MIT 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_all( \
-    K5A,      K5C, K5D, K5E, K5F,      K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, K5Q, K5R, K5S, K5T, \
-    K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, K4R, K4S, K4T, \
-    K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M,      K3O, K3P, K3Q, K3R, K3S, K3T, \
-    K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L,           K2O,      K2Q, K2R, K2S, K2T, \
-    K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K,      K1M, K1N, K1O, K1P, K1Q, K1R, K1S, K1T, \
-    K0A, K0B, K0C,                          K0I,           K0L, K0M, K0N, K0O, K0P, K0Q, K0R, K0S, K0T  \
-) { \
-  { K5A, KC_NO,    K5C, K5D, K5E, K5F, KC_NO,     K5H, K5I, K5J,   K5K,  K5L, K5M, K5N, K5O, K5P, K5Q, K5R, K5S, K5T }, \
-  { K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I,  K4J, K4K, K4L,   K4M,  K4N,    K4O, K4P, K4Q, K4R, K4S, K4T }, \
-  { K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I,  K3J, K3K, K3L,   K3M,  KC_NO,    K3O, K3P, K3Q, K3R, K3S, K3T }, \
-  { K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I,  K2J, K2K, K2L,   KC_NO,     KC_NO,    K2O, KC_NO,    K2Q, K2R, K2S, K2T    }, \
-  { K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I,  K1J, K1K, KC_NO, K1M,  K1N, K1O,    K1P, K1Q, K1R, K1S, K1T }, \
-  { K0A, K0B, K0C, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, K0I, KC_NO,KC_NO, K0L, K0M, K0N, K0O, K0P, K0Q, K0R, K0S, K0T    }  \
-}
-
-#define LAYOUT( \
-    K5A,      K5C, K5D, K5E, K5F,      K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, K5Q, K5R, K5S, K5T, \
-    K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M,      K4O, K4P, K4Q, K4R, K4S, K4T, \
-    K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M,      K3O, K3P, K3Q, K3R, K3S, K3T, \
-    K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L,           K2O,      K2Q, K2R, K2S,      \
-    K1A,      K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K,      K1M, K1N,      K1P, K1Q, K1R, K1S, K1T, \
-    K0A, K0B, K0C,                          K0I,                K0M, K0N, K0O, K0P, K0Q, K0R, K0S       \
-) { \
-  { K5A, KC_NO,    K5C, K5D, K5E, K5F, KC_NO,    K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, K5Q, K5R, K5S, K5T }, \
-  { K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, KC_NO,    K4O, K4P, K4Q, K4R, K4S, K4T }, \
-  { K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, KC_NO,    K3O, K3P, K3Q, K3R, K3S, K3T }, \
-  { K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, KC_NO,    KC_NO,    K2O, KC_NO,    K2Q, K2R, K2S, KC_NO    }, \
-  { K1A, KC_NO,    K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, KC_NO,    K1M, K1N, KC_NO,    K1P, K1Q, K1R, K1S, K1T }, \
-  { K0A, K0B, K0C, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, K0I, KC_NO,KC_NO,KC_NO, K0M, K0N, K0O, K0P, K0Q, K0R, K0S, KC_NO    }  \
-}
-

File diff suppressed because it is too large
+ 0 - 0
keyboards/duck/tcv3/info.json


+ 1 - 1
keyboards/duck/tcv3/tcv3.c

@@ -13,7 +13,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "tcv3.h"
+#include "quantum.h"
 #include "indicator_leds.h"
 
 enum BACKLIGHT_AREAS {

+ 0 - 53
keyboards/duck/tcv3/tcv3.h

@@ -1,53 +0,0 @@
-/* Copyright 2019 MechMerlin <mechmerlin@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 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_all( \
-    K00, K01,   K02,      K04, K05, K06, K07,   K09, K0A, K0B, K0C,    K0D, K0E, K0F, K0G,   K0J, K0I, \
-    K10, K11,   K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,   K1H, K1I, \
-    K20, K21,   K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,      K2G,   K2H, K2I, \
-    K30, K31,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,      K3G,   K3H, K3I, \
-    K40, K41,   K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,      K4E, K4F, K4G,  K4H,       \
-    K50, K51,   K52, K53, K54,                          K5A,      K5C,      K5E, K5F,  K5G, K5H, K5I   \
-) { \
-  { K00, K01,   K02, XXX, K04, K05, K06, K07, XXX, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, XXX, K0I, K0J }, \
-  { K10, K11,   K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, XXX }, \
-  { K20, K21,   K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX, K2G, K2H, K2I, XXX }, \
-  { K30, K31,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, XXX, K3G, K3H, K3I, XXX }, \
-  { K40, K41,   K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, K4E, K4F, K4G, K4H, XXX, XXX }, \
-  { K50, K51,   K52, K53, K54, XXX, XXX, XXX, XXX, XXX, K5A, XXX, K5C, XXX, K5E, K5F, K5G, K5H, K5I, XXX }, \
-}
-
-
-#define LAYOUT( \
-    K00, K01,   K02,      K04, K05, K06, K07,   K09, K0A, K0B, K0C,    K0D, K0E, K0F, K0G,   K0J, K0I, \
-    K10, K11,   K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,      K1G,   K1H, K1I, \
-    K20, K21,   K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,      K2G,   K2H, K2I, \
-    K30, K31,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,           K3G,   K3H, K3I, \
-    K40, K41,   K42,      K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,      K4E, K4F,       K4H,       \
-    K50, K51,   K52, K53, K54,                          K5A,      K5C,      K5E, K5F,  K5G, K5H, K5I   \
-) { \
-  { K00, K01,   K02, XXX, K04, K05, K06, K07, XXX, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, XXX, K0I, K0J }, \
-  { K10, K11,   K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, XXX, K1G, K1H, K1I, XXX }, \
-  { K20, K21,   K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX, K2G, K2H, K2I, XXX }, \
-  { K30, K31,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, XXX, K3G, K3H, K3I, XXX }, \
-  { K40, K41,   K42, XXX, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, K4E, K4F, XXX, K4H, XXX, XXX }, \
-  { K50, K51,   K52, K53, K54, XXX, XXX, XXX, XXX, XXX, K5A, XXX, K5C, XXX, K5E, K5F, K5G, K5H, K5I, XXX }, \
-}

+ 174 - 3
keyboards/eve/meteor/info.json

@@ -26,11 +26,182 @@
     "bootloader": "bootloadhid",
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5}, {"x":11, "y":5.5}, {"x":12, "y":5.5}, {"x":13, "y":5.5}, {"x":14, "y":5.5}]
-        },
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "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.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+                {"matrix": [0, 8], "x": 8.5, "y": 0},
+                {"matrix": [0, 9], "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": [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": [1, 13], "x": 13, "y": 1.5},
+                {"matrix": [1, 14], "x": 14, "y": 1.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": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
+
+                {"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},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
+                {"matrix": [5, 3], "x": 1.25, "y": 4.5},
+                {"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": [4, 13], "x": 14, "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, 5], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 9], "x": 10, "y": 5.5},
+                {"matrix": [5, 10], "x": 11, "y": 5.5},
+                {"matrix": [5, 11], "x": 12, "y": 5.5},
+                {"matrix": [5, 12], "x": 13, "y": 5.5},
+                {"matrix": [5, 13], "x": 14, "y": 5.5}
+            ]
+        },
         "LAYOUT": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5, "w":1.75}, {"x":13, "y":4.5}, {"x":14, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5}, {"x":11, "y":5.5}, {"x":12, "y":5.5}, {"x":13, "y":5.5}, {"x":14, "y":5.5}]
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "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.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+                {"matrix": [0, 8], "x": 8.5, "y": 0},
+                {"matrix": [0, 9], "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": [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": [1, 13], "x": 13, "y": 1.5, "w": 2},
+
+                {"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": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
+
+                {"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},
+
+                {"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, "w": 1.75},
+                {"matrix": [4, 11], "x": 13, "y": 4.5},
+                {"matrix": [4, 13], "x": 14, "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, 5], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 9], "x": 10, "y": 5.5},
+                {"matrix": [5, 10], "x": 11, "y": 5.5},
+                {"matrix": [5, 11], "x": 12, "y": 5.5},
+                {"matrix": [5, 12], "x": 13, "y": 5.5},
+                {"matrix": [5, 13], "x": 14, "y": 5.5}
+            ]
         }
     }
 }

+ 0 - 54
keyboards/eve/meteor/meteor.h

@@ -1,54 +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
-// The second converts the arguments into a two-dimensional array
-
-#define LAYOUT_all( \
-  k00, 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, k2D,      \
-  k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,           \
-  k40, k53, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D,      \
-  k50, k51, k52, k55, k59, k5A, k5B, k5C, k5D                                \
-){ \
-  { k00, KC_NO, k02, k03, k04,   k05, k06,   k07,   k08,   k09, k0A, k0B, k0C,   k0D,   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,   KC_NO  }, \
-  { k30, k31,   k32, k33, k34,   k35, k36,   k37,   k38,   k39, k3A, k3B, k3C,   KC_NO, KC_NO  }, \
-  { k40, k41,   k42, k43, k44,   k45, k46,   k47,   k48,   k49, k4A, k4B, KC_NO, k4D,   KC_NO  }, \
-  { k50, k51,   k52, k53, KC_NO, k55, KC_NO, KC_NO, KC_NO, k59, k5A, k5B, k5C,   k5D,   KC_NO  }, \
-}
-
-#define LAYOUT( \
-  k00, 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,      \
-  k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D,      \
-  k50, k51, k52, k55, k59, k5A, k5B, k5C, k5D                           \
-){ \
-  { k00, KC_NO, k02, k03,   k04,   k05, k06,   k07,   k08,   k09, k0A, k0B, k0C,   k0D,   KC_NO  }, \
-  { k10, k11,   k12, k13,   k14,   k15, k16,   k17,   k18,   k19, k1A, k1B, k1C,   k1D,   KC_NO  }, \
-  { k20, k21,   k22, k23,   k24,   k25, k26,   k27,   k28,   k29, k2A, k2B, k2C,   k2D,   KC_NO  }, \
-  { k30, k31,   k32, k33,   k34,   k35, k36,   k37,   k38,   k39, k3A, k3B, k3C,   KC_NO, KC_NO  }, \
-  { k40, k41,   k42, k43,   k44,   k45, k46,   k47,   k48,   k49, k4A, k4B, KC_NO, k4D,   KC_NO  }, \
-  { k50, k51,   k52, KC_NO, KC_NO, k55, KC_NO, KC_NO, KC_NO, k59, k5A, k5B, k5C,   k5D,   KC_NO  }, \
-}

+ 437 - 437
keyboards/evyd13/plain60/info.json

@@ -23,495 +23,495 @@
     "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
-                {"x": 13.75, "y": 2, "w": 1.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},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.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},
+                {"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},
 
-                {"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, "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}
+                {"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, 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}
             ]
         },
         "LAYOUT_60_ansi": {
             "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, 14], "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},
+                {"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},
+                {"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},
 
-                {"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": 2.75},
+                {"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.75},
 
-                {"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, "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}
+                {"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, 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}
             ]
         },
         "LAYOUT_60_ansi_split_bs_rshift": {
             "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
+                {"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},
 
-                {"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, "y": 3},
+                {"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, "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": 6.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}
+                {"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, 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}
             ]
         },
         "LAYOUT_60_hhkb": {
             "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
+                {"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},
 
-                {"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, "y": 3},
+                {"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, "y": 3},
 
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4}
+                {"matrix": [4, 1], "x": 1.5, "y": 4},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4}
             ]
         },
         "LAYOUT_60_iso": {
             "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, 14], "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},
+                {"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},
 
-                {"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},
-                {"x": 13.75, "y": 1, "w": 1.25, "h": 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},
+                {"matrix": [2, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 
-                {"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": 2.75},
+                {"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": 2.75},
 
-                {"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, "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}
+                {"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, 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}
             ]
         },
         "LAYOUT_60_iso_split_bs_rshift": {
             "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
 
-                {"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},
-                {"x": 13.75, "y": 1, "w": 1.25, "h": 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},
+                {"matrix": [2, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 
-                {"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},
+                {"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},
 
-                {"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, "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}
+                {"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, 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}
             ]
         },
         "LAYOUT_60_tsangan_hhkb": {
             "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
+                {"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},
 
-                {"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, "y": 3},
+                {"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, "y": 3},
 
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 1], "x": 1.5, "y": 4},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         }
     }

+ 0 - 114
keyboards/evyd13/plain60/plain60.h

@@ -1,114 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-// readability
-#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, \
-    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,                k46,                k4a, k4b, k4c, k4d  \
-) \
-{ \
-    {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, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX}  \
-}
-
-#define LAYOUT_60_ansi( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,      k0e, \
-    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,      k2d, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,      \
-    k40, k41, k42,                k46,                k4a, k4b, k4c, k4d  \
-) \
-{ \
-    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e}, \
-    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
-    {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX}  \
-}
-
-#define LAYOUT_60_ansi_split_bs_rshift( \
-    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, \
-    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,                k46,                k4a, k4b, k4c, k4d  \
-) \
-{ \
-    {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, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
-    {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX}  \
-}
-
-#define LAYOUT_60_hhkb( \
-    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, \
-    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, \
-         k41, k42,                k46,                     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, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
-    {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
-    {XXX, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX}  \
-}
-
-#define LAYOUT_60_tsangan_hhkb( \
-    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, \
-    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,                k46,                     k4b, k4c, k4d  \
-) \
-{ \
-    {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, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
-    {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX}  \
-}
-
-#define LAYOUT_60_iso( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,      k0e, \
-    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,      \
-    k40, k41, k42,                k46,                k4a, k4b, k4c, k4d  \
-) \
-{ \
-    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e}, \
-    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX}  \
-}
-
-#define LAYOUT_60_iso_split_bs_rshift( \
-    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,      \
-    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,                k46,                k4a, k4b, k4c, k4d  \
-) \
-{ \
-    {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, XXX, XXX}, \
-    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
-    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
-    {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX}  \
-}
-
-void matrix_init_user(void);
-void matrix_scan_user(void);

File diff suppressed because it is too large
+ 0 - 0
keyboards/exclusive/e6v2/le/info.json


+ 0 - 60
keyboards/exclusive/e6v2/le/le.h

@@ -1,60 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
-    k40,      k42, k43, k44,           k47,      k49, k4A, k4B, k4C, k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
-    { k40, XXX, k42, k43, k44, XXX, XXX, k47, XXX, k49, k4A, k4B, k4C, k4D, k4E } \
-}
-
-#define LAYOUT_60_ansi( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,      k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
-    k40,      k42, k43,                k47,           k4A, k4B,      k4D, k4E \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
-    { k40, XXX, k42, k43, XXX, XXX, XXX, k47, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
-}
-
-/* LAYOUT_60_hhkb
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │0d │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │10   │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e   │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │20    │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d      │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
- * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c    │3e │
- * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──────┬┴───┴┬───┬─┴───┤
- * │▓▓▓▓▓│42 │43   │47 (7u)                    │4b   │4d │▓▓▓▓▓│
- * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
-*/
-#define LAYOUT_60_hhkb( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0D, \
-    k10,      k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
-    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      k3E, \
-              k42, k43,                k47,                k4B,      k4D \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
-    { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
-    { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX, k3E }, \
-    { XXX, XXX, k42, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4B, XXX, k4D, XXX } \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/exclusive/e6v2/oe/info.json


+ 1 - 1
keyboards/exclusive/e6v2/oe/oe.c

@@ -1,4 +1,4 @@
-#include "oe.h"
+#include "quantum.h"
 
 void led_init_ports(void) {
     setPinOutput(B2);

+ 0 - 61
keyboards/exclusive/e6v2/oe/oe.h

@@ -1,61 +0,0 @@
-#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, \
-      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,                k46,                k4A,  k4B,  k4C,  k4D \
-) { \
-    { 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, XXX }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX }, \
-    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
-}
-
-#define LAYOUT_60_ansi( \
-    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,        k2D, \
-     k30,  k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3C, \
-    k40,  k41,  k42,                k46,                k4A,  k4B,  k4C,  k4D \
-) { \
-    { 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, XXX }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX, XXX }, \
-    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
-}
-
-#define LAYOUT_hhkb( \
-    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,       k2D, \
-        k30,   k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,   k3C,  k3D, \
-          k41,  k42,                 k46,                   k4B,  k4C \
-) { \
-    { 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, XXX }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX }, \
-    { XXX, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, XXX, XXX } \
-}
-
-#define LAYOUT_hhkb_splits( \
-    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, \
-      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, \
-          k41,  k42,                 k46,                   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, XXX }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX }, \
-    { XXX, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, XXX, XXX } \
-}

+ 535 - 538
keyboards/gh60/revc/info.json

@@ -23,572 +23,569 @@
     "layouts": {
         "LAYOUT_all": {
             "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},
-                {"x": 13.75, "y": 2, "w": 1.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": 6.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}
+                {"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": [4, 9], "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, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "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": 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},
-                {"x": 13.75, "y": 2, "w": 1.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": 6.25},
-                {"x": 14, "y": 0},
-                {"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}
+                {"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": [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, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 9], "x": 14, "y": 0},
+                {"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}
             ]
         },
-
         "LAYOUT_60_ansi": {
             "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},
-
-                {"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": 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": 2.75},
-                {"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, "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}
+                {"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": [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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
-
         "LAYOUT_60_iso": {
             "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},
-
-                {"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": 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},
-                {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
-
-                {"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": 2.75},
-
-                {"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, "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}
+                {"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": [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": 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},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
-
         "LAYOUT_60_ansi_split_bs_rshift": {
             "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": 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, "y": 3},
-
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 6},
-                {"x": 10, "y": 4, "w": 1.5},
-                {"x": 11.5, "y": 4},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [4, 9], "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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "x": 14, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 1], "x": 1.5, "y": 4},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 5], "x": 4, "y": 4, "w": 6},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+                {"matrix": [4, 11], "x": 11.5, "y": 4},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         },
         "LAYOUT_60_ansi_split_rshift": {
             "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},
-
-                {"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": 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, "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": 6.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}
+                {"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": [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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "LAYOUT_60_abnt2": {
             "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},
-
-                {"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": 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},
-                {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
-
-                {"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},
-                {"x": 13.25, "y": 3, "w": 1.75},
-
-                {"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, "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}
+                {"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": [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": 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},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 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, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "LAYOUT_60_tsangan_hhkb": {
             "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": 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, "y": 3},
-
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [4, 9], "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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "x": 14, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 1], "x": 1.5, "y": 4},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         }
     }

+ 0 - 133
keyboards/gh60/revc/revc.h

@@ -23,136 +23,3 @@ static inline void gh60_poker_leds_off(void)   { setPinInput(F4); }
 static inline void gh60_fn_led_off(void)       { setPinInput(F5); }
 static inline void gh60_esc_led_off(void)      { setPinInput(F6); }
 static inline void gh60_wasd_leds_off(void)    { setPinInput(F7); }
-
-/* GH60 keymap definition macro
- * K2C, K31 and  K3C are extra keys for ISO
- */
-#define LAYOUT_all( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
-    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, K3D, K3C, \
-    K40, K41, K42,           K45,                     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, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D }  \
-}
-
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
-    K40, K41, K42,           K45,                K49, 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, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D }  \
-}
-
-/* ANSI variant. No extra keys for ISO */
-#define LAYOUT_60_ansi( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, 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,      K2D, \
-    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
-    K40, K41, K42,           K45,                     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, KC_NO, K2D }, \
-    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B, KC_NO, K3D }, \
-    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D }  \
-}
-
-/* ISO variant. Remove useless ANSI keys */
-#define LAYOUT_60_iso( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, 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,      K3D, \
-    K40, K41, K42,           K45,                     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,   KC_NO }, \
-    { 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, KC_NO, K3D   }, \
-    { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D   }  \
-}
-
-
-/* HHKB Variant */
-#define LAYOUT_60_ansi_split_bs_rshift( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
-    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,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
-    K40, K41, K42,           K45,                     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, KC_NO, K2D }, \
-    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39, K3A, K3B, K3C,   K3D }, \
-    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C,   K4D }  \
-}
-
-/* ANSI with split Right Shift. No extra keys for ISO */
-#define LAYOUT_60_ansi_split_rshift( \
-    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,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
-    K40, K41, K42,           K45,                     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, KC_NO, K2D }, \
-    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B, K3C,   K3D }, \
-    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D }  \
-}
-
-/* LAYOUT_60_abnt2
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d     │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │     │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d  │
- * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │    │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │30  │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │  3d  │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
- * │40  │41  │42  │45                      │4a  │4b  │4c  │4d  │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
-*/
-#define LAYOUT_60_abnt2( \
-    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,      \
-    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,            K45,                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,   KC_NO }, \
-    { 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, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D   }  \
-}
-
-#define LAYOUT_60_tsangan_hhkb( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
-    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,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
-    K40, K41, K42,           K45,                          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, KC_NO, K2D }, \
-    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39, K3A,   K3B, K3C,   K3D }, \
-    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, KC_NO, K4B, K4C,   K4D }  \
-}

+ 0 - 64
keyboards/giabalanai/giabalanai.h

@@ -18,70 +18,6 @@
 
 #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, l06, l07, l08, l09, l0a, l0b, \
-      l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l1a, l1b, \
-        l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l2a, l2b, \
-          l30, l31, l32, l33, l34, l35, l36, l37, l38, l39, l3a, l3b, \
-            l40, l41, l42, l43, l44, l45, l46, l47, l48, l49, l4a, l4b, \
-    \
-    r20, \
-      r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, r0a, r0b,   renc,  \
-    r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r1a, r1b, r1c,  \
-      r21, r22, r23, r24, r25, r26, r27, r28, r29, r2a, r2b, r2c   \
-) { \
-    { l00,   l10,  l20, l30, l40, l0b, l1b, l2b,   l3b,   l4b }, \
-    { l01,   l11,  l21, l31, l41, l0a, l1a, l2a,   l3a,   l4a }, \
-    { l02,   l12,  l22, l32, l42, l09, l19, l29,   l39,   l49 }, \
-    { l03,   l13,  l23, l33, l43, l08, l18, l28,   l38,   l48 }, \
-    { l04,   l14,  l24, l34, l44, l07, l17, l27,   l37,   l47 }, \
-    { l05,   l15,  l25, l35, l45, l06, l16, l26,   l36,   l46 }, \
-    \
-    { r00,   r01,  r02, r03, r04, r05, r06, KC_NO, KC_NO, KC_NO }, \
-    { r10,   r11,  r12, r13, r14, r15, r16, KC_NO, KC_NO, KC_NO }, \
-    { r20,   r21,  r22, r23, r24, r25, r26, KC_NO, KC_NO, KC_NO }, \
-    { KC_NO, renc, r0b, r0a, r09, r08, r07, KC_NO, KC_NO, KC_NO }, \
-    { KC_NO, r1c,  r1b, r1a, r19, r18, r17, KC_NO, KC_NO, KC_NO }, \
-    { KC_NO, r2c,  r2b, r2a, r29, r28, r27, KC_NO, KC_NO, KC_NO }  \
-}
-
-#define LAYOUT_giabarinaix2( \
-    l00, l01, l02, l03, l04, l05, l06, l07, l08, l09, l0a, l0b, \
-      l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l1a, l1b, \
-        l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l2a, l2b, \
-          l30, l31, l32, l33, l34, l35, l36, l37, l38, l39, l3a, l3b, \
-            l40, l41, l42, l43, l44, l45, l46, l47, l48, l49, l4a, l4b, \
-    \
-    r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, r0a, r0b, \
-      r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r1a, r1b, \
-        r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r2a, r2b, \
-          r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r3a, r3b, \
-            r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r4a, r4b  \
-) { \
-    { l00, l10, l20, l30, l40, l0b, l1b, l2b, l3b, l4b }, \
-    { l01, l11, l21, l31, l41, l0a, l1a, l2a, l3a, l4a }, \
-    { l02, l12, l22, l32, l42, l09, l19, l29, l39, l49 }, \
-    { l03, l13, l23, l33, l43, l08, l18, l28, l38, l48 }, \
-    { l04, l14, l24, l34, l44, l07, l17, l27, l37, l47 }, \
-    { l05, l15, l25, l35, l45, l06, l16, l26, l36, l46 }, \
-    \
-    { r4b, r3b, r2b, r1b, r0b, r40, r30, r20, r10, r00 }, \
-    { r4a, r3a, r2a, r1a, r0a, r41, r31, r21, r11, r01 }, \
-    { r49, r39, r29, r19, r09, r42, r32, r22, r12, r02 }, \
-    { r48, r38, r28, r18, r08, r43, r33, r23, r13, r03 }, \
-    { r47, r37, r27, r17, r07, r44, r34, r24, r14, r04 }, \
-    { r46, r36, r26, r16, r06, r45, r35, r25, r15, r05 }  \
-}
-
-
 #define _________________QWERTY_L1_________________ KC_Q,    KC_W,    KC_E,    KC_R,    KC_T
 #define _________________QWERTY_L2_________________ KC_A,    KC_S,    KC_D,    KC_F,    KC_G
 #define _________________QWERTY_L3_________________ KC_Z,    KC_X,    KC_C,    KC_V,    KC_B

+ 224 - 100
keyboards/giabalanai/info.json

@@ -54,115 +54,239 @@
     "bootloader": "caterina",
     "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": "l07", "x": 7,  "y": 0},
-              {"label": "l08", "x": 8,  "y": 0},
-              {"label": "l09", "x": 9,  "y": 0},
-              {"label": "l0a", "x": 10, "y": 0},
-              {"label": "l0b", "x": 11, "y": 0},
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [1, 0], "x": 1, "y": 0},
+                {"matrix": [2, 0], "x": 2, "y": 0},
+                {"matrix": [3, 0], "x": 3, "y": 0},
+                {"matrix": [4, 0], "x": 4, "y": 0},
+                {"matrix": [5, 0], "x": 5, "y": 0},
+                {"matrix": [5, 5], "x": 6, "y": 0},
+                {"matrix": [4, 5], "x": 7, "y": 0},
+                {"matrix": [3, 5], "x": 8, "y": 0},
+                {"matrix": [2, 5], "x": 9, "y": 0},
+                {"matrix": [1, 5], "x": 10, "y": 0},
+                {"matrix": [0, 5], "x": 11, "y": 0},
 
-              {"label": "l10", "x": 0.5,  "y": 1},
-              {"label": "l11", "x": 1.5,  "y": 1},
-              {"label": "l12", "x": 2.5,  "y": 1},
-              {"label": "l13", "x": 3.5,  "y": 1},
-              {"label": "l14", "x": 4.5,  "y": 1},
-              {"label": "l15", "x": 5.5,  "y": 1},
-              {"label": "l16", "x": 6.5,  "y": 1},
-              {"label": "l17", "x": 7.5,  "y": 1},
-              {"label": "l18", "x": 8.5,  "y": 1},
-              {"label": "l19", "x": 9.5,  "y": 1},
-              {"label": "l1a", "x": 10.5, "y": 1},
-              {"label": "l1b", "x": 11.5, "y": 1},
+                {"matrix": [0, 1], "x": 0.5, "y": 1},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [2, 1], "x": 2.5, "y": 1},
+                {"matrix": [3, 1], "x": 3.5, "y": 1},
+                {"matrix": [4, 1], "x": 4.5, "y": 1},
+                {"matrix": [5, 1], "x": 5.5, "y": 1},
+                {"matrix": [5, 6], "x": 6.5, "y": 1},
+                {"matrix": [4, 6], "x": 7.5, "y": 1},
+                {"matrix": [3, 6], "x": 8.5, "y": 1},
+                {"matrix": [2, 6], "x": 9.5, "y": 1},
+                {"matrix": [1, 6], "x": 10.5, "y": 1},
+                {"matrix": [0, 6], "x": 11.5, "y": 1},
 
-              {"label": "r20", "x": 14.5, "y": 1},
+                {"matrix": [0, 2], "x": 14.5, "y": 1},
 
-              {"label": "l20", "x": 1,  "y": 2},
-              {"label": "l21", "x": 2,  "y": 2},
-              {"label": "l22", "x": 3,  "y": 2},
-              {"label": "l23", "x": 4,  "y": 2},
-              {"label": "l24", "x": 5,  "y": 2},
-              {"label": "l25", "x": 6,  "y": 2},
-              {"label": "l26", "x": 7,  "y": 2},
-              {"label": "l27", "x": 8,  "y": 2},
-              {"label": "l28", "x": 9,  "y": 2},
-              {"label": "l29", "x": 10, "y": 2},
-              {"label": "l2a", "x": 11, "y": 2},
-              {"label": "l2b", "x": 12, "y": 2},
+                {"matrix": [1, 2], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [3, 2], "x": 3, "y": 2},
+                {"matrix": [4, 2], "x": 4, "y": 2},
+                {"matrix": [5, 2], "x": 5, "y": 2},
+                {"matrix": [5, 7], "x": 6, "y": 2},
+                {"matrix": [4, 7], "x": 7, "y": 2},
+                {"matrix": [3, 7], "x": 8, "y": 2},
+                {"matrix": [2, 7], "x": 9, "y": 2},
+                {"matrix": [1, 7], "x": 10, "y": 2},
+                {"matrix": [0, 7], "x": 11, "y": 2},
+                {"matrix": [0, 3], "x": 12, "y": 2},
 
-              {"label": "r00", "x": 15,   "y": 2},
-              {"label": "r01", "x": 16,   "y": 2},
-              {"label": "r02", "x": 17,   "y": 2},
-              {"label": "r03", "x": 18,   "y": 2},
-              {"label": "r04", "x": 19,   "y": 2},
-              {"label": "r05", "x": 20,   "y": 2},
-              {"label": "r06", "x": 21,   "y": 2},
-              {"label": "r07", "x": 22,   "y": 2},
-              {"label": "r08", "x": 23,   "y": 2},
-              {"label": "r09", "x": 24,   "y": 2},
-              {"label": "r0a", "x": 25,   "y": 2},
-              {"label": "r0b", "x": 26,   "y": 2},
+                {"matrix": [1, 3], "x": 15, "y": 2},
+                {"matrix": [2, 3], "x": 16, "y": 2},
+                {"matrix": [3, 3], "x": 17, "y": 2},
+                {"matrix": [4, 3], "x": 18, "y": 2},
+                {"matrix": [5, 3], "x": 19, "y": 2},
+                {"matrix": [5, 8], "x": 20, "y": 2},
+                {"matrix": [4, 8], "x": 21, "y": 2},
+                {"matrix": [3, 8], "x": 22, "y": 2},
+                {"matrix": [2, 8], "x": 23, "y": 2},
+                {"matrix": [1, 8], "x": 24, "y": 2},
+                {"matrix": [0, 8], "x": 25, "y": 2},
+                {"matrix": [0, 4], "x": 26, "y": 2},
 
-              {"label": "renc", "x": 27.5, "y": 2},
+                {"matrix": [1, 4], "x": 27.5, "y": 2},
 
-              {"label": "l30", "x": 1.5,  "y": 3},
-              {"label": "l31", "x": 2.5,  "y": 3},
-              {"label": "l32", "x": 3.5,  "y": 3},
-              {"label": "l33", "x": 4.5,  "y": 3},
-              {"label": "l34", "x": 5.5,  "y": 3},
-              {"label": "l35", "x": 6.5,  "y": 3},
-              {"label": "l36", "x": 7.5,  "y": 3},
-              {"label": "l37", "x": 8.5,  "y": 3},
-              {"label": "l38", "x": 9.5,  "y": 3},
-              {"label": "l39", "x": 10.5, "y": 3},
-              {"label": "l3a", "x": 11.5, "y": 3},
-              {"label": "l3b", "x": 12.5, "y": 3},
+                {"matrix": [2, 4], "x": 1.5, "y": 3},
+                {"matrix": [3, 4], "x": 2.5, "y": 3},
+                {"matrix": [4, 4], "x": 3.5, "y": 3},
+                {"matrix": [5, 4], "x": 4.5, "y": 3},
+                {"matrix": [5, 9], "x": 5.5, "y": 3},
+                {"matrix": [4, 9], "x": 6.5, "y": 3},
+                {"matrix": [3, 9], "x": 7.5, "y": 3},
+                {"matrix": [2, 9], "x": 8.5, "y": 3},
+                {"matrix": [1, 9], "x": 9.5, "y": 3},
+                {"matrix": [0, 9], "x": 10.5, "y": 3},
+                {"matrix": [8, 0], "x": 11.5, "y": 3},
+                {"matrix": [6, 0], "x": 12.5, "y": 3},
 
-              {"label": "r10", "x": 14.5, "y": 3},
-              {"label": "r11", "x": 15.5, "y": 3},
-              {"label": "r12", "x": 16.5, "y": 3},
-              {"label": "r13", "x": 17.5, "y": 3},
-              {"label": "r14", "x": 18.5, "y": 3},
-              {"label": "r15", "x": 19.5, "y": 3},
-              {"label": "r16", "x": 20.5, "y": 3},
-              {"label": "r17", "x": 21.5, "y": 3},
-              {"label": "r18", "x": 22.5, "y": 3},
-              {"label": "r19", "x": 23.5, "y": 3},
-              {"label": "r1a", "x": 24.5, "y": 3},
-              {"label": "r1b", "x": 25.5, "y": 3},
-              {"label": "r1c", "x": 26.5, "y": 3},
+                {"matrix": [6, 1], "x": 14.5, "y": 3},
+                {"matrix": [6, 2], "x": 15.5, "y": 3},
+                {"matrix": [6, 3], "x": 16.5, "y": 3},
+                {"matrix": [6, 4], "x": 17.5, "y": 3},
+                {"matrix": [6, 5], "x": 18.5, "y": 3},
+                {"matrix": [6, 6], "x": 19.5, "y": 3},
+                {"matrix": [9, 6], "x": 20.5, "y": 3},
+                {"matrix": [9, 5], "x": 21.5, "y": 3},
+                {"matrix": [9, 4], "x": 22.5, "y": 3},
+                {"matrix": [9, 3], "x": 23.5, "y": 3},
+                {"matrix": [9, 2], "x": 24.5, "y": 3},
+                {"matrix": [9, 1], "x": 25.5, "y": 3},
+                {"matrix": [7, 0], "x": 26.5, "y": 3},
 
-              {"label": "l40", "x": 2,  "y": 4},
-              {"label": "l41", "x": 3,  "y": 4},
-              {"label": "l42", "x": 4,  "y": 4},
-              {"label": "l43", "x": 5,  "y": 4},
-              {"label": "l44", "x": 6,  "y": 4},
-              {"label": "l45", "x": 7,  "y": 4},
-              {"label": "l46", "x": 8,  "y": 4},
-              {"label": "l47", "x": 9,  "y": 4},
-              {"label": "l48", "x": 10, "y": 4},
-              {"label": "l49", "x": 11, "y": 4},
-              {"label": "l4a", "x": 12, "y": 4},
-              {"label": "l4b", "x": 13, "y": 4},
+                {"matrix": [7, 1], "x": 2, "y": 4},
+                {"matrix": [7, 2], "x": 3, "y": 4},
+                {"matrix": [7, 3], "x": 4, "y": 4},
+                {"matrix": [7, 4], "x": 5, "y": 4},
+                {"matrix": [7, 5], "x": 6, "y": 4},
+                {"matrix": [7, 6], "x": 7, "y": 4},
+                {"matrix": [10, 6], "x": 8, "y": 4},
+                {"matrix": [10, 5], "x": 9, "y": 4},
+                {"matrix": [10, 4], "x": 10, "y": 4},
+                {"matrix": [10, 3], "x": 11, "y": 4},
+                {"matrix": [10, 2], "x": 12, "y": 4},
+                {"matrix": [10, 1], "x": 13, "y": 4},
 
-              {"label": "r21", "x": 15, "y": 4},
-              {"label": "r22", "x": 16, "y": 4},
-              {"label": "r23", "x": 17, "y": 4},
-              {"label": "r24", "x": 18, "y": 4},
-              {"label": "r25", "x": 19, "y": 4},
-              {"label": "r26", "x": 20, "y": 4},
-              {"label": "r27", "x": 21, "y": 4},
-              {"label": "r28", "x": 22, "y": 4},
-              {"label": "r29", "x": 23, "y": 4},
-              {"label": "r2a", "x": 24, "y": 4},
-              {"label": "r2b", "x": 25, "y": 4},
-              {"label": "r2c", "x": 26, "y": 4}
+                {"matrix": [8, 1], "x": 15, "y": 4},
+                {"matrix": [8, 2], "x": 16, "y": 4},
+                {"matrix": [8, 3], "x": 17, "y": 4},
+                {"matrix": [8, 4], "x": 18, "y": 4},
+                {"matrix": [8, 5], "x": 19, "y": 4},
+                {"matrix": [8, 6], "x": 20, "y": 4},
+                {"matrix": [11, 6], "x": 21, "y": 4},
+                {"matrix": [11, 5], "x": 22, "y": 4},
+                {"matrix": [11, 4], "x": 23, "y": 4},
+                {"matrix": [11, 3], "x": 24, "y": 4},
+                {"matrix": [11, 2], "x": 25, "y": 4},
+                {"matrix": [11, 1], "x": 26, "y": 4}
+            ]
+        },
+        "LAYOUT_giabarinaix2": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [1, 0], "x": 1, "y": 0},
+                {"matrix": [2, 0], "x": 2, "y": 0},
+                {"matrix": [3, 0], "x": 3, "y": 0},
+                {"matrix": [4, 0], "x": 4, "y": 0},
+                {"matrix": [5, 0], "x": 5, "y": 0},
+                {"matrix": [5, 5], "x": 6, "y": 0},
+                {"matrix": [4, 5], "x": 7, "y": 0},
+                {"matrix": [3, 5], "x": 8, "y": 0},
+                {"matrix": [2, 5], "x": 9, "y": 0},
+                {"matrix": [1, 5], "x": 10, "y": 0},
+                {"matrix": [0, 5], "x": 11, "y": 0},
+                {"matrix": [0, 1], "x": 12, "y": 0},
+                {"matrix": [1, 1], "x": 13, "y": 0},
+                {"matrix": [2, 1], "x": 14, "y": 0},
+                {"matrix": [3, 1], "x": 15, "y": 0},
+                {"matrix": [4, 1], "x": 16, "y": 0},
+                {"matrix": [5, 1], "x": 17, "y": 0},
+                {"matrix": [5, 6], "x": 18, "y": 0},
+                {"matrix": [4, 6], "x": 19, "y": 0},
+                {"matrix": [3, 6], "x": 20, "y": 0},
+                {"matrix": [2, 6], "x": 21, "y": 0},
+                {"matrix": [1, 6], "x": 22, "y": 0},
+                {"matrix": [0, 6], "x": 23, "y": 0},
+                {"matrix": [0, 2], "x": 24, "y": 0},
+                {"matrix": [1, 2], "x": 25, "y": 0},
+                {"matrix": [2, 2], "x": 26, "y": 0},
+                {"matrix": [3, 2], "x": 27, "y": 0},
+                {"matrix": [4, 2], "x": 28, "y": 0},
+                {"matrix": [5, 2], "x": 29, "y": 0},
+                {"matrix": [5, 7], "x": 30, "y": 0},
+                {"matrix": [4, 7], "x": 31, "y": 0},
+                {"matrix": [3, 7], "x": 32, "y": 0},
+                {"matrix": [2, 7], "x": 33, "y": 0},
+                {"matrix": [1, 7], "x": 34, "y": 0},
+                {"matrix": [0, 7], "x": 35, "y": 0},
+                {"matrix": [0, 3], "x": 36, "y": 0},
+                {"matrix": [1, 3], "x": 37, "y": 0},
+                {"matrix": [2, 3], "x": 38, "y": 0},
+                {"matrix": [3, 3], "x": 39, "y": 0},
+                {"matrix": [4, 3], "x": 40, "y": 0},
+                {"matrix": [5, 3], "x": 41, "y": 0},
+                {"matrix": [5, 8], "x": 42, "y": 0},
+                {"matrix": [4, 8], "x": 43, "y": 0},
+                {"matrix": [3, 8], "x": 44, "y": 0},
+                {"matrix": [2, 8], "x": 45, "y": 0},
+                {"matrix": [1, 8], "x": 46, "y": 0},
+                {"matrix": [0, 8], "x": 47, "y": 0},
+                {"matrix": [0, 4], "x": 48, "y": 0},
+                {"matrix": [1, 4], "x": 49, "y": 0},
+                {"matrix": [2, 4], "x": 50, "y": 0},
+                {"matrix": [3, 4], "x": 51, "y": 0},
+                {"matrix": [4, 4], "x": 52, "y": 0},
+                {"matrix": [5, 4], "x": 53, "y": 0},
+                {"matrix": [5, 9], "x": 54, "y": 0},
+                {"matrix": [4, 9], "x": 55, "y": 0},
+                {"matrix": [3, 9], "x": 56, "y": 0},
+                {"matrix": [2, 9], "x": 57, "y": 0},
+                {"matrix": [1, 9], "x": 58, "y": 0},
+                {"matrix": [0, 9], "x": 59, "y": 0},
+                {"matrix": [6, 9], "x": 60, "y": 0},
+                {"matrix": [7, 9], "x": 61, "y": 0},
+                {"matrix": [8, 9], "x": 62, "y": 0},
+                {"matrix": [9, 9], "x": 63, "y": 0},
+                {"matrix": [10, 9], "x": 64, "y": 0},
+                {"matrix": [11, 9], "x": 65, "y": 0},
+                {"matrix": [11, 4], "x": 66, "y": 0},
+                {"matrix": [10, 4], "x": 67, "y": 0},
+                {"matrix": [9, 4], "x": 68, "y": 0},
+                {"matrix": [8, 4], "x": 69, "y": 0},
+                {"matrix": [7, 4], "x": 70, "y": 0},
+                {"matrix": [6, 4], "x": 71, "y": 0},
+                {"matrix": [6, 8], "x": 72, "y": 0},
+                {"matrix": [7, 8], "x": 73, "y": 0},
+                {"matrix": [8, 8], "x": 74, "y": 0},
+                {"matrix": [9, 8], "x": 75, "y": 0},
+                {"matrix": [10, 8], "x": 76, "y": 0},
+                {"matrix": [11, 8], "x": 77, "y": 0},
+                {"matrix": [11, 3], "x": 78, "y": 0},
+                {"matrix": [10, 3], "x": 79, "y": 0},
+                {"matrix": [9, 3], "x": 80, "y": 0},
+                {"matrix": [8, 3], "x": 81, "y": 0},
+                {"matrix": [7, 3], "x": 82, "y": 0},
+                {"matrix": [6, 3], "x": 83, "y": 0},
+                {"matrix": [6, 7], "x": 84, "y": 0},
+                {"matrix": [7, 7], "x": 85, "y": 0},
+                {"matrix": [8, 7], "x": 86, "y": 0},
+                {"matrix": [9, 7], "x": 87, "y": 0},
+                {"matrix": [10, 7], "x": 88, "y": 0},
+                {"matrix": [11, 7], "x": 89, "y": 0},
+                {"matrix": [11, 2], "x": 90, "y": 0},
+                {"matrix": [10, 2], "x": 91, "y": 0},
+                {"matrix": [9, 2], "x": 92, "y": 0},
+                {"matrix": [8, 2], "x": 93, "y": 0},
+                {"matrix": [7, 2], "x": 94, "y": 0},
+                {"matrix": [6, 2], "x": 95, "y": 0},
+                {"matrix": [6, 6], "x": 96, "y": 0},
+                {"matrix": [7, 6], "x": 97, "y": 0},
+                {"matrix": [8, 6], "x": 98, "y": 0},
+                {"matrix": [9, 6], "x": 99, "y": 0},
+                {"matrix": [10, 6], "x": 100, "y": 0},
+                {"matrix": [11, 6], "x": 101, "y": 0},
+                {"matrix": [11, 1], "x": 102, "y": 0},
+                {"matrix": [10, 1], "x": 103, "y": 0},
+                {"matrix": [9, 1], "x": 104, "y": 0},
+                {"matrix": [8, 1], "x": 105, "y": 0},
+                {"matrix": [7, 1], "x": 106, "y": 0},
+                {"matrix": [6, 1], "x": 107, "y": 0},
+                {"matrix": [6, 5], "x": 108, "y": 0},
+                {"matrix": [7, 5], "x": 109, "y": 0},
+                {"matrix": [8, 5], "x": 110, "y": 0},
+                {"matrix": [9, 5], "x": 111, "y": 0},
+                {"matrix": [10, 5], "x": 112, "y": 0},
+                {"matrix": [11, 5], "x": 113, "y": 0},
+                {"matrix": [11, 0], "x": 114, "y": 0},
+                {"matrix": [10, 0], "x": 115, "y": 0},
+                {"matrix": [9, 0], "x": 116, "y": 0},
+                {"matrix": [8, 0], "x": 117, "y": 0},
+                {"matrix": [7, 0], "x": 118, "y": 0},
+                {"matrix": [6, 0], "x": 119, "y": 0}
             ]
         }
     }

+ 116 - 52
keyboards/gl516/n51gl/info.json

@@ -21,61 +21,125 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"L00", "x":0.25, "y":0},
-                {"label":"L01", "x":1.25, "y":0},
-                {"label":"L02", "x":2.25, "y":0},
-                {"label":"L03", "x":3.25, "y":0},
-                {"label":"L04", "x":4.25, "y":0},
-                {"label":"L05", "x":5.25, "y":0},
-                {"label":"L06", "x":6.25, "y":0},
-                {"label":"R00", "x":9.25, "y":0},
-                {"label":"R01", "x":10.25, "y":0},
-                {"label":"R02", "x":11.25, "y":0},
-                {"label":"R03", "x":12.25, "y":0},
-                {"label":"R04", "x":13.25, "y":0},
-                {"label":"R05", "x":14.25, "y":0},
-                {"label":"R06", "x":15.25, "y":0},
+                {"matrix": [0, 0], "x": 0.25, "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},
 
-                {"label":"L11", "x":0.25, "y":1, "w":1.75},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3.25, "y":1},
-                {"label":"L14", "x":4.25, "y":1},
-                {"label":"L15", "x":5.25, "y":1},
-                {"label":"L16", "x":6.25, "y":1},
-                {"label":"R10", "x":9.25, "y":1},
-                {"label":"R11", "x":10.25, "y":1},
-                {"label":"R12", "x":11.25, "y":1},
-                {"label":"R13", "x":12.25, "y":1},
-                {"label":"R14", "x":13.5, "y":1},
-                {"label":"R15", "x":14.5, "y":1},
-                {"label":"R16", "x":15.5, "y":1},
+                {"matrix": [4, 0], "x": 9.25, "y": 0},
+                {"matrix": [4, 1], "x": 10.25, "y": 0},
+                {"matrix": [4, 2], "x": 11.25, "y": 0},
+                {"matrix": [4, 3], "x": 12.25, "y": 0},
+                {"matrix": [4, 4], "x": 13.25, "y": 0},
+                {"matrix": [4, 5], "x": 14.25, "y": 0},
+                {"matrix": [4, 6], "x": 15.25, "y": 0},
 
-                {"label":"L21", "x":0, "y":2, "w":1.75},
-                {"label":"L22", "x":1.75, "y":2},
-                {"label":"L23", "x":3.25, "y":2},
-                {"label":"L24", "x":4.25, "y":2},
-                {"label":"L25", "x":5.25, "y":2},
-                {"label":"L26", "x":6.25, "y":2},
-                {"label":"L20", "x":7.75, "y":2},
-                {"label":"R20", "x":9.25, "y":2},
-                {"label":"R21", "x":10.25, "y":2},
-                {"label":"R22", "x":11.25, "y":2},
-                {"label":"R23", "x":12.25, "y":2},
-                {"label":"R24", "x":13.75, "y":2},
-                {"label":"R25", "x":14.75, "y":2},
-                {"label":"R26", "x":15.75, "y":2},
+                {"matrix": [1, 1], "x": 0.25, "y": 1, "w": 1.75},
+                {"matrix": [1, 2], "x": 2, "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},
 
-                {"label":"L31", "x":0.25, "y":3, "w":1.25},
-                {"label":"L32", "x":1.5, "y":3, "w":1.25},
-                {"label":"L34", "x":4.125, "y":3, "w":1.25},
-                {"label":"L35", "x":5.375, "y":3, "w":1.25},
-                {"label":"L36", "x":6.625, "y":3},
-                {"label":"R30", "x":8.875, "y":3},
-                {"label":"R31", "x":9.875, "y":3, "w":1.25},
-                {"label":"R32", "x":11.125, "y":3, "w":1.25},
-                {"label":"R34", "x":13.75, "y":3},
-                {"label":"R35", "x":14.75, "y":3},
-                {"label":"R36", "x":15.75, "y":3}
+                {"matrix": [5, 0], "x": 9.25, "y": 1},
+                {"matrix": [5, 1], "x": 10.25, "y": 1},
+                {"matrix": [5, 2], "x": 11.25, "y": 1},
+                {"matrix": [5, 3], "x": 12.25, "y": 1},
+                {"matrix": [5, 4], "x": 13.5, "y": 1},
+                {"matrix": [5, 5], "x": 14.5, "y": 1},
+                {"matrix": [5, 6], "x": 15.5, "y": 1},
+
+                {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 2], "x": 1.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.25, "y": 2},
+                {"matrix": [2, 4], "x": 4.25, "y": 2},
+                {"matrix": [2, 5], "x": 5.25, "y": 2},
+                {"matrix": [2, 6], "x": 6.25, "y": 2},
+
+                {"matrix": [2, 0], "x": 7.75, "y": 2},
+
+                {"matrix": [6, 0], "x": 9.25, "y": 2},
+                {"matrix": [6, 1], "x": 10.25, "y": 2},
+                {"matrix": [6, 2], "x": 11.25, "y": 2},
+                {"matrix": [6, 3], "x": 12.25, "y": 2},
+                {"matrix": [6, 4], "x": 13.75, "y": 2},
+                {"matrix": [6, 5], "x": 14.75, "y": 2},
+                {"matrix": [6, 6], "x": 15.75, "y": 2},
+
+                {"matrix": [3, 1], "x": 0.25, "y": 3, "w": 1.25},
+                {"matrix": [3, 2], "x": 1.5, "y": 3, "w": 1.25},
+                {"matrix": [3, 4], "x": 4.125, "y": 3, "w": 1.25},
+                {"matrix": [3, 5], "x": 5.375, "y": 3, "w": 1.25},
+                {"matrix": [3, 6], "x": 6.625, "y": 3},
+
+                {"matrix": [7, 0], "x": 8.875, "y": 3},
+                {"matrix": [7, 1], "x": 9.875, "y": 3, "w": 1.25},
+                {"matrix": [7, 2], "x": 11.125, "y": 3, "w": 1.25},
+
+                {"matrix": [7, 4], "x": 13.75, "y": 3},
+                {"matrix": [7, 5], "x": 14.75, "y": 3},
+                {"matrix": [7, 6], "x": 15.75, "y": 3}
+            ]
+        },
+        "LAYOUT_rotary_layer": {
+            "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": [4, 0], "x": 7, "y": 0},
+                {"matrix": [4, 1], "x": 8, "y": 0},
+                {"matrix": [4, 2], "x": 9, "y": 0},
+                {"matrix": [4, 3], "x": 10, "y": 0},
+                {"matrix": [4, 4], "x": 11, "y": 0},
+                {"matrix": [4, 5], "x": 12, "y": 0},
+                {"matrix": [4, 6], "x": 13, "y": 0},
+                {"matrix": [1, 1], "x": 14, "y": 0},
+                {"matrix": [1, 2], "x": 15, "y": 0},
+                {"matrix": [1, 3], "x": 16, "y": 0},
+                {"matrix": [1, 4], "x": 17, "y": 0},
+                {"matrix": [1, 5], "x": 18, "y": 0},
+                {"matrix": [1, 6], "x": 19, "y": 0},
+                {"matrix": [1, 0], "x": 20, "y": 0},
+                {"matrix": [5, 0], "x": 21, "y": 0},
+                {"matrix": [5, 1], "x": 22, "y": 0},
+                {"matrix": [5, 2], "x": 23, "y": 0},
+                {"matrix": [5, 3], "x": 24, "y": 0},
+                {"matrix": [5, 4], "x": 25, "y": 0},
+                {"matrix": [5, 5], "x": 26, "y": 0},
+                {"matrix": [5, 6], "x": 27, "y": 0},
+                {"matrix": [2, 1], "x": 28, "y": 0},
+                {"matrix": [2, 2], "x": 29, "y": 0},
+                {"matrix": [2, 3], "x": 30, "y": 0},
+                {"matrix": [2, 4], "x": 31, "y": 0},
+                {"matrix": [2, 5], "x": 32, "y": 0},
+                {"matrix": [2, 6], "x": 33, "y": 0},
+                {"matrix": [2, 0], "x": 34, "y": 0},
+                {"matrix": [6, 0], "x": 35, "y": 0},
+                {"matrix": [6, 1], "x": 36, "y": 0},
+                {"matrix": [6, 2], "x": 37, "y": 0},
+                {"matrix": [6, 3], "x": 38, "y": 0},
+                {"matrix": [6, 4], "x": 39, "y": 0},
+                {"matrix": [6, 5], "x": 40, "y": 0},
+                {"matrix": [6, 6], "x": 41, "y": 0},
+                {"matrix": [3, 1], "x": 42, "y": 0},
+                {"matrix": [3, 2], "x": 43, "y": 0},
+                {"matrix": [3, 4], "x": 44, "y": 0},
+                {"matrix": [3, 5], "x": 45, "y": 0},
+                {"matrix": [3, 6], "x": 46, "y": 0},
+                {"matrix": [3, 0], "x": 47, "y": 0},
+                {"matrix": [7, 0], "x": 48, "y": 0},
+                {"matrix": [7, 1], "x": 49, "y": 0},
+                {"matrix": [7, 2], "x": 50, "y": 0},
+                {"matrix": [7, 4], "x": 51, "y": 0},
+                {"matrix": [7, 5], "x": 52, "y": 0},
+                {"matrix": [7, 6], "x": 53, "y": 0}
             ]
         }
     }

+ 0 - 54
keyboards/gl516/n51gl/n51gl.h

@@ -1,54 +0,0 @@
-/*
-Copyright 2021 Salicylic_Acid
-
-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, L06,      R00, R01, R02, R03, R04, R05, R06, \
-         L11, L12, L13, L14, L15, L16,      R10, R11, R12, R13, R14, R15, R16, \
-         L21, L22, L23, L24, L25, L26, L20, R20, R21, R22, R23, R24, R25, R26, \
-         L31, L32,      L34, L35, L36,      R30, R31, R32,      R34, R35, R36  \
-  ) \
-  { \
-    {   L00,   L01,   L02,   L03,   L04,   L05,   L06 }, \
-    { KC_NO,   L11,   L12,   L13,   L14,   L15,   L16 }, \
-    {   L20,   L21,   L22,   L23,   L24,   L25,   L26 }, \
-    { KC_NO,   L31,   L32, KC_NO,   L34,   L35,   L36 }, \
-    {   R00,   R01,   R02,   R03,   R04,   R05,   R06 }, \
-    {   R10,   R11,   R12,   R13,   R14,   R15,   R16 }, \
-    {   R20,   R21,   R22,   R23,   R24,   R25,   R26 }, \
-    {   R30,   R31,   R32, KC_NO,   R34,   R35,   R36 }  \
-  }
-
-#define LAYOUT_rotary_layer( \
-    L00, L01, L02, L03, L04, L05, L06,      R00, R01, R02, R03, R04, R05, R06, \
-         L11, L12, L13, L14, L15, L16, L10, R10, R11, R12, R13, R14, R15, R16, \
-         L21, L22, L23, L24, L25, L26, L20, R20, R21, R22, R23, R24, R25, R26, \
-         L31, L32,      L34, L35, L36, L30, R30, R31, R32,      R34, R35, R36  \
-  ) \
-  { \
-    {   L00,   L01,   L02,   L03,   L04,   L05,   L06 }, \
-    {   L10,   L11,   L12,   L13,   L14,   L15,   L16 }, \
-    {   L20,   L21,   L22,   L23,   L24,   L25,   L26 }, \
-    {   L30,   L31,   L32, KC_NO,   L34,   L35,   L36 }, \
-    {   R00,   R01,   R02,   R03,   R04,   R05,   R06 }, \
-    {   R10,   R11,   R12,   R13,   R14,   R15,   R16 }, \
-    {   R20,   R21,   R22,   R23,   R24,   R25,   R26 }, \
-    {   R30,   R31,   R32, KC_NO,   R34,   R35,   R36 }  \
-  }

+ 181 - 181
keyboards/gvalchca/spaccboard/info.json

@@ -22,207 +22,207 @@
     "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
+                {"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},
 
-                {"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": 2.75},
+                {"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.75},
 
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 2], "x": 1.5, "y": 4},
+                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         },
         "LAYOUT_ansi": {
             "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, 14], "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},
+                {"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},
+                {"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},
 
-                {"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": 2.75},
+                {"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.75},
 
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 2], "x": 1.5, "y": 4},
+                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         },
         "LAYOUT_bae": {
             "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},
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
 
-                {"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},
+                {"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},
 
-                {"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": 1, "w": 2.25, "h": 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},
+                {"matrix": [2, 13], "x": 12.75, "y": 1, "w": 2.25, "h": 2},
 
-                {"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": 2.75},
+                {"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.75},
 
-                {"x": 0, "y": 4, "w": 1.5},
-                {"x": 1.5, "y": 4},
-                {"x": 2.5, "y": 4, "w": 1.5},
-                {"x": 4, "y": 4, "w": 7},
-                {"x": 11, "y": 4, "w": 1.5},
-                {"x": 12.5, "y": 4},
-                {"x": 13.5, "y": 4, "w": 1.5}
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+                {"matrix": [4, 2], "x": 1.5, "y": 4},
+                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
+                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
+                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
             ]
         }
     }

+ 0 - 66
keyboards/gvalchca/spaccboard/spaccboard.h

@@ -1,66 +0,0 @@
- /* Copyright 2021 Kirill Shkuretskiy 
-  * 
-  * This program is free software: you can redistribute it and/or modify 
-  * it under the terms of the GNU General Public License as published by 
-  * the Free Software Foundation, either version 2 of the License, or 
-  * (at your option) any later version. 
-  * 
-  * This program is distributed in the hope that it will be useful, 
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
-  * GNU General Public License for more details. 
-  * 
-  * You should have received a copy of the GNU General Public License 
-  * along with this program.  If not, see <http://www.gnu.org/licenses/>. 
-  */ 
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-#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,      \
-    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,           \
-    k40,      k42, k43,                k47,                k4b, k4c, k4d       \
-) \
-{ \
-    { 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, ___ },  \
-    { 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, ___, ___ },  \
-    { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ }   \
-}
-
-#define LAYOUT_ansi( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,      k0e, \
-    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,      k2d,      \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,           \
-    k40,      k42, k43,                k47,                k4b, k4c, k4d       \
-) \
-{ \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, ___, k0e },  \
-    { 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, ___, k2d, ___ },  \
-    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___ },  \
-    { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ }   \
-}
-
-#define LAYOUT_bae( \
-    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,           \
-    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,           \
-    k40,      k42, k43,                k47,                k4b, k4c, k4d       \
-) \
-{ \
-    { 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, ___, ___ },  \
-    { 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, ___, ___ },  \
-    { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ }   \
-}

+ 160 - 5
keyboards/handwired/jn68m/info.json

@@ -16,11 +16,166 @@
   "processor": "atmega32u4",
   "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, "w":2}, {"x":15.25, "y":0}, {"x":16.25, "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":15.25, "y":1}, {"x":16.25, "y":1}, {"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":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":2.75}, {"x":15.25, "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":6.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":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
-      },
-      "LAYOUT_splitbs": {
-        "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.25, "y":0}, {"x":16.25, "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":15.25, "y":1}, {"x":16.25, "y":1}, {"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":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":2.75}, {"x":15.25, "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":6.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":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
+    "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": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+
+        {"matrix": [0, 14], "x": 15.25, "y": 0},
+        {"matrix": [0, 15], "x": 16.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},
+        {"matrix": [1, 12], "x": 12.5, "y": 1},
+        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+
+        {"matrix": [1, 14], "x": 15.25, "y": 1},
+        {"matrix": [1, 15], "x": 16.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},
+        {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 1], "x": 2.25, "y": 3},
+        {"matrix": [3, 2], "x": 3.25, "y": 3},
+        {"matrix": [3, 3], "x": 4.25, "y": 3},
+        {"matrix": [3, 4], "x": 5.25, "y": 3},
+        {"matrix": [3, 5], "x": 6.25, "y": 3},
+        {"matrix": [3, 6], "x": 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, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+
+        {"matrix": [3, 14], "x": 15.25, "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 9], "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": 14.25, "y": 4},
+        {"matrix": [4, 14], "x": 15.25, "y": 4},
+        {"matrix": [4, 15], "x": 16.25, "y": 4}
+      ]
+    },
+    "LAYOUT_splitbs": {
+      "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, 13], "x": 14, "y": 0},
+
+        {"matrix": [0, 14], "x": 15.25, "y": 0},
+        {"matrix": [0, 15], "x": 16.25, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "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.25, "y": 1},
+        {"matrix": [1, 15], "x": 16.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},
+        {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+        {"matrix": [3, 1], "x": 2.25, "y": 3},
+        {"matrix": [3, 2], "x": 3.25, "y": 3},
+        {"matrix": [3, 3], "x": 4.25, "y": 3},
+        {"matrix": [3, 4], "x": 5.25, "y": 3},
+        {"matrix": [3, 5], "x": 6.25, "y": 3},
+        {"matrix": [3, 6], "x": 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, 11], "x": 11.25, "y": 3},
+        {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+
+        {"matrix": [3, 14], "x": 15.25, "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+        {"matrix": [4, 9], "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": 14.25, "y": 4},
+        {"matrix": [4, 14], "x": 15.25, "y": 4},
+        {"matrix": [4, 15], "x": 16.25, "y": 4}
+      ]
     }
   }
 }

+ 0 - 49
keyboards/handwired/jn68m/jn68m.h

@@ -1,49 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat / MxBlue
- *
- * 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, k0F, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      k1E, k1F, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39,      k3B, k3C,           k3E, \
-    k40, k41, k42,           k45,                k49,      k4B, k4C,      k4D, k4E, k4F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, XXX, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, XXX, k3B, k3C, XXX, k3E, XXX }, \
-    { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4B, k4C, k4D, k4E, k4F } \
-}
-
-#define LAYOUT_splitbs( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k2D,      k0E, k0F, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,           k1E, k1F, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39,      k3B, k3C,                k3E, \
-    k40, k41, k42,           k45,                k49,      k4B, k4C,           k4D, k4E, k4F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, XXX }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, XXX, k3B, k3C, XXX, k3E, XXX }, \
-    { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4B, k4C, k4D, k4E, k4F } \
-}

+ 83 - 83
keyboards/handwired/ms_sculpt_mobile/info.json

@@ -10,94 +10,94 @@
     "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},
+                {"matrix": [7, 16], "x": 0, "y": 0},
+                {"matrix": [6, 14], "x": 1, "y": 0},
+                {"matrix": [6, 15], "x": 2, "y": 0},
+                {"matrix": [6, 16], "x": 3, "y": 0},
+                {"matrix": [5, 14], "x": 4, "y": 0},
+                {"matrix": [5, 15], "x": 5, "y": 0},
+                {"matrix": [5, 16], "x": 6, "y": 0},
+                {"matrix": [7, 0], "x": 7, "y": 0},
+                {"matrix": [7, 1], "x": 8, "y": 0},
+                {"matrix": [7, 2], "x": 9, "y": 0},
+                {"matrix": [7, 3], "x": 10, "y": 0},
+                {"matrix": [7, 4], "x": 11, "y": 0},
+                {"matrix": [7, 5], "x": 12, "y": 0},
+                {"matrix": [1, 14], "x": 13, "y": 0},
+                {"matrix": [1, 10], "x": 14, "y": 0},
+                {"matrix": [1, 11], "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},
-                {"x": 13, "y": 1, "w": 2},
-                {"x": 15, "y": 1, "h": 1.6},
+                {"matrix": [5, 0], "x": 0, "y": 1},
+                {"matrix": [5, 10], "x": 1, "y": 1},
+                {"matrix": [5, 11], "x": 2, "y": 1},
+                {"matrix": [5, 12], "x": 3, "y": 1},
+                {"matrix": [5, 13], "x": 4, "y": 1},
+                {"matrix": [5, 7], "x": 5, "y": 1},
+                {"matrix": [5, 8], "x": 6, "y": 1},
+                {"matrix": [2, 0], "x": 7, "y": 1},
+                {"matrix": [2, 1], "x": 8, "y": 1},
+                {"matrix": [2, 2], "x": 9, "y": 1},
+                {"matrix": [2, 3], "x": 10, "y": 1},
+                {"matrix": [5, 1], "x": 11, "y": 1},
+                {"matrix": [5, 2], "x": 12, "y": 1},
+                {"matrix": [5, 9], "x": 13, "y": 1, "w": 2},
+                {"matrix": [2, 4], "x": 15, "y": 1, "h": 1.6},
 
-                {"x": 0, "y": 2, "w": 1.5},
-                {"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},
-                {"x": 13.5, "y": 2, "w": 1.5},
+                {"matrix": [6, 17], "x": 0, "y": 2, "w": 1.5},
+                {"matrix": [6, 3], "x": 1.5, "y": 2},
+                {"matrix": [6, 4], "x": 2.5, "y": 2},
+                {"matrix": [6, 5], "x": 3.5, "y": 2},
+                {"matrix": [7, 8], "x": 4.5, "y": 2},
+                {"matrix": [7, 9], "x": 5.5, "y": 2},
+                {"matrix": [4, 0], "x": 6.5, "y": 2},
+                {"matrix": [4, 1], "x": 7.5, "y": 2},
+                {"matrix": [4, 2], "x": 8.5, "y": 2},
+                {"matrix": [4, 3], "x": 9.5, "y": 2},
+                {"matrix": [3, 0], "x": 10.5, "y": 2},
+                {"matrix": [3, 1], "x": 11.5, "y": 2},
+                {"matrix": [3, 2], "x": 12.5, "y": 2},
+                {"matrix": [3, 3], "x": 13.5, "y": 2, "w": 1.5},
 
-                {"x": 0, "y": 3, "w": 1.75},
-                {"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": 2.25},
-                {"x": 15, "y": 2.6, "h": 1.2},
+                {"matrix": [0, 9], "x": 0, "y": 3, "w": 1.75},
+                {"matrix": [6, 0], "x": 1.75, "y": 3},
+                {"matrix": [6, 1], "x": 2.75, "y": 3},
+                {"matrix": [6, 2], "x": 3.75, "y": 3},
+                {"matrix": [7, 7], "x": 4.75, "y": 3},
+                {"matrix": [1, 0], "x": 5.75, "y": 3},
+                {"matrix": [1, 1], "x": 6.75, "y": 3},
+                {"matrix": [5, 3], "x": 7.75, "y": 3},
+                {"matrix": [5, 4], "x": 8.75, "y": 3},
+                {"matrix": [5, 5], "x": 9.75, "y": 3},
+                {"matrix": [5, 6], "x": 10.75, "y": 3},
+                {"matrix": [1, 2], "x": 11.75, "y": 3},
+                {"matrix": [7, 15], "x": 12.75, "y": 3, "w": 2.25},
+                {"matrix": [2, 6], "x": 15, "y": 2.6, "h": 1.2},
 
-                {"x": 0, "y": 4, "w": 2.25},
-                {"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},
-                {"x": 12.25, "y": 4, "w": 1.75},
-                {"x": 14, "y": 4},
-                {"x": 15, "y": 3.8, "h": 1.2},
+                {"matrix": [2, 15], "x": 0, "y": 4, "w": 2.25},
+                {"matrix": [7, 10], "x": 2.25, "y": 4},
+                {"matrix": [7, 11], "x": 3.25, "y": 4},
+                {"matrix": [7, 12], "x": 4.25, "y": 4},
+                {"matrix": [7, 14], "x": 5.25, "y": 4},
+                {"matrix": [0, 0], "x": 6.25, "y": 4},
+                {"matrix": [0, 1], "x": 7.25, "y": 4},
+                {"matrix": [0, 2], "x": 8.25, "y": 4},
+                {"matrix": [0, 3], "x": 9.25, "y": 4},
+                {"matrix": [0, 4], "x": 10.25, "y": 4},
+                {"matrix": [0, 5], "x": 11.25, "y": 4},
+                {"matrix": [2, 11], "x": 12.25, "y": 4, "w": 1.75},
+                {"matrix": [6, 6], "x": 14, "y": 4},
+                {"matrix": [1, 15], "x": 15, "y": 3.8, "h": 1.2},
 
-                {"x": 0, "y": 5, "w": 1.25},
-                {"x": 1.25, "y": 5, "w": 1.25},
-                {"x": 2.5, "y": 5, "w": 1.25},
-                {"x": 3.75, "y": 5, "w": 5.5},
-                {"x": 9.25, "y": 5, "w": 1.25},
-                {"x": 10.5, "y": 5, "w": 1.25},
-                {"x": 11.75, "y": 5, "w": 1.25},
-                {"x": 13, "y": 5},
-                {"x": 14, "y": 5},
-                {"x": 15, "y": 5}
+                {"matrix": [1, 16], "x": 0, "y": 5, "w": 1.25},
+                {"matrix": [4, 13], "x": 1.25, "y": 5, "w": 1.25},
+                {"matrix": [3, 14], "x": 2.5, "y": 5, "w": 1.25},
+                {"matrix": [6, 13], "x": 3.75, "y": 5, "w": 5.5},
+                {"matrix": [3, 10], "x": 9.25, "y": 5, "w": 1.25},
+                {"matrix": [0, 17], "x": 10.5, "y": 5, "w": 1.25},
+                {"matrix": [1, 12], "x": 11.75, "y": 5, "w": 1.25},
+                {"matrix": [6, 7], "x": 13, "y": 5},
+                {"matrix": [6, 8], "x": 14, "y": 5},
+                {"matrix": [6, 9], "x": 15, "y": 5}
             ]
         }
     }

+ 0 - 43
keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h

@@ -1,43 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k7G, k6E, k6F, k6G, k5E, k5F, k5G, k70, k71, k72, k73, k74, k75, k1E, k1A, k1B, \
-    k50, k5A, k5B, k5C, k5D, k57, k58, k20, k21, k22, k23, k51, k52, k59, k24, \
-    k6H, k63, k64, k65, k78, k79, k40, k41, k42, k43, k30, k31, k32, k33, \
-    k09, k60, k61, k62, k77, k10, k11, k53, k54, k55, k56, k12, k7F, k26, \
-    k2F, k7A, k7B, k7C, k7E, k00, k01, k02, k03, k04, k05, k2B, k66, k1F, \
-    k1G, k4D, k3E, k6D, k3A, k0H, k1C, k67, k68, k69 \
-) { \
-    { k00, k01, k02, k03, k04, k05, XXX, XXX, XXX, k09, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k0H }, \
-    { k10, k11, k12, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k1A, k1B, k1C, XXX, k1E, k1F, k1G, XXX }, \
-    { k20, k21, k22, k23, k24, XXX, k26, XXX, XXX, XXX, XXX, k2B, XXX, XXX, XXX, k2F, XXX, XXX }, \
-    { k30, k31, k32, k33, XXX, XXX, XXX, XXX, XXX, XXX, k3A, XXX, XXX, XXX, k3E, XXX, XXX, XXX }, \
-    { k40, k41, k42, k43, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k4D, XXX, XXX, XXX, XXX }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F, k5G, XXX }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, XXX, XXX, XXX, k6D, k6E, k6F, k6G, k6H }, \
-    { k70, k71, k72, k73, k74, k75, XXX, k77, k78, k79, k7A, k7B, k7C, XXX, k7E, k7F, k7G, XXX } \
-}
-
-#define MATRIX_TESTING_LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, \
-    k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, \
-    k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, \
-    k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, \
-    k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H }, \
-    { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H } \
-}

+ 583 - 590
keyboards/handwired/qc60/info.json

@@ -24,624 +24,617 @@
   "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R06", "x":14, "y":0},
-        {"label":"R07", "x":15, "y":0},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-        {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"L30", "x":0, "y":3, "w":1.25},
-        {"label":"L31", "x":1.25, "y":3},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":1.75},
-        {"label":"R37", "x":15, "y":3},
-
-        {"label":"L40", "x":0, "y":4, "w":1.25},
-        {"label":"L41", "x":1.25, "y":4, "w":1.25},
-        {"label":"L42", "x":2.5, "y":4, "w":1.25},
-        {"label":"L43", "x":3.75, "y":4, "w":2.75},
-        {"label":"L44", "x":6.5, "y":4, "w":1.25},
-
-        {"label":"R43", "x":8.75, "y":4, "w":1.25},
-        {"label":"R44", "x":10, "y":4, "w":2},
-        {"label":"R42", "x":12, "y":4},
-        {"label":"R45", "x":13, "y":4},
-        {"label":"R46", "x":14, "y":4},
-        {"label":"R47", "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": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 1], "x": 14, "y": 0},
+        {"matrix": [5, 0], "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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 1.75},
+        {"matrix": [8, 0], "x": 15, "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, 3], "x": 3.75, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.5, "y": 4, "w": 1.25},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4, "w": 1.25},
+        {"matrix": [9, 3], "x": 10, "y": 4, "w": 2},
+        {"matrix": [9, 5], "x": 12, "y": 4},
+        {"matrix": [9, 2], "x": 13, "y": 4},
+        {"matrix": [9, 1], "x": 14, "y": 4},
+        {"matrix": [9, 0], "x": 15, "y": 4}
       ]
     },
-
     "LAYOUT_ansi_default": {
       "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":8, "y":0},
-        {"label":"8", "x":9, "y":0},
-        {"label":"9", "x":10, "y":0},
-        {"label":"0", "x":11, "y":0},
-        {"label":"-", "x":12, "y":0},
-        {"label":"=", "x":13, "y":0},
-        {"label":"Backspace", "x":14, "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":7.5, "y":1},
-        {"label":"U", "x":8.5, "y":1},
-        {"label":"I", "x":9.5, "y":1},
-        {"label":"O", "x":10.5, "y":1},
-        {"label":"P", "x":11.5, "y":1},
-        {"label":"[", "x":12.5, "y":1},
-        {"label":"]", "x":13.5, "y":1},
-        {"label":"\\", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"CapsLock", "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":7.75, "y":2},
-        {"label":"J", "x":8.75, "y":2},
-        {"label":"K", "x":9.75, "y":2},
-        {"label":"L", "x":10.75, "y":2},
-        {"label":";", "x":11.75, "y":2},
-        {"label":"'", "x":12.75, "y":2},
-        {"label":"Enter", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"Shift", "x":0, "y":3, "w":2.25},
-        {"label":"Z", "x":2.25, "y":3},
-        {"label":"X", "x":3.25, "y":3},
-        {"label":"C", "x":4.25, "y":3},
-        {"label":"V", "x":5.25, "y":3},
-        {"label":"B", "x":6.25, "y":3},
-
-        {"label":"N", "x":8.25, "y":3},
-        {"label":"M", "x":9.25, "y":3},
-        {"label":",", "x":10.25, "y":3},
-        {"label":".", "x":11.25, "y":3},
-        {"label":"/", "x":12.25, "y":3},
-        {"label":"Shift", "x":13.25, "y":3, "w":2.75},
-
-        {"label":"Ctrl", "x":0, "y":4, "w":1.25},
-        {"label":"Win", "x":1.25, "y":4, "w":1.25},
-        {"label":"Alt", "x":2.5, "y":4, "w":1.25},
-        {"x":3.75, "y":4, "w":2.75},
-        {"x":6.5, "y":4, "w":1.25},
-
-        {"x":8.75, "y":4, "w":1.25},
-        {"x":10, "y":4, "w":2},
-        {"label":"Alt", "x":12, "y":4},
-        {"label":"Win", "x":13, "y":4},
-        {"label":"Menu", "x":14, "y":4},
-        {"label":"Ctrl", "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": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 0], "x": 14, "y": 0, "w": 2},
+
+        {"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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 1], "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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.5, "y": 4, "w": 1.25},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4, "w": 1.25},
+        {"matrix": [9, 3], "x": 10, "y": 4, "w": 2},
+        {"matrix": [9, 5], "x": 12, "y": 4},
+        {"matrix": [9, 2], "x": 13, "y": 4},
+        {"matrix": [9, 1], "x": 14, "y": 4},
+        {"matrix": [9, 0], "x": 15, "y": 4}
       ]
     },
-
     "LAYOUT_ansi_alt": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R07", "x":14, "y":0, "w":2},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-        {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"L31", "x":0, "y":3, "w":2.25},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
-        {"label":"L40", "x":0, "y":4, "w":1.5},
-        {"label":"L41", "x":1.5, "y":4},
-        {"label":"L42", "x":2.5, "y":4, "w":1.5},
-        {"label":"L43", "x":4, "y":4, "w":2.75},
-        {"label":"L44", "x":6.75, "y":4},
-
-        {"label":"R43", "x":8.75, "y":4},
-        {"label":"R44", "x":9.75, "y":4, "w":2.25},
-        {"label":"R45", "x":12, "y":4, "w":1.5},
-        {"label":"R46", "x":13.5, "y":4},
-        {"label":"R47", "x":14.5, "y":4, "w":1.5}
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+
+        {"matrix": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 0], "x": 14, "y": 0, "w": 2},
+
+        {"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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 1], "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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.75, "y": 4},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4, "w": 2.25},
+        {"matrix": [9, 2], "x": 12, "y": 4, "w": 1.5},
+        {"matrix": [9, 1], "x": 13.5, "y": 4},
+        {"matrix": [9, 0], "x": 14.5, "y": 4, "w": 1.5}
       ]
     },
-
     "LAYOUT_iso_default": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R07", "x":14, "y":0, "w":2},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R17", "x":13.75, "y":2},
-        {"label":"R27", "x":14.75, "y":1, "w":1.25, "h":2},
-
-        {"label":"L30", "x":0, "y":3, "w":1.25},
-        {"label":"L31", "x":1.25, "y":3},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
-        {"label":"L40", "x":0, "y":4, "w":1.25},
-        {"label":"L41", "x":1.25, "y":4, "w":1.25},
-        {"label":"L42", "x":2.5, "y":4, "w":1.25},
-        {"label":"L43", "x":3.75, "y":4, "w":2.75},
-        {"label":"L44", "x":6.5, "y":4, "w":1.25},
-
-        {"label":"R43", "x":8.75, "y":4, "w":1.25},
-        {"label":"R44", "x":10, "y":4, "w":2},
-        {"label":"R42", "x":12, "y":4},
-        {"label":"R45", "x":13, "y":4},
-        {"label":"R46", "x":14, "y":4},
-        {"label":"R47", "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": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 0], "x": 14, "y": 0, "w": 2},
+
+        {"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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [6, 0], "x": 13.75, "y": 2},
+        {"matrix": [7, 0], "x": 14.75, "y": 1, "w": 1.25, "h": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+
+        {"matrix": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.5, "y": 4, "w": 1.25},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4, "w": 1.25},
+        {"matrix": [9, 3], "x": 10, "y": 4, "w": 2},
+        {"matrix": [9, 5], "x": 12, "y": 4},
+        {"matrix": [9, 2], "x": 13, "y": 4},
+        {"matrix": [9, 1], "x": 14, "y": 4},
+        {"matrix": [9, 0], "x": 15, "y": 4}
       ]
     },
-
     "LAYOUT_iso_alt": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R07", "x":14, "y":0, "w":2},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R17", "x":13.75, "y":2},
-        {"label":"R27", "x":14.75, "y":1, "w":1.25, "h":2},
-
-        {"label":"L30", "x":0, "y":3, "w":1.25},
-        {"label":"L31", "x":1.25, "y":3},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
-        {"label":"L40", "x":0, "y":4, "w":1.5},
-        {"label":"L41", "x":1.5, "y":4},
-        {"label":"L42", "x":2.5, "y":4, "w":1.5},
-        {"label":"L43", "x":4, "y":4, "w":2.75},
-        {"label":"L44", "x":6.75, "y":4},
-
-        {"label":"R43", "x":8.75, "y":4},
-        {"label":"R44", "x":9.75, "y":4, "w":2.25},
-        {"label":"R45", "x":12, "y":4, "w":1.5},
-        {"label":"R46", "x":13.5, "y":4},
-        {"label":"R47", "x":14.5, "y":4, "w":1.5}
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+
+        {"matrix": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 0], "x": 14, "y": 0, "w": 2},
+
+        {"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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [6, 0], "x": 13.75, "y": 2},
+        {"matrix": [7, 0], "x": 14.75, "y": 1, "w": 1.25, "h": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3},
+        {"matrix": [3, 2], "x": 2.25, "y": 3},
+        {"matrix": [3, 3], "x": 3.25, "y": 3},
+        {"matrix": [3, 4], "x": 4.25, "y": 3},
+        {"matrix": [3, 5], "x": 5.25, "y": 3},
+        {"matrix": [3, 6], "x": 6.25, "y": 3},
+
+        {"matrix": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.75, "y": 4},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4, "w": 2.25},
+        {"matrix": [9, 2], "x": 12, "y": 4, "w": 1.5},
+        {"matrix": [9, 1], "x": 13.5, "y": 4},
+        {"matrix": [9, 0], "x": 14.5, "y": 4, "w": 1.5}
       ]
     },
-
     "LAYOUT_hhkb_default": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R06", "x":14, "y":0},
-        {"label":"R07", "x":15, "y":0},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-        {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"L31", "x":0, "y":3, "w":2.25},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":1.75},
-        {"label":"R37", "x":15, "y":3},
-
-        {"label":"L41", "x":1.5, "y":4},
-        {"label":"L42", "x":2.5, "y":4, "w":1.5},
-        {"label":"L43", "x":4, "y":4, "w":2.75},
-        {"label":"L44", "x":6.75, "y":4},
-
-        {"label":"R43", "x":8.75, "y":4},
-        {"label":"R44", "x":9.75, "y":4, "w":2.25},
-        {"label":"R45", "x":12, "y":4, "w":1.5},
-        {"label":"R46", "x":13.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": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 1], "x": 14, "y": 0},
+        {"matrix": [5, 0], "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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 1], "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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 1.75},
+        {"matrix": [8, 0], "x": 15, "y": 3},
+
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.75, "y": 4},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4, "w": 2.25},
+        {"matrix": [9, 2], "x": 12, "y": 4, "w": 1.5},
+        {"matrix": [9, 1], "x": 13.5, "y": 4}
       ]
     },
-
     "LAYOUT_hhkb_split_lshift": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R06", "x":14, "y":0},
-        {"label":"R07", "x":15, "y":0},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-        {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"L30", "x":0, "y":3, "w":1.25},
-        {"label":"L31", "x":1.25, "y":3},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":1.75},
-        {"label":"R37", "x":15, "y":3},
-
-        {"label":"L41", "x":1.5, "y":4},
-        {"label":"L42", "x":2.5, "y":4, "w":1.5},
-        {"label":"L43", "x":4, "y":4, "w":2.75},
-        {"label":"L44", "x":6.75, "y":4},
-
-        {"label":"R43", "x":8.75, "y":4},
-        {"label":"R44", "x":9.75, "y":4, "w":2.25},
-        {"label":"R45", "x":12, "y":4, "w":1.5},
-        {"label":"R46", "x":13.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": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 1], "x": 14, "y": 0},
+        {"matrix": [5, 0], "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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 1.75},
+        {"matrix": [8, 0], "x": 15, "y": 3},
+
+        {"matrix": [4, 1], "x": 1.5, "y": 4},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.75, "y": 4},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4, "w": 2.25},
+        {"matrix": [9, 2], "x": 12, "y": 4, "w": 1.5},
+        {"matrix": [9, 1], "x": 13.5, "y": 4}
       ]
     },
-
     "LAYOUT_wkl_default": {
       "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":8, "y":0},
-        {"label":"R01", "x":9, "y":0},
-        {"label":"R02", "x":10, "y":0},
-        {"label":"R03", "x":11, "y":0},
-        {"label":"R04", "x":12, "y":0},
-        {"label":"R05", "x":13, "y":0},
-        {"label":"R07", "x":14, "y":0, "w":2},
-
-        {"label":"L10", "x":0, "y":1, "w":1.5},
-        {"label":"L11", "x":1.5, "y":1},
-        {"label":"L12", "x":2.5, "y":1},
-        {"label":"L13", "x":3.5, "y":1},
-        {"label":"L14", "x":4.5, "y":1},
-        {"label":"L15", "x":5.5, "y":1},
-
-        {"label":"R10", "x":7.5, "y":1},
-        {"label":"R11", "x":8.5, "y":1},
-        {"label":"R12", "x":9.5, "y":1},
-        {"label":"R13", "x":10.5, "y":1},
-        {"label":"R14", "x":11.5, "y":1},
-        {"label":"R15", "x":12.5, "y":1},
-        {"label":"R16", "x":13.5, "y":1},
-        {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
-        {"label":"L20", "x":0, "y":2, "w":1.75},
-        {"label":"L21", "x":1.75, "y":2},
-        {"label":"L22", "x":2.75, "y":2},
-        {"label":"L23", "x":3.75, "y":2},
-        {"label":"L24", "x":4.75, "y":2},
-        {"label":"L25", "x":5.75, "y":2},
-
-        {"label":"R21", "x":7.75, "y":2},
-        {"label":"R22", "x":8.75, "y":2},
-        {"label":"R23", "x":9.75, "y":2},
-        {"label":"R24", "x":10.75, "y":2},
-        {"label":"R25", "x":11.75, "y":2},
-        {"label":"R26", "x":12.75, "y":2},
-        {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
-        {"label":"L31", "x":0, "y":3, "w":2.25},
-        {"label":"L32", "x":2.25, "y":3},
-        {"label":"L33", "x":3.25, "y":3},
-        {"label":"L34", "x":4.25, "y":3},
-        {"label":"L35", "x":5.25, "y":3},
-        {"label":"L36", "x":6.25, "y":3},
-
-        {"label":"R31", "x":8.25, "y":3},
-        {"label":"R32", "x":9.25, "y":3},
-        {"label":"R33", "x":10.25, "y":3},
-        {"label":"R34", "x":11.25, "y":3},
-        {"label":"R35", "x":12.25, "y":3},
-        {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
-        {"label":"L40", "x":0, "y":4, "w":1.5},
-        {"label":"L42", "x":2.5, "y":4, "w":1.5},
-        {"label":"L43", "x":4, "y":4, "w":2.75},
-        {"label":"L44", "x":6.75, "y":4},
-
-        {"label":"R43", "x":8.75, "y":4},
-        {"label":"R44", "x":9.75, "y":4, "w":2.25},
-        {"label":"R45", "x":12, "y":4, "w":1.5},
-        {"label":"R47", "x":14.5, "y":4, "w":1.5}
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+
+        {"matrix": [5, 7], "x": 8, "y": 0},
+        {"matrix": [5, 6], "x": 9, "y": 0},
+        {"matrix": [5, 5], "x": 10, "y": 0},
+        {"matrix": [5, 4], "x": 11, "y": 0},
+        {"matrix": [5, 3], "x": 12, "y": 0},
+        {"matrix": [5, 2], "x": 13, "y": 0},
+        {"matrix": [5, 0], "x": 14, "y": 0, "w": 2},
+
+        {"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": [6, 7], "x": 7.5, "y": 1},
+        {"matrix": [6, 6], "x": 8.5, "y": 1},
+        {"matrix": [6, 5], "x": 9.5, "y": 1},
+        {"matrix": [6, 4], "x": 10.5, "y": 1},
+        {"matrix": [6, 3], "x": 11.5, "y": 1},
+        {"matrix": [6, 2], "x": 12.5, "y": 1},
+        {"matrix": [6, 1], "x": 13.5, "y": 1},
+        {"matrix": [6, 0], "x": 14.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": [7, 6], "x": 7.75, "y": 2},
+        {"matrix": [7, 5], "x": 8.75, "y": 2},
+        {"matrix": [7, 4], "x": 9.75, "y": 2},
+        {"matrix": [7, 3], "x": 10.75, "y": 2},
+        {"matrix": [7, 2], "x": 11.75, "y": 2},
+        {"matrix": [7, 1], "x": 12.75, "y": 2},
+        {"matrix": [7, 0], "x": 13.75, "y": 2, "w": 2.25},
+
+        {"matrix": [3, 1], "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": [8, 6], "x": 8.25, "y": 3},
+        {"matrix": [8, 5], "x": 9.25, "y": 3},
+        {"matrix": [8, 4], "x": 10.25, "y": 3},
+        {"matrix": [8, 3], "x": 11.25, "y": 3},
+        {"matrix": [8, 2], "x": 12.25, "y": 3},
+        {"matrix": [8, 1], "x": 13.25, "y": 3, "w": 2.75},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+        {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.75},
+        {"matrix": [4, 4], "x": 6.75, "y": 4},
+
+        {"matrix": [9, 4], "x": 8.75, "y": 4},
+        {"matrix": [9, 3], "x": 9.75, "y": 4, "w": 2.25},
+        {"matrix": [9, 2], "x": 12, "y": 4, "w": 1.5},
+        {"matrix": [9, 0], "x": 14.5, "y": 4, "w": 1.5}
       ]
     }
   }

+ 0 - 195
keyboards/handwired/qc60/proto/proto.h

@@ -1,195 +0,0 @@
-/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
- *
- * 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"
-
-// readability
-#define XXX KC_NO
-
-/* Split Backspace
- * {R07, XXX, R05, R04, R03, R02, R01, R00}
- *
- * Split Right Shift
- * {R37, R36, R35, R34, R33, R32, R31, XXX}
- *
- * Split Left Shift
- * {L30, L31, L32, L33, L34, L35, L36, XXX}
- *
- * 6-key Bottom-left row
- * {R47, R46, R45, R44, R43, R42, XXX, XXX}
- */
-
-#define LAYOUT( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-    L30, L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36, R37, \
-    L40, L41, L42, L43, L44,                     R43, R44, R42, R45, R46, R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {L30, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, R06, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {R37, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_ansi_default( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05,      R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-         L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36,      \
-    L40, L41, L42, L43, L44,                     R43, R44, R42, R45, R46, R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {XXX, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, XXX, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_ansi_alt( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05,      R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-         L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36,      \
-    L40, L41, L42, L43, L44,                     R43, R44,      R45, R46, R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {XXX, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, XXX, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_iso_default( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05,           R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16,           \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R17, R27, \
-    L30, L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36,           \
-    L40, L41, L42, L43, L44,                     R43, R44, R42, R45, R46,      R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {L30, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, XXX, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_iso_alt( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05,           R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16,           \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R17, R27, \
-    L30, L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36,           \
-    L40, L41, L42, L43, L44,                     R43, R44,      R45, R46,      R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {L30, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, XXX, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_hhkb_default( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-         L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36, R37, \
-         L41, L42, L43, L44,                     R43, R44,      R45, R46       \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {XXX, L31, L32, L33, L34, L35, L36, XXX}, \
-    {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, R06, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {R37, R36, R35, R34, R33, R32, R31, XXX}, \
-    {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_hhkb_split_lshift( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-    L30, L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36, R37, \
-         L41, L42, L43, L44,                     R43, R44,      R45, R46       \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {L30, L31, L32, L33, L34, L35, L36, XXX}, \
-    {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, R06, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {R37, R36, R35, R34, R33, R32, R31, XXX}, \
-    {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_wkl_default( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05,      R07, \
-    L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, R16, R17, \
-    L20, L21, L22, L23, L24, L25,           R21, R22, R23, R24, R25, R26, R27, \
-         L31, L32, L33, L34, L35, L36,      R31, R32, R33, R34, R35, R36,       \
-    L40,      L42, L43, L44,                     R43, R44,      R45,      R47  \
-) \
-{ \
-    {L00, L01, L02, L03, L04, L05, L06, XXX}, \
-    {L10, L11, L12, L13, L14, L15, XXX, XXX}, \
-    {L20, L21, L22, L23, L24, L25, XXX, XXX}, \
-    {XXX, L31, L32, L33, L34, L35, L36, XXX}, \
-    {L40, XXX, L42, L43, L44, XXX, XXX, XXX}, \
-    {R07, XXX, R05, R04, R03, R02, R01, R00}, \
-    {R17, R16, R15, R14, R13, R12, R11, R10}, \
-    {R27, R26, R25, R24, R23, R22, R21, XXX}, \
-    {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
-    {R47, XXX, R45, R44, R43, XXX, XXX, XXX}, \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/handwired/sejin_eat1010r2/info.json


+ 20 - 0
keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c

@@ -15,6 +15,26 @@
  */
 #include QMK_KEYBOARD_H
 
+#define LAYOUT_debug( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \
+    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \
+    K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F, \
+    K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F, \
+    K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F \
+) { \
+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
+    { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \
+    { K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
+    { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
+}
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [0] = LAYOUT_debug(

+ 0 - 74
keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h

@@ -1,74 +0,0 @@
-/* Copyright 2023 DmNosachev
- *
- * 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"
-
-/* 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.
- */
-
-#define LAYOUT( \
-	K10,      K1B, K2B, K27, K17,   K15, K25, K14, K13,    K24, K35, K26, K16,   K1C, K2C, K1D, \
-	K20, K30, K3B, K37, K21, K11, K12, K22, K45, K34, K23, K33, K44, K06, K46,   K36, K3C, K3D,  K2D, K3E, K4E, K3F, \
-	K40,  K00, K4B, K47, K41, K31, K32, K42, K55, K04, K43, K03, K54, K07,       K05, K4C, K0C,  K0D, K4D, K0E, K4F, \
-	K70,   K50, K0B, K67, K51, K01, K02, K52, K65, K64, K53,              K63,                   K5C, K5D, K5E, \
-	K7A,    K6B, K5B, K77, K71, K61, K62, K72, K75, K74, K73,             K6A,        K56,       K6C, K6D, K6E, K5F, \
-	K79,     K78,               K7B,                               K68,   K69,   K66, K76, K7C,  K7E,      K7F \
-) \
-{ \
-/* 0 */  { K00, K01, K02, K03, K04, K05, K06, K07, XXX, XXX, XXX, K0B, K0C, K0D, K0E, XXX }, \
-/* 1 */  { K10, K11, K12, K13, K14, K15, K16, K17, XXX, XXX, XXX, K1B, K1C, K1D, XXX, XXX }, \
-/* 2 */  { K20, K21, K22, K23, K24, K25, K26, K27, XXX, XXX, XXX, K2B, K2C, K2D, XXX, XXX }, \
-/* 3 */  { K30, K31, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, K3B, K3C, K3D, K3E, K3F }, \
-/* 4 */  { K40, K41, K42, K43, K44, K45, K46, K47, XXX, XXX, XXX, K4B, K4C, K4D, K4E, K4F }, \
-/* 5 */  { K50, K51, K52, K53, K54, K55, K56, XXX, XXX, XXX, XXX, K5B, K5C, K5D, K5E, K5F }, \
-/* 6 */  { XXX, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, XXX }, \
-/* 7 */  { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, XXX, K7E, K7F }  \
-}
-/*          0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F     */
-
-#define LAYOUT_debug( \
-	K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
-	K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
-	K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
-	K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \
-	K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \
-	K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F, \
-	K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F, \
-	K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F  \
-) \
-{ \
-/* 0 */  { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
-/* 1 */  { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
-/* 2 */  { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
-/* 3 */  { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
-/* 4 */  { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
-/* 5 */  { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \
-/* 6 */  { K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
-/* 7 */  { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F }  \
-}
-/*          0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F     */
-

+ 129 - 113
keyboards/handwired/sono1/info.json

@@ -10,119 +10,135 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {"label":"F11", "x":0, "y":0},
-                {"label":"F12", "x":1.25, "y":0},
-                {"label":"F1", "x":2.75, "y":0, "w":1.25},
-                {"label":"F2", "x":4, "y":0, "w":1.25},
-                {"label":"F3", "x":5.25, "y":0, "w":1.25},
-                {"label":"F4", "x":6.5, "y":0, "w":1.25},
-                {"label":"F5", "x":7.75, "y":0, "w":1.25},
-                {"label":"F6", "x":9.25, "y":0, "w":1.25},
-                {"label":"F7", "x":10.5, "y":0, "w":1.25},
-                {"label":"F8", "x":11.75, "y":0, "w":1.25},
-                {"label":"F9", "x":13, "y":0, "w":1.25},
-                {"label":"F10", "x":14.25, "y":0, "w":1.25},
-                {"label":"PgUp", "x":16, "y":0},
-                {"label":"PgDn", "x":17, "y":0},
-                {"label":"LOCK", "x":18.5, "y":0.5},
-
-                {"label":"Esc", "x":0, "y":1.5, "w":1.25},
-                {"label":"!", "x":1.25, "y":1.5},
-                {"label":"@", "x":2.25, "y":1.5},
-                {"label":"#", "x":3.25, "y":1.5},
-                {"label":"$", "x":4.25, "y":1.5},
-                {"label":"%", "x":5.25, "y":1.5},
-                {"label":"^", "x":6.25, "y":1.5},
-                {"label":"&", "x":7.25, "y":1.5},
-                {"label":"*", "x":8.25, "y":1.5},
-                {"label":"(", "x":9.25, "y":1.5},
-                {"label":")", "x":10.25, "y":1.5},
-                {"label":"_", "x":11.25, "y":1.5},
-                {"label":"+", "x":12.25, "y":1.5},
-                {"label":"~", "x":13.25, "y":1.5},
-                {"label":"BksSpc", "x":14.25, "y":1.5, "w":1.25},
-                {"label":"Home", "x":16, "y":1},
-                {"label":"End", "x":17, "y":1},
-                {"label":"/", "x":18.5, "y":1.5},
-                {"label":"*", "x":19.5, "y":1.5},
-                {"label":"-", "x":20.5, "y":1.5},
-                {"label":"+", "x":21.5, "y":1.5},
-
-                {"label":"Tab", "x":0, "y":2.5, "w":1.5},
-                {"label":"Q", "x":1.5, "y":2.5},
-                {"label":"W", "x":2.5, "y":2.5},
-                {"label":"E", "x":3.5, "y":2.5},
-                {"label":"R", "x":4.5, "y":2.5},
-                {"label":"T", "x":5.5, "y":2.5},
-                {"label":"Y", "x":6.5, "y":2.5},
-                {"label":"U", "x":7.5, "y":2.5},
-                {"label":"I", "x":8.5, "y":2.5},
-                {"label":"O", "x":9.5, "y":2.5},
-                {"label":"P", "x":10.5, "y":2.5},
-                {"label":"{", "x":11.5, "y":2.5},
-                {"label":"}", "x":12.5, "y":2.5},
-                {"label":"Enter", "x":13.75, "y":2.5, "w":1.75, "h":2},
-                {"label":"Ins", "x":16, "y":2},
-                {"label":"Del", "x":17, "y":2},
-                {"label":"7", "x":18.5, "y":2.5},
-                {"label":"8", "x":19.5, "y":2.5},
-                {"label":"9", "x":20.5, "y":2.5},
-                {"label":"+=", "x":21.5, "y":2.5},
-
-                {"label":"Ctrl", "x":0, "y":3.5, "w":1.75},
-                {"label":"A", "x":1.75, "y":3.5},
-                {"label":"S", "x":2.75, "y":3.5},
-                {"label":"D", "x":3.75, "y":3.5},
-                {"label":"F", "x":4.75, "y":3.5},
-                {"label":"G", "x":5.75, "y":3.5},
-                {"label":"H", "x":6.75, "y":3.5},
-                {"label":"J", "x":7.75, "y":3.5},
-                {"label":"K", "x":8.75, "y":3.5},
-                {"label":"L", "x":9.75, "y":3.5},
-                {"label":":", "x":10.75, "y":3.5},
-                {"label":"\"", "x":11.75, "y":3.5},
-                {"label":"|", "x":12.75, "y":3.5},
-                {"label":"Up", "x":16, "y":3.5, "w":2},
-                {"label":"4", "x":18.5, "y":3.5},
-                {"label":"5", "x":19.5, "y":3.5},
-                {"label":"6", "x":20.5, "y":3.5},
-                {"label":".", "x":21.5, "y":3.5},
-
-                {"label":"Shift", "x":0, "y":4.5, "w":2.5},
-                {"label":"Z", "x":2.5, "y":4.5},
-                {"label":"X", "x":3.5, "y":4.5},
-                {"label":"C", "x":4.5, "y":4.5},
-                {"label":"V", "x":5.5, "y":4.5},
-                {"label":"B", "x":6.5, "y":4.5},
-                {"label":"N", "x":7.5, "y":4.5},
-                {"label":"M", "x":8.5, "y":4.5},
-                {"label":"<", "x":9.5, "y":4.5},
-                {"label":">", "x":10.5, "y":4.5},
-                {"label":"?", "x":11.5, "y":4.5},
-                {"label":"MUS", "x":12.5, "y":4.5},
-                {"label":"Shift", "x":13.5, "y":4.5, "w":2},
-                {"label":"Left", "x":16, "y":4.5},
-                {"label":"Right", "x":17, "y":4.5},
-                {"label":"1", "x":18.5, "y":4.5},
-                {"label":"2", "x":19.5, "y":4.5},
-                {"label":"3", "x":20.5, "y":4.5},
-                {"label":"<", "x":21.5, "y":4.5},
-
-                {"label":"Caps", "x":0, "y":5.5},
-                {"label":"Alt", "x":1, "y":5.5},
-                {"label":"App", "x":2, "y":5.5, "w":1.25},
-                {"label":"GUI", "x":3.25, "y":5.5, "w":1.5},
-                {"label":"Space", "x":4.75, "y":5.5, "w":2.25},
-                {"label":"Space", "x":7, "y":5.5, "w":2.25},
-                {"label":"Enter", "x":9.25, "y":5.5, "w":3},
-                {"label":"Ctrl", "x":12.25, "y":5.5, "w":1.5},
-                {"label":"Alt", "x":14.5, "y":5.5},
-                {"label":"Down", "x":16, "y":5.5, "w":2},
-                {"label":"0", "x":18.5, "y":5.5},
-                {"label":"000", "x":19.5, "y":5.5},
-                {"label":"Enter", "x":20.5, "y":5.5, "w":2},
-                {"label":"Fn", "x":5.75, "y":6.5, "w":1.25},
-                {"label":"BkSpc", "x":7, "y":6.5, "w":1.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 1], "x": 1.25, "y": 0},
+
+                {"matrix": [0, 2], "x": 2.75, "y": 0, "w": 1.25},
+                {"matrix": [0, 3], "x": 4, "y": 0, "w": 1.25},
+                {"matrix": [0, 4], "x": 5.25, "y": 0, "w": 1.25},
+                {"matrix": [0, 5], "x": 6.5, "y": 0, "w": 1.25},
+                {"matrix": [0, 6], "x": 7.75, "y": 0, "w": 1.25},
+
+                {"matrix": [0, 7], "x": 9.25, "y": 0, "w": 1.25},
+                {"matrix": [1, 0], "x": 10.5, "y": 0, "w": 1.25},
+                {"matrix": [1, 1], "x": 11.75, "y": 0, "w": 1.25},
+                {"matrix": [1, 2], "x": 13, "y": 0, "w": 1.25},
+                {"matrix": [1, 3], "x": 14.25, "y": 0, "w": 1.25},
+
+                {"matrix": [9, 7], "x": 16, "y": 0},
+                {"matrix": [10, 0], "x": 17, "y": 0},
+
+                {"matrix": [13, 6], "x": 18.5, "y": 0.5},
+
+                {"matrix": [1, 4], "x": 0, "y": 1.5, "w": 1.25},
+                {"matrix": [1, 5], "x": 1.25, "y": 1.5},
+                {"matrix": [1, 6], "x": 2.25, "y": 1.5},
+                {"matrix": [1, 7], "x": 3.25, "y": 1.5},
+                {"matrix": [2, 0], "x": 4.25, "y": 1.5},
+                {"matrix": [2, 1], "x": 5.25, "y": 1.5},
+                {"matrix": [2, 2], "x": 6.25, "y": 1.5},
+                {"matrix": [2, 3], "x": 7.25, "y": 1.5},
+                {"matrix": [2, 4], "x": 8.25, "y": 1.5},
+                {"matrix": [2, 5], "x": 9.25, "y": 1.5},
+                {"matrix": [2, 6], "x": 10.25, "y": 1.5},
+                {"matrix": [2, 7], "x": 11.25, "y": 1.5},
+                {"matrix": [3, 0], "x": 12.25, "y": 1.5},
+                {"matrix": [3, 1], "x": 13.25, "y": 1.5},
+                {"matrix": [7, 4], "x": 14.25, "y": 1.5, "w": 1.25},
+
+                {"matrix": [10, 1], "x": 16, "y": 1},
+                {"matrix": [10, 2], "x": 17, "y": 1},
+
+                {"matrix": [12, 0], "x": 18.5, "y": 1.5},
+                {"matrix": [13, 0], "x": 19.5, "y": 1.5},
+                {"matrix": [14, 0], "x": 20.5, "y": 1.5},
+                {"matrix": [12, 1], "x": 21.5, "y": 1.5},
+
+                {"matrix": [7, 5], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [3, 2], "x": 1.5, "y": 2.5},
+                {"matrix": [3, 3], "x": 2.5, "y": 2.5},
+                {"matrix": [3, 4], "x": 3.5, "y": 2.5},
+                {"matrix": [3, 5], "x": 4.5, "y": 2.5},
+                {"matrix": [3, 6], "x": 5.5, "y": 2.5},
+                {"matrix": [3, 7], "x": 6.5, "y": 2.5},
+                {"matrix": [4, 0], "x": 7.5, "y": 2.5},
+                {"matrix": [4, 1], "x": 8.5, "y": 2.5},
+                {"matrix": [4, 2], "x": 9.5, "y": 2.5},
+                {"matrix": [4, 3], "x": 10.5, "y": 2.5},
+                {"matrix": [4, 4], "x": 11.5, "y": 2.5},
+                {"matrix": [4, 5], "x": 12.5, "y": 2.5},
+                {"matrix": [7, 6], "x": 13.75, "y": 2.5, "w": 1.75, "h": 2},
+
+                {"matrix": [10, 3], "x": 16, "y": 2},
+                {"matrix": [10, 4], "x": 17, "y": 2},
+
+                {"matrix": [13, 1], "x": 18.5, "y": 2.5},
+                {"matrix": [14, 1], "x": 19.5, "y": 2.5},
+                {"matrix": [12, 2], "x": 20.5, "y": 2.5},
+                {"matrix": [13, 2], "x": 21.5, "y": 2.5},
+
+                {"matrix": [7, 7], "x": 0, "y": 3.5, "w": 1.75},
+                {"matrix": [4, 7], "x": 1.75, "y": 3.5},
+                {"matrix": [5, 0], "x": 2.75, "y": 3.5},
+                {"matrix": [5, 1], "x": 3.75, "y": 3.5},
+                {"matrix": [5, 2], "x": 4.75, "y": 3.5},
+                {"matrix": [5, 3], "x": 5.75, "y": 3.5},
+                {"matrix": [5, 4], "x": 6.75, "y": 3.5},
+                {"matrix": [5, 5], "x": 7.75, "y": 3.5},
+                {"matrix": [5, 6], "x": 8.75, "y": 3.5},
+                {"matrix": [5, 7], "x": 9.75, "y": 3.5},
+                {"matrix": [6, 0], "x": 10.75, "y": 3.5},
+                {"matrix": [8, 0], "x": 11.75, "y": 3.5},
+                {"matrix": [8, 1], "x": 12.75, "y": 3.5},
+
+                {"matrix": [11, 0], "x": 16, "y": 3.5, "w": 2},
+
+                {"matrix": [14, 2], "x": 18.5, "y": 3.5},
+                {"matrix": [12, 3], "x": 19.5, "y": 3.5},
+                {"matrix": [13, 3], "x": 20.5, "y": 3.5},
+                {"matrix": [14, 3], "x": 21.5, "y": 3.5},
+
+                {"matrix": [8, 2], "x": 0, "y": 4.5, "w": 2.5},
+                {"matrix": [6, 1], "x": 2.5, "y": 4.5},
+                {"matrix": [6, 2], "x": 3.5, "y": 4.5},
+                {"matrix": [6, 3], "x": 4.5, "y": 4.5},
+                {"matrix": [6, 4], "x": 5.5, "y": 4.5},
+                {"matrix": [6, 5], "x": 6.5, "y": 4.5},
+                {"matrix": [6, 6], "x": 7.5, "y": 4.5},
+                {"matrix": [6, 7], "x": 8.5, "y": 4.5},
+                {"matrix": [7, 0], "x": 9.5, "y": 4.5},
+                {"matrix": [7, 1], "x": 10.5, "y": 4.5},
+                {"matrix": [7, 2], "x": 11.5, "y": 4.5},
+                {"matrix": [7, 3], "x": 12.5, "y": 4.5},
+                {"matrix": [8, 3], "x": 13.5, "y": 4.5, "w": 2},
+
+                {"matrix": [11, 1], "x": 16, "y": 4.5},
+                {"matrix": [11, 2], "x": 17, "y": 4.5},
+
+                {"matrix": [12, 4], "x": 18.5, "y": 4.5},
+                {"matrix": [13, 4], "x": 19.5, "y": 4.5},
+                {"matrix": [14, 4], "x": 20.5, "y": 4.5},
+                {"matrix": [12, 5], "x": 21.5, "y": 4.5},
+
+                {"matrix": [8, 4], "x": 0, "y": 5.5},
+                {"matrix": [8, 5], "x": 1, "y": 5.5},
+                {"matrix": [8, 6], "x": 2, "y": 5.5, "w": 1.25},
+                {"matrix": [8, 7], "x": 3.25, "y": 5.5, "w": 1.5},
+                {"matrix": [9, 0], "x": 4.75, "y": 5.5, "w": 2.25},
+                {"matrix": [9, 1], "x": 7, "y": 5.5, "w": 2.25},
+                {"matrix": [9, 2], "x": 9.25, "y": 5.5, "w": 3},
+                {"matrix": [9, 3], "x": 12.25, "y": 5.5, "w": 1.5},
+                {"matrix": [9, 4], "x": 14.5, "y": 5.5},
+
+                {"matrix": [11, 3], "x": 16, "y": 5.5, "w": 2},
+
+                {"matrix": [13, 5], "x": 18.5, "y": 5.5},
+                {"matrix": [14, 5], "x": 19.5, "y": 5.5},
+                {"matrix": [12, 6], "x": 20.5, "y": 5.5, "w": 2},
+
+                {"matrix": [9, 5], "x": 5.75, "y": 6.5, "w": 1.25},
+                {"matrix": [9, 6], "x": 7, "y": 6.5, "w": 1.25}
             ]
         }
     }

+ 34 - 0
keyboards/handwired/sono1/keymaps/debug/keymap.c

@@ -15,6 +15,40 @@
  */
 #include QMK_KEYBOARD_H
 
+#define LAYOUT_debug( \
+    K00, K01, K02, K03, K04, K05, K06, K07, \
+    K10, K11, K12, K13, K14, K15, K16, K17, \
+    K20, K21, K22, K23, K24, K25, K26, K27, \
+    K30, K31, K32, K33, K34, K35, K36, K37, \
+    K40, K41, K42, K43, K44, K45, K46, K47, \
+    K50, K51, K52, K53, K54, K55, K56, K57, \
+    K60, K61, K62, K63, K64, K65, K66, K67, \
+    K70, K71, K72, K73, K74, K75, K76, K77, \
+    K80, K81, K82, K83, K84, K85, K86, K87, \
+    K90, K91, K92, K93, K94, K95, K96, K97, \
+    KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, \
+    KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, \
+    KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7, \
+    KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7, \
+    KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 \
+) { \
+    { K00, K01, K02, K03, K04, K05, K06, K07 }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17 }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27 }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37 }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47 }, \
+    { K50, K51, K52, K53, K54, K55, K56, K57 }, \
+    { K60, K61, K62, K63, K64, K65, K66, K67 }, \
+    { K70, K71, K72, K73, K74, K75, K76, K77 }, \
+    { K80, K81, K82, K83, K84, K85, K86, K87 }, \
+    { K90, K91, K92, K93, K94, K95, K96, K97 }, \
+    { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 }, \
+    { KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7 }, \
+    { KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7 }, \
+    { KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7 }, \
+    { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 } \
+}
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [0] = LAYOUT_debug(

+ 1 - 1
keyboards/handwired/sono1/sono1.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sono1.h"
+#include "quantum.h"
 
 void matrix_init_kb(void) {
   /* LED pins setup */

+ 0 - 107
keyboards/handwired/sono1/sono1.h

@@ -1,107 +0,0 @@
-/* Copyright 2020 DmNosachev
- *
- * 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.
- */
-
-/*
-,---------------------------------------------------------------------------------------------------------,  ,-----,
-|  <  |  |NumLk|  |  f1  |  f2  |  f3  |  f4  |  f5  |   |  f6  |  f7  |  f8  |  f9  | f10  | |RlUp |RlDn |  |CurLk|
-|-------------------------------------------------------------------------------------------| |-----------|  |-----|-----------------,
-| Esc  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  | = - |  ^  |  ^  |  BS  | |Home |Help |  |  *  |  /  |  -  |  +  |
-|-------------------------------------------------------------------------------------------| |-----------|  |-----------------------|
-|  Tab  |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  | ~@  | {[  |   Return  | | Ins | Del |  |  7  |  8  |  9  |  =  |
-|--------------------------------------------------------------------------------|          | `-----------'  |-----------------------|
-|  Ctrl  |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  | +;  | *:  | }]  |          | |    Up     |  |  4  |  5  |  6  |  .  |
-|--------------------------------------------------------------------------------`----------' |-----------|  |-----------------------|
-|   Shift  |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  | ?/  | --  |    Shift     | |Left |Right|  |  1  |  2  |  3  |  ,  |
-|-------------------------------------------------------------------------------------------| |-----------|  |-----------------------|
-|Caps | Opt |Kana | Cmd |   Space1    |    Space2   |    Space3       | Enter |       | Alt | |   Down    |  |  0  | 000 |   Enter   |
-`-------------------------------------------------------------------------------------------' `-----------'  '-----------------------'
-                               |Thumb1|Thumb2|
-                               `-------------'
-*/
-#define LAYOUT( \
-    K00,   K01,   K02,  K03,  K04,  K05,  K06,     K07,  K10,  K11,  K12,  K13,  K97, KA0,   KD6, \
-    K14,  K15, K16, K17, K20, K21, K22, K23, K24, K25, K26, K27, K30, K31, K74,  KA1, KA2,   KC0, KD0, KE0, KC1, \
-    K75,   K32, K33, K34, K35, K36, K37, K40, K41, K42, K43, K44, K45,     K76,  KA3, KA4,   KD1, KE1, KC2, KD2, \
-    K77,    K47, K50, K51, K52, K53, K54, K55, K56, K57, K60, K80, K81,            KB0,      KE2, KC3, KD3, KE3, \
-    K82,     K61, K62, K63, K64, K65, K66, K67, K70, K71, K72, K73, K83,         KB1, KB2,   KC4, KD4, KE4, KC5,\
-    K84,  K85,  K86,  K87,      K90,      K91,      K92,     K93,   K94,           KB3,      KD5, KE5,   KC6, \
-                                K95, K96 \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07 }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17 }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27 }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37 }, \
-    { K40, K41, K42, K43, K44, K45, XXX, K47 }, \
-    { K50, K51, K52, K53, K54, K55, K56, K57 }, \
-    { K60, K61, K62, K63, K64, K65, K66, K67 }, \
-    { K70, K71, K72, K73, K74, K75, K76, K77 }, \
-    { K80, K81, K82, K83, K84, K85, K86, K87 }, \
-    { K90, K91, K92, K93, K94, K95, K96, K97 }, \
-    { KA0, KA1, KA2, KA3, KA4, XXX, XXX, XXX }, \
-    { KB0, KB1, KB2, KB3, XXX, XXX, XXX, XXX }, \
-    { KC0, KC1, KC2, KC3, KC4, KC5, KC6, XXX }, \
-    { KD0, KD1, KD2, KD3, KD4, KD5, KD6, XXX }, \
-    { KE0, KE1, KE2, KE3, KE4, KE5, XXX, XXX } \
-}
-
-#define LAYOUT_debug( \
-    K00, K01, K02, K03, K04, K05, K06, K07, \
-    K10, K11, K12, K13, K14, K15, K16, K17, \
-    K20, K21, K22, K23, K24, K25, K26, K27, \
-    K30, K31, K32, K33, K34, K35, K36, K37, \
-    K40, K41, K42, K43, K44, K45, K46, K47, \
-    K50, K51, K52, K53, K54, K55, K56, K57, \
-    K60, K61, K62, K63, K64, K65, K66, K67, \
-    K70, K71, K72, K73, K74, K75, K76, K77, \
-    K80, K81, K82, K83, K84, K85, K86, K87, \
-    K90, K91, K92, K93, K94, K95, K96, K97, \
-    KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, \
-    KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, \
-    KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7, \
-    KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7, \
-    KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7  \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07 }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17 }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27 }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37 }, \
-    { K40, K41, K42, K43, K44, K45, K46, K47 }, \
-    { K50, K51, K52, K53, K54, K55, K56, K57 }, \
-    { K60, K61, K62, K63, K64, K65, K66, K67 }, \
-    { K70, K71, K72, K73, K74, K75, K76, K77 }, \
-    { K80, K81, K82, K83, K84, K85, K86, K87 }, \
-    { K90, K91, K92, K93, K94, K95, K96, K97 }, \
-    { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 }, \
-    { KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7 }, \
-    { KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7 }, \
-    { KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7 }, \
-    { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 } \
-}

+ 0 - 57
keyboards/kagizaraya/chidori/chidori.h

@@ -1,57 +0,0 @@
-/* Copyright 2019 ENDO Katsuhiro <ka2hiro@kagizaraya.jp>
- *
- * 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"
-
-// clang-format off
-#define LAYOUT( \
-    L01, L02, L03, L04, L05, L06, R01, R02, R03, R04, R05, R06, \
-    L07, L08, L09, L10, L11, L12, R07, R08, R09, R10, R11, R12, \
-    L13, L14, L15, L16, L17, L18, R13, R14, R15, R16, R17, R18, \
-    L19, L20, L21, L22, L23, L24, R19, R20, R21, R22, R23, R24  \
-) { \
-    { L01, L02, L03, L04, L05, L06 }, \
-    { L07, L08, L09, L10, L11, L12 }, \
-    { L13, L14, L15, L16, L17, L18 }, \
-    { L19, L20, L21, L22, L23, L24 }, \
-    { R01, R02, R03, R04, R05, R06 }, \
-    { R07, R08, R09, R10, R11, R12 }, \
-    { R13, R14, R15, R16, R17, R18 }, \
-    { R19, R20, R21, R22, R23, R24 }  \
-}
-
-#define LAYOUT_extended( \
-    L01, L02, L03, L04, L05, L06, M01, M02, M03, M04, M05, M06, R01, R02, R03, R04, R05, R06, \
-    L07, L08, L09, L10, L11, L12, M07, M08, M09, M10, M11, M12, R07, R08, R09, R10, R11, R12, \
-    L13, L14, L15, L16, L17, L18, M13, M14, M15, M16, M17, M18, R13, R14, R15, R16, R17, R18, \
-    L19, L20, L21, L22, L23, L24, M19, M20, M21, M22, M23, M24, R19, R20, R21, R22, R23, R24  \
-) { \
-    { L01, L02, L03, L04, L05, L06 }, \
-    { L07, L08, L09, L10, L11, L12 }, \
-    { L13, L14, L15, L16, L17, L18 }, \
-    { L19, L20, L21, L22, L23, L24 }, \
-    { M01, M02, M03, M04, M05, M06 }, \
-    { M07, M08, M09, M10, M11, M12 }, \
-    { M13, M14, M15, M16, M17, M18 }, \
-    { M19, M20, M21, M22, M23, M24 }, \
-    { R01, R02, R03, R04, R05, R06 }, \
-    { R07, R08, R09, R10, R11, R12 }, \
-    { R13, R14, R15, R16, R17, R18 }, \
-    { R19, R20, R21, R22, R23, R24 }  \
-}
-// clang-format on

+ 138 - 8
keyboards/kagizaraya/chidori/info.json

@@ -13,18 +13,148 @@
     "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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1},
-                {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2},
-                {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}
+                {"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": [4, 0], "x": 7, "y": 0},
+                {"matrix": [4, 1], "x": 8, "y": 0},
+                {"matrix": [4, 2], "x": 9, "y": 0},
+                {"matrix": [4, 3], "x": 10, "y": 0},
+                {"matrix": [4, 4], "x": 11, "y": 0},
+                {"matrix": [4, 5], "x": 12, "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": [5, 0], "x": 7, "y": 1},
+                {"matrix": [5, 1], "x": 8, "y": 1},
+                {"matrix": [5, 2], "x": 9, "y": 1},
+                {"matrix": [5, 3], "x": 10, "y": 1},
+                {"matrix": [5, 4], "x": 11, "y": 1},
+                {"matrix": [5, 5], "x": 12, "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": [6, 0], "x": 7, "y": 2},
+                {"matrix": [6, 1], "x": 8, "y": 2},
+                {"matrix": [6, 2], "x": 9, "y": 2},
+                {"matrix": [6, 3], "x": 10, "y": 2},
+                {"matrix": [6, 4], "x": 11, "y": 2},
+                {"matrix": [6, 5], "x": 12, "y": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3},
+
+                {"matrix": [7, 0], "x": 7, "y": 3},
+                {"matrix": [7, 1], "x": 8, "y": 3},
+                {"matrix": [7, 2], "x": 9, "y": 3},
+                {"matrix": [7, 3], "x": 10, "y": 3},
+                {"matrix": [7, 4], "x": 11, "y": 3},
+                {"matrix": [7, 5], "x": 12, "y": 3}
             ]
         },
         "LAYOUT_extended": {
             "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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"x":19, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":17, "y":1}, {"x":18, "y":1}, {"x":19, "y":1},
-                {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":17, "y":2}, {"x":18, "y":2}, {"x":19, "y":2},
-                {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":16, "y":3}, {"x":17, "y":3}, {"x":18, "y":3}, {"x":19, "y":3}
+                {"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": [4, 0], "x": 7, "y": 0},
+                {"matrix": [4, 1], "x": 8, "y": 0},
+                {"matrix": [4, 2], "x": 9, "y": 0},
+                {"matrix": [4, 3], "x": 10, "y": 0},
+                {"matrix": [4, 4], "x": 11, "y": 0},
+                {"matrix": [4, 5], "x": 12, "y": 0},
+
+                {"matrix": [8, 0], "x": 14, "y": 0},
+                {"matrix": [8, 1], "x": 15, "y": 0},
+                {"matrix": [8, 2], "x": 16, "y": 0},
+                {"matrix": [8, 3], "x": 17, "y": 0},
+                {"matrix": [8, 4], "x": 18, "y": 0},
+                {"matrix": [8, 5], "x": 19, "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": [5, 0], "x": 7, "y": 1},
+                {"matrix": [5, 1], "x": 8, "y": 1},
+                {"matrix": [5, 2], "x": 9, "y": 1},
+                {"matrix": [5, 3], "x": 10, "y": 1},
+                {"matrix": [5, 4], "x": 11, "y": 1},
+                {"matrix": [5, 5], "x": 12, "y": 1},
+
+                {"matrix": [9, 0], "x": 14, "y": 1},
+                {"matrix": [9, 1], "x": 15, "y": 1},
+                {"matrix": [9, 2], "x": 16, "y": 1},
+                {"matrix": [9, 3], "x": 17, "y": 1},
+                {"matrix": [9, 4], "x": 18, "y": 1},
+                {"matrix": [9, 5], "x": 19, "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": [6, 0], "x": 7, "y": 2},
+                {"matrix": [6, 1], "x": 8, "y": 2},
+                {"matrix": [6, 2], "x": 9, "y": 2},
+                {"matrix": [6, 3], "x": 10, "y": 2},
+                {"matrix": [6, 4], "x": 11, "y": 2},
+                {"matrix": [6, 5], "x": 12, "y": 2},
+
+                {"matrix": [10, 0], "x": 14, "y": 2},
+                {"matrix": [10, 1], "x": 15, "y": 2},
+                {"matrix": [10, 2], "x": 16, "y": 2},
+                {"matrix": [10, 3], "x": 17, "y": 2},
+                {"matrix": [10, 4], "x": 18, "y": 2},
+                {"matrix": [10, 5], "x": 19, "y": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3},
+
+                {"matrix": [7, 0], "x": 7, "y": 3},
+                {"matrix": [7, 1], "x": 8, "y": 3},
+                {"matrix": [7, 2], "x": 9, "y": 3},
+                {"matrix": [7, 3], "x": 10, "y": 3},
+                {"matrix": [7, 4], "x": 11, "y": 3},
+                {"matrix": [7, 5], "x": 12, "y": 3},
+
+                {"matrix": [11, 0], "x": 14, "y": 3},
+                {"matrix": [11, 1], "x": 15, "y": 3},
+                {"matrix": [11, 2], "x": 16, "y": 3},
+                {"matrix": [11, 3], "x": 17, "y": 3},
+                {"matrix": [11, 4], "x": 18, "y": 3},
+                {"matrix": [11, 5], "x": 19, "y": 3}
             ]
         }
     }

+ 191 - 191
keyboards/kc60/info.json

@@ -27,217 +27,217 @@
     "layouts": {
         "LAYOUT_all": {
             "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},
+                {"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": [4, 9], "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},
+                {"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},
-                {"x": 13.75, "y": 2, "w": 1.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},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.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},
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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": 6.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}
+                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "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},
+                {"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},
 
-                {"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},
+                {"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},
-                {"x": 13.75, "y": 2, "w": 1.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},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.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},
+                {"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},
 
-                {"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": 14, "y": 0},
-                {"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}
+                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 9], "x": 14, "y": 0},
+                {"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}
             ]
         },
         "LAYOUT_60_ansi": {
             "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},
+                {"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},
+                {"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},
 
-                {"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": 2.75},
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 
-                {"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, "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}
+                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         }
     }

+ 1 - 1
keyboards/kc60/kc60.c

@@ -1,4 +1,4 @@
-#include "kc60.h"
+#include "quantum.h"
 
 void led_update_ports(led_t led_state) {
     if (led_state.caps_lock) {

+ 0 - 93
keyboards/kc60/kc60.h

@@ -1,93 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-/* LAYOUT_all
- * ,-----------------------------------------------------------.
- * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |49 |
- * |-----------------------------------------------------------|      ,-----.
- * |10   |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D   |      |     |
- * |-----------------------------------------------------------|   ,---.    |
- * |20    |21 |22 |23 |24 |25 |26 |17 |28 |29 |2A |2B |2D      |   |2C |2D  |
- * |-----------------------------------------------------------|   `--------'
- * |30  |31 |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B |3D    |3C |
- * |-----------------------------------------------------------|
- * |40  |41  |42  |           45           |4A  |4B  |4C  |4D  |
- * `-----------------------------------------------------------'
- * 2u Backspace = k0D
- * 2.25u left Shift = k30
- * 2.75u right Shift = k3D
- */
-#define LAYOUT_all( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k49, \
-    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, k3D, k3C, \
-    k40, k41, k42,                k45,                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, XXX, XXX, k45, XXX, XXX, XXX, k49, k4A, k4B, k4C, k4D } \
-}
-
-/* LAYOUT
- * Present for backwards compatibility with older keymaps. The commit that added
- * split Backspace support put the right 1u key of the split on the bottom row,
- * next to right Alt. The arguments for 1.75/1u right Shift are also in reverse
- * order.
- * ,-----------------------------------------------------------.
- * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |49 |
- * |-----------------------------------------------------------|      ,-----.
- * |10   |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D   |      |     |
- * |-----------------------------------------------------------|   ,---.    |
- * |20    |21 |22 |23 |24 |25 |26 |17 |28 |29 |2A |2B |2D      |   |2C |2D  |
- * |-----------------------------------------------------------|   `--------'
- * |30  |31 |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B |3D    |3C |
- * |-----------------------------------------------------------|
- * |40  |41  |42  |           45           |4A  |4B  |4C  |4D  |
- * `-----------------------------------------------------------'
- */
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
-    k40, k41, k42,           k45,                k49, 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, XXX, XXX, k45, XXX, XXX, XXX, k49, k4A, k4B, k4C, k4D } \
-}
-
-/* LAYOUT_60_ansi
- * ,-----------------------------------------------------------.
- * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D     |
- * |-----------------------------------------------------------|
- * |10   |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D   |
- * |-----------------------------------------------------------|
- * |20    |21 |22 |23 |24 |25 |26 |17 |28 |29 |2A |2B |2D      |
- * |-----------------------------------------------------------|
- * |30      |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B |3D        |
- * |-----------------------------------------------------------|
- * |40  |41  |42  |           45           |4A  |4B  |4C  |4D  |
- * `-----------------------------------------------------------'
- */
-#define LAYOUT_60_ansi( \
-    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,      k2D, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
-    k40, k41, k42,                k45,                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, XXX, k2D }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D }, \
-    { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4A, k4B, k4C, k4D } \
-}

+ 339 - 28
keyboards/kc60se/info.json

@@ -23,46 +23,357 @@
     "layouts": {
         "LAYOUT_all": {
             "layout": [
-                 {"label":"Esc", "x":0, "y":0},{"label":"!", "x":1, "y":0},{"label":"@", "x":2, "y":0},{"label":"#", "x":3, "y":0},{"label":"$", "x":4, "y":0},{"label":"%", "x":5, "y":0},{"label":"^", "x":6, "y":0},{"label":"&", "x":7, "y":0},{"label":"*", "x":8, "y":0},{"label":"(", "x":9, "y":0},{"label":")", "x":10, "y":0},{"label":"_", "x":11, "y":0},{"label":"+", "x":12, "y":0},{"label":"|", "x":13, "y":0},{"label":"~", "x":14, "y":0},
-                 {"label":"Tab", "x":0, "y":1, "w":1.5},{"label":"Q", "x":1.5, "y":1},{"label":"W", "x":2.5, "y":1},{"label":"E", "x":3.5, "y":1},{"label":"R", "x":4.5, "y":1},{"label":"T", "x":5.5, "y":1},{"label":"Y", "x":6.5, "y":1},{"label":"U", "x":7.5, "y":1},{"label":"I", "x":8.5, "y":1},{"label":"O", "x":9.5, "y":1},{"label":"P", "x":10.5, "y":1},{"label":"{", "x":11.5, "y":1},{"label":"}", "x":12.5, "y":1},{"label":"Backspace", "x":13.5, "y":1, "w":1.5},
-                 {"label":"Control", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":";", "x":10.75, "y":2},{"label":"'", "x":11.75, "y":2},{"label":"#", "x":12.75, "y":2},{"label":"Enter", "x":13.75, "y":2, "w":1.25},
-                 {"label":"Shift", "x":0, "y":3, "w":1.25},{"label":"|", "x":1.25, "y":3},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"?", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":1.75},{"label":"Fn", "x":14, "y":3},
-                 {"label":"Gui", "x":0, "y":4, "w":1.25},{"label":"Alt", "x":1.25, "y":4, "w":1.25},{"label":"Fn", "x":2.5, "y":4, "w":1.25},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [4, 9], "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, 12], "x": 12.75, "y": 2},
+                {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "LAYOUT_60_ansi": {
             "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":"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":"CapsLock", "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.75},
-                 {"label":"Ctrl", "x":0, "y":4, "w":1.25},{"label":"Gui", "x":1.25, "y":4, "w":1.25},{"label":"Alt", "x":2.5, "y":4, "w":1.25},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+
+                {"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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
+            ]
         },
         "LAYOUT_60_iso": {
             "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":"Tab", "x":0, "y":1, "w":1.5},{"label":"Q", "x":1.5, "y":1},{"label":"W", "x":2.5, "y":1},{"label":"E", "x":3.5, "y":1},{"label":"R", "x":4.5, "y":1},{"label":"T", "x":5.5, "y":1},{"label":"Y", "x":6.5, "y":1},{"label":"U", "x":7.5, "y":1},{"label":"I", "x":8.5, "y":1},{"label":"O", "x":9.5, "y":1},{"label":"P", "x":10.5, "y":1},{"label":"{", "x":11.5, "y":1},{"label":"}", "x":12.5, "y":1},
-                 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":":", "x":10.75, "y":2},{"label":"@", "x":11.75, "y":2},{"label":"#", "x":12.75, "y":2},{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
-                 {"label":"Shift", "x":0, "y":3, "w":1.25},{"label":"|", "x":1.25, "y":3},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"?", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":2.75},
-                 {"label":"Ctrl", "x":0, "y":4, "w":1.25},{"label":"Win", "x":1.25, "y":4, "w":1.25},{"label":"Alt", "x":2.5, "y":4, "w":1.25},{"x":3.75, "y":4, "w":6.25},{"label":"AltGr", "x":10, "y":4, "w":1.25},{"label":"Win", "x":11.25, "y":4, "w":1.25},{"label":"Menu", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
-             ]
-         },
-         "LAYOUT_60_ansi_split_bs_rshift": {
+                {"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": [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": 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},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
+            ]
+        },
+        "LAYOUT_60_ansi_split_bs_rshift": {
             "layout": [
-                 {"label":"Esc~", "x":0, "y":0},{"label":"!", "x":1, "y":0},{"label":"@", "x":2, "y":0},{"label":"#", "x":3, "y":0},{"label":"$", "x":4, "y":0},{"label":"%", "x":5, "y":0},{"label":"^", "x":6, "y":0},{"label":"&", "x":7, "y":0},{"label":"*", "x":8, "y":0},{"label":"(", "x":9, "y":0},{"label":")", "x":10, "y":0},{"label":"_", "x":11, "y":0},{"label":"+", "x":12, "y":0},{"label":"|", "x":13, "y":0},{"label":"~", "x":14, "y":0},
-                 {"label":"Tab", "x":0, "y":1, "w":1.5},{"label":"Q", "x":1.5, "y":1},{"label":"W", "x":2.5, "y":1},{"label":"E", "x":3.5, "y":1},{"label":"R", "x":4.5, "y":1},{"label":"T", "x":5.5, "y":1},{"label":"Y", "x":6.5, "y":1},{"label":"U", "x":7.5, "y":1},{"label":"I", "x":8.5, "y":1},{"label":"O", "x":9.5, "y":1},{"label":"P", "x":10.5, "y":1},{"label":" {", "x":11.5, "y":1},{"label":"}", "x":12.5, "y":1},{"label":"Backspace", "x":13.5, "y":1, "w":1.5},
-                 {"label":"Control", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":";", "x":10.75, "y":2},{"label":"'", "x":11.75, "y":2},{"label":"Enter", "x":12.75, "y":2, "w":2.25},
-                 {"label":"Shift", "x":0, "y":3, "w":2.25},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"?", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":1.75},{"label":"Fn", "x":14, "y":3},
-                 {"label":"Gui", "x":0, "y":4, "w":1.25},{"label":"Alt", "x":1.25, "y":4, "w":1.25},{"label":"Fn", "x":2.5, "y":4, "w":1.25},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [4, 9], "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": 2.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         },
         "LAYOUT_60_iso_split_bs_rshift": {
             "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":"Backspace", "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":"Caps Lock", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":":", "x":10.75, "y":2},{"label":"@", "x":11.75, "y":2},{"label":"#", "x":12.75, "y":2},{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
-                 {"label":"Shift", "x":0, "y":3, "w":1.25},{"label":"|", "x":1.25, "y":3},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"?", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":1.75},{"label":"Fn", "x":14, "y":3},
-                 {"label":"Ctrl", "x":0, "y":4, "w":1.25},{"label":"Win", "x":1.25, "y":4, "w":1.25},{"label":"Alt", "x":2.5, "y":4, "w":1.25},{"x":3.75, "y":4, "w":6.25},{"label":"AltGr", "x":10, "y":4, "w":1.25},{"label":"Win", "x":11.25, "y":4, "w":1.25},{"label":"Menu", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [4, 9], "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": 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},
+                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 3], "x": 3.25, "y": 3},
+                {"matrix": [3, 4], "x": 4.25, "y": 3},
+                {"matrix": [3, 5], "x": 5.25, "y": 3},
+                {"matrix": [3, 6], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.25, "y": 3},
+                {"matrix": [3, 8], "x": 8.25, "y": 3},
+                {"matrix": [3, 9], "x": 9.25, "y": 3},
+                {"matrix": [3, 10], "x": 10.25, "y": 3},
+                {"matrix": [3, 11], "x": 11.25, "y": 3},
+                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
+                {"matrix": [3, 12], "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, 5], "x": 3.75, "y": 4, "w": 6.25},
+                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
             ]
         }
     }

+ 1 - 1
keyboards/kc60se/kc60se.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "kc60se.h"
+#include "quantum.h"
 
 void matrix_init_kb(void){
     setPinOutput(B2);

+ 0 - 93
keyboards/kc60se/kc60se.h

@@ -1,93 +0,0 @@
-/* Copyright 2017 Blake C. Lewis
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-// clang-format off
-#define LAYOUT_all( \
-      K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
-      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, K3D, K3C, \
-      K40, K41, K42,           K45,                     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, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D }  \
-}
-
-#define LAYOUT_60_ansi( \
-      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,      K2D, \
-      K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
-      K40, K41, K42,           K45,                     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, ___, K2D }, \
-    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D }, \
-    { K40, K41, K42, ___, ___, K45, ___, ___, ___, ___, K4A, K4B, K4C, K4D }  \
-}
-
-#define LAYOUT_60_ansi_split_bs_rshift( \
-      K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
-      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,      K2D, \
-      K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
-      K40, K41, K42,           K45,                     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, ___, K2D }, \
-    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
-    { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D }  \
-}
-#define LAYOUT_60_iso( \
-      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,      \
-      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,      K3D, \
-      K40, K41, K42,           K45,                     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, ___ }, \
-    { 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, ___, K3D }, \
-    { K40, K41, K42, ___, ___, K45, ___, ___, ___, ___, K4A, K4B, K4C, K4D }  \
-}
-
-#define LAYOUT_60_iso_split_bs_rshift( \
-      K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, k49, \
-      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, K3D, K3C, \
-      K40, K41, K42,           K45,                     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, ___ }, \
-    { 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, ___, ___, K45, ___, ___, ___, k49, K4A, K4B, K4C, K4D }  \
-}
-#define LAYOUT LAYOUT_all
-// clang-format on

+ 0 - 57
keyboards/keebsforall/freebird60/freebird60.h

@@ -1,57 +0,0 @@
-/* Copyright 2020 KnoblesseOblige
- *
- * 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 kxx 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, 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,      k2d, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a,      k3c,      \
-    k40, k41, k42,           k45,                k49, k4a, k4b,      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, kxx, k2d }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, kxx, k3c, kxx }, \
-    { k40, k41, k42, kxx, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d } \
-}
-
-#define LAYOUT_all( \
-    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,      k2d, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a,      k3c, k3d, \
-    k40, k41, k42,           k45,                k49, 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, kxx, k2d }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, kxx, k3c, k3d }, \
-    { k40, k41, k42, kxx, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, k4c, k4d } \
-}

File diff suppressed because it is too large
+ 0 - 0
keyboards/keebsforall/freebird60/info.json


+ 135 - 64
keyboards/keyboardio/model01/info.json

@@ -17,79 +17,150 @@
   "layouts": {
     "LAYOUT": {
       "layout": [
-        {"label":"PROG", "x":0, "y":0.4, "h":1.3},
-        {"label":"1", "x":1, "y":0.2, "h":1.5},
-        {"label":"2", "x":2, "y":0.1, "h":1.1},
-        {"label":"3", "x":3, "y":0},
-        {"label":"4", "x":4, "y":0.1},
-        {"label":"5", "x":5, "y":0.3},
+        {"matrix": [0, 7], "x": 0, "y": 0.4, "h": 1.3},
+        {"matrix": [0, 6], "x": 1, "y": 0.2, "h": 1.5},
+        {"matrix": [0, 5], "x": 2, "y": 0.1, "h": 1.1},
+        {"matrix": [0, 4], "x": 3, "y": 0},
+        {"matrix": [0, 3], "x": 4, "y": 0.1},
+        {"matrix": [0, 2], "x": 5, "y": 0.3},
 
-        {"label":"6", "x":12.5, "y":0.3},
-        {"label":"7", "x":13.5, "y":0.1},
-        {"label":"8", "x":14.5, "y":0},
-        {"label":"9", "x":15.5, "y":0.1, "h":1.1},
-        {"label":"0", "x":16.5, "y":0.2, "h":1.5},
-        {"label":"NUM", "x":17.5, "y":0.4, "h":1.3},
+        {"matrix": [4, 5], "x": 12.5, "y": 0.3},
+        {"matrix": [4, 4], "x": 13.5, "y": 0.1},
+        {"matrix": [4, 3], "x": 14.5, "y": 0},
+        {"matrix": [4, 2], "x": 15.5, "y": 0.1, "h": 1.1},
+        {"matrix": [4, 1], "x": 16.5, "y": 0.2, "h": 1.5},
+        {"matrix": [4, 0], "x": 17.5, "y": 0.4, "h": 1.3},
 
-        {"label":"GRAVE", "x":0, "y":1.7},
-        {"label":"Q", "x":1, "y":1.7},
-        {"label":"W", "x":2, "y":1.2},
-        {"label":"E", "x":3, "y":1},
-        {"label":"R", "x":4, "y":1.1},
-        {"label":"T", "x":5, "y":1.3},
-        {"label":"LED", "x":6, "y":0.6, "h":1.5},
+        {"matrix": [1, 7], "x": 0, "y": 1.7},
+        {"matrix": [1, 6], "x": 1, "y": 1.7},
+        {"matrix": [1, 5], "x": 2, "y": 1.2},
+        {"matrix": [1, 4], "x": 3, "y": 1},
+        {"matrix": [1, 3], "x": 4, "y": 1.1},
+        {"matrix": [1, 2], "x": 5, "y": 1.3},
+        {"matrix": [0, 1], "x": 6, "y": 0.6, "h": 1.5},
 
-        {"label":"ANY", "x":11.5, "y":0.6, "h":1.5},
-        {"label":"Y", "x":12.5, "y":1.3},
-        {"label":"U", "x":13.5, "y":1.1},
-        {"label":"I", "x":14.5, "y":1},
-        {"label":"O", "x":15.5, "y":1.2},
-        {"label":"P", "x":16.5, "y":1.7},
-        {"label":"EQUAL", "x":17.5, "y":1.7},
+        {"matrix": [4, 6], "x": 11.5, "y": 0.6, "h": 1.5},
+        {"matrix": [5, 5], "x": 12.5, "y": 1.3},
+        {"matrix": [5, 4], "x": 13.5, "y": 1.1},
+        {"matrix": [5, 3], "x": 14.5, "y": 1},
+        {"matrix": [5, 2], "x": 15.5, "y": 1.2},
+        {"matrix": [5, 1], "x": 16.5, "y": 1.7},
+        {"matrix": [5, 0], "x": 17.5, "y": 1.7},
 
-        {"label":"PAGEUP", "x":0, "y":2.7},
-        {"label":"A", "x":1, "y":2.7},
-        {"label":"S", "x":2, "y":2.2},
-        {"label":"D", "x":3, "y":2},
-        {"label":"F", "x":4, "y":2.1},
-        {"label":"G", "x":5, "y":2.3},
-        {"label":"TAB", "x":6, "y":2.1, "h":1.3},
+        {"matrix": [2, 7], "x": 0, "y": 2.7},
+        {"matrix": [2, 6], "x": 1, "y": 2.7},
+        {"matrix": [2, 5], "x": 2, "y": 2.2},
+        {"matrix": [2, 4], "x": 3, "y": 2},
+        {"matrix": [2, 3], "x": 4, "y": 2.1},
+        {"matrix": [2, 2], "x": 5, "y": 2.3},
+        {"matrix": [1, 1], "x": 6, "y": 2.1, "h": 1.3},
 
-        {"label":"ENTER", "x":11.5, "y":2.1, "h":1.3},
-        {"label":"H", "x":12.5, "y":2.3},
-        {"label":"J", "x":13.5, "y":2.1},
-        {"label":"K", "x":14.5, "y":2},
-        {"label":"L", "x":15.5, "y":2.2},
-        {"label":"SEMICOLON", "x":16.5, "y":2.7},
-        {"label":"QUOTE", "x":17.5, "y":2.7},
+        {"matrix": [5, 6], "x": 11.5, "y": 2.1, "h": 1.3},
+        {"matrix": [6, 5], "x": 12.5, "y": 2.3},
+        {"matrix": [6, 4], "x": 13.5, "y": 2.1},
+        {"matrix": [6, 3], "x": 14.5, "y": 2},
+        {"matrix": [6, 2], "x": 15.5, "y": 2.2},
+        {"matrix": [6, 1], "x": 16.5, "y": 2.7},
+        {"matrix": [6, 0], "x": 17.5, "y": 2.7},
 
-        {"label":"PAGEDOWN", "x":0, "y":3.7, "h":1.2},
-        {"label":"Z", "x":1, "y":3.7},
-        {"label":"X", "x":2, "y":3.2, "h":1.15},
-        {"label":"C", "x":3, "y":3},
-        {"label":"V", "x":4, "y":3.1},
-        {"label":"B", "x":5, "y":3.3},
-        {"label":"ESC", "x":6, "y":3.4, "h":1.1},
+        {"matrix": [3, 7], "x": 0, "y": 3.7, "h": 1.2},
+        {"matrix": [3, 6], "x": 1, "y": 3.7},
+        {"matrix": [3, 5], "x": 2, "y": 3.2, "h": 1.15},
+        {"matrix": [3, 4], "x": 3, "y": 3},
+        {"matrix": [3, 3], "x": 4, "y": 3.1},
+        {"matrix": [3, 2], "x": 5, "y": 3.3},
+        {"matrix": [2, 1], "x": 6, "y": 3.4, "h": 1.1},
 
-        {"label":"BUTTERFLY", "x":11.5, "y":3.4, "h":1.1},
-        {"label":"N", "x":12.5, "y":3.3},
-        {"label":"M", "x":13.5, "y":3.1},
-        {"label":"COMMA", "x":14.5, "y":3},
-        {"label":"DOT", "x":15.5, "y":3.2, "h":1.15},
-        {"label":"SLASH", "x":16.5, "y":3.7},
-        {"label":"MINS", "x":17.5, "y":3.7, "h":1.2},
+        {"matrix": [6, 6], "x": 11.5, "y": 3.4, "h": 1.1},
+        {"matrix": [7, 5], "x": 12.5, "y": 3.3},
+        {"matrix": [7, 4], "x": 13.5, "y": 3.1},
+        {"matrix": [7, 3], "x": 14.5, "y": 3},
+        {"matrix": [7, 2], "x": 15.5, "y": 3.2, "h": 1.15},
+        {"matrix": [7, 1], "x": 16.5, "y": 3.7},
+        {"matrix": [7, 0], "x": 17.5, "y": 3.7, "h": 1.2},
 
-        {"label":"LCTL", "x":4.75, "y":4.3},
-        {"label":"RCTL", "x":12.75, "y":4.3},
-        {"label":"BACKSPACE", "x":5.75, "y":4.5},
-        {"label":"SPACE", "x":11.75, "y":4.5},
-        {"label":"LGUI", "x":6.75, "y":4.7},
-        {"label":"RALT", "x":10.75, "y":4.7},
-        {"label":"LSHIFT", "x":7.75, "y":5.1},
-        {"label":"RSHIFT", "x":9.75, "y":5.1},
+        {"matrix": [0, 0], "x": 4.75, "y": 4.3},
+        {"matrix": [4, 7], "x": 12.75, "y": 4.3},
 
-        {"label":"FN", "x":6.25, "y":6.1, "h":1.4},
-        {"label":"FN", "x":11.25, "y":6.1, "h":1.4}
+        {"matrix": [1, 0], "x": 5.75, "y": 4.5},
+        {"matrix": [5, 7], "x": 11.75, "y": 4.5},
+
+        {"matrix": [2, 0], "x": 6.75, "y": 4.7},
+        {"matrix": [6, 7], "x": 10.75, "y": 4.7},
+
+        {"matrix": [3, 0], "x": 7.75, "y": 5.1},
+        {"matrix": [7, 7], "x": 9.75, "y": 5.1},
+
+        {"matrix": [3, 1], "x": 6.25, "y": 6.1, "h": 1.4},
+        {"matrix": [7, 6], "x": 11.25, "y": 6.1, "h": 1.4}
+      ]
+    },
+    "LAYOUT_thumb_row": {
+      "layout": [
+        {"matrix": [0, 7], "x": 0, "y": 0},
+        {"matrix": [0, 6], "x": 1, "y": 0},
+        {"matrix": [0, 5], "x": 2, "y": 0},
+        {"matrix": [0, 4], "x": 3, "y": 0},
+        {"matrix": [0, 3], "x": 4, "y": 0},
+        {"matrix": [0, 2], "x": 5, "y": 0},
+        {"matrix": [4, 5], "x": 6, "y": 0},
+        {"matrix": [4, 4], "x": 7, "y": 0},
+        {"matrix": [4, 3], "x": 8, "y": 0},
+        {"matrix": [4, 2], "x": 9, "y": 0},
+        {"matrix": [4, 1], "x": 10, "y": 0},
+        {"matrix": [4, 0], "x": 11, "y": 0},
+        {"matrix": [1, 7], "x": 12, "y": 0},
+        {"matrix": [1, 6], "x": 13, "y": 0},
+        {"matrix": [1, 5], "x": 14, "y": 0},
+        {"matrix": [1, 4], "x": 15, "y": 0},
+        {"matrix": [1, 3], "x": 16, "y": 0},
+        {"matrix": [1, 2], "x": 17, "y": 0},
+        {"matrix": [0, 1], "x": 18, "y": 0},
+        {"matrix": [4, 6], "x": 19, "y": 0},
+        {"matrix": [5, 5], "x": 20, "y": 0},
+        {"matrix": [5, 4], "x": 21, "y": 0},
+        {"matrix": [5, 3], "x": 22, "y": 0},
+        {"matrix": [5, 2], "x": 23, "y": 0},
+        {"matrix": [5, 1], "x": 24, "y": 0},
+        {"matrix": [5, 0], "x": 25, "y": 0},
+        {"matrix": [2, 7], "x": 26, "y": 0},
+        {"matrix": [2, 6], "x": 27, "y": 0},
+        {"matrix": [2, 5], "x": 28, "y": 0},
+        {"matrix": [2, 4], "x": 29, "y": 0},
+        {"matrix": [2, 3], "x": 30, "y": 0},
+        {"matrix": [2, 2], "x": 31, "y": 0},
+        {"matrix": [1, 1], "x": 32, "y": 0},
+        {"matrix": [5, 6], "x": 33, "y": 0},
+        {"matrix": [6, 5], "x": 34, "y": 0},
+        {"matrix": [6, 4], "x": 35, "y": 0},
+        {"matrix": [6, 3], "x": 36, "y": 0},
+        {"matrix": [6, 2], "x": 37, "y": 0},
+        {"matrix": [6, 1], "x": 38, "y": 0},
+        {"matrix": [6, 0], "x": 39, "y": 0},
+        {"matrix": [3, 7], "x": 40, "y": 0},
+        {"matrix": [3, 6], "x": 41, "y": 0},
+        {"matrix": [3, 5], "x": 42, "y": 0},
+        {"matrix": [3, 4], "x": 43, "y": 0},
+        {"matrix": [3, 3], "x": 44, "y": 0},
+        {"matrix": [3, 2], "x": 45, "y": 0},
+        {"matrix": [2, 1], "x": 46, "y": 0},
+        {"matrix": [6, 6], "x": 47, "y": 0},
+        {"matrix": [7, 5], "x": 48, "y": 0},
+        {"matrix": [7, 4], "x": 49, "y": 0},
+        {"matrix": [7, 3], "x": 50, "y": 0},
+        {"matrix": [7, 2], "x": 51, "y": 0},
+        {"matrix": [7, 1], "x": 52, "y": 0},
+        {"matrix": [7, 0], "x": 53, "y": 0},
+        {"matrix": [0, 0], "x": 54, "y": 0},
+        {"matrix": [1, 0], "x": 55, "y": 0},
+        {"matrix": [2, 0], "x": 56, "y": 0},
+        {"matrix": [3, 0], "x": 57, "y": 0},
+        {"matrix": [7, 7], "x": 58, "y": 0},
+        {"matrix": [6, 7], "x": 59, "y": 0},
+        {"matrix": [5, 7], "x": 60, "y": 0},
+        {"matrix": [4, 7], "x": 61, "y": 0},
+        {"matrix": [3, 1], "x": 62, "y": 0},
+        {"matrix": [7, 6], "x": 63, "y": 0}
       ]
     }
   }

+ 0 - 39
keyboards/keyboardio/model01/model01.h

@@ -17,45 +17,6 @@
 
 #include "quantum.h"
 
-#define LAYOUT( \
-  L07, L06, L05, L04, L03, L02,                    R05, R04, R03, R02, R01, R00, \
-  L17, L16, L15, L14, L13, L12, L01,          R06, R15, R14, R13, R12, R11, R10, \
-  L27, L26, L25, L24, L23, L22, L11,          R16, R25, R24, R23, R22, R21, R20, \
-  L37, L36, L35, L34, L33, L32, L21,          R26, R35, R34, R33, R32, R31, R30, \
-                           L00,                    R07,                          \
-                              L10,              R17,                             \
-                                 L20,        R27,                                \
-                                    L30,  R37,                                   \
-                           L31,                    R36                           \
-  ) { \
-      {L00, L01, L02, L03, L04, L05, L06, L07}, \
-      {L10, L11, L12, L13, L14, L15, L16, L17}, \
-      {L20, L21, L22, L23, L24, L25, L26, L27}, \
-      {L30, L31, L32, L33, L34, L35, L36, L37}, \
-      {R00, R01, R02, R03, R04, R05, R06, R07}, \
-      {R10, R11, R12, R13, R14, R15, R16, R17}, \
-      {R20, R21, R22, R23, R24, R25, R26, R27}, \
-      {R30, R31, R32, R33, R34, R35, R36, R37} \
-  }
-
-#define LAYOUT_thumb_row( \
-  L07, L06, L05, L04, L03, L02,            R05, R04, R03, R02, R01, R00, \
-  L17, L16, L15, L14, L13, L12, L01,  R06, R15, R14, R13, R12, R11, R10, \
-  L27, L26, L25, L24, L23, L22, L11,  R16, R25, R24, R23, R22, R21, R20, \
-  L37, L36, L35, L34, L33, L32, L21,  R26, R35, R34, R33, R32, R31, R30, \
-                 L00, L10, L20, L30,  R37, R27, R17, R07,                \
-                                L31,  R36                                \
-  ) { \
-      {L00, L01, L02, L03, L04, L05, L06, L07}, \
-      {L10, L11, L12, L13, L14, L15, L16, L17}, \
-      {L20, L21, L22, L23, L24, L25, L26, L27}, \
-      {L30, L31, L32, L33, L34, L35, L36, L37}, \
-      {R00, R01, R02, R03, R04, R05, R06, R07}, \
-      {R10, R11, R12, R13, R14, R15, R16, R17}, \
-      {R20, R21, R22, R23, R24, R25, R26, R27}, \
-      {R30, R31, R32, R33, R34, R35, R36, R37} \
-  }
-
 #include "wire-protocol-constants.h"
 #define I2C_ADDR_LEFT   (0x58 << 1)
 #define I2C_ADDR_RIGHT  (I2C_ADDR_LEFT + 6)

+ 1 - 1
keyboards/keyprez/bison/bison.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "bison.h"
+#include "quantum.h"
 
 bool encoder_update_kb(uint8_t index, bool clockwise) {
     if (!encoder_update_user(index, clockwise)) { return false; }

+ 0 - 99
keyboards/keyprez/bison/bison.h

@@ -1,99 +0,0 @@
-/* Copyright 2021 csandven
- *
- * 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, L06, L07,                     R00, R01, R02, R03, R04, R05, R06, R07,  \
-    L10, L11, L12, L13, L14, L15, L16, L17,                     R10, R11, R12, R13, R14, R15, R16, R17,  \
-    L20, L21, L22, L23, L24, L25, L26, L27,                     R20, R21, R22, R23, R24, R25, R26, R27,  \
-    L30, L31, L32, L33, L34, L35, L36, L37, L44,           R40, R30, R31, R32, R33, R34, R35, R36, R37,  \
-                          L40, L41, L42, L43,                 R41, R42, R43, R44                         \
-    ) \
-    { \
-        { L07, L06, L05, L04, L03, L02, L01, L00 }, \
-        { L17, L16, L15, L14, L13, L12, L11, L10 }, \
-        { L27, L26, L25, L24, L23, L22, L21, L20 }, \
-        { L37, L36, L35, L34, L33, L32, L31, L30 }, \
-        { L43, L42, L41, L40, L44, KC_NO, KC_NO, KC_NO }, \
-        { R00, R01, R02, R03, R04, R05, R06, R07 }, \
-        { R10, R11, R12, R13, R14, R15, R16, R17 }, \
-        { R20, R21, R22, R23, R24, R25, R26, R27 }, \
-        { R30, R31, R32, R33, R34, R35, R36, R37 }, \
-        { R41, R42, R43, R44, R40, KC_NO, KC_NO }  \
-    }
-
-#define LAYOUT_6_8( \
-    L02, L03, L04, L05, L06, L07,                     R00, R01, R02, R03, R04, R05, R06, R07,  \
-    L12, L13, L14, L15, L16, L17,                     R10, R11, R12, R13, R14, R15, R16, R17,  \
-    L22, L23, L24, L25, L26, L27,                     R20, R21, R22, R23, R24, R25, R26, R27,  \
-    L32, L33, L34, L35, L36, L37, L44,           R40, R30, R31, R32, R33, R34, R35, R36, R37,  \
-                L40, L41, L42, L43,                 R41, R42, R43, R44                         \
-    ) \
-    { \
-        { L07, L06, L05, L04, L03, L02, KC_NO, KC_NO }, \
-        { L17, L16, L15, L14, L13, L12, KC_NO, KC_NO }, \
-        { L27, L26, L25, L24, L23, L22, KC_NO, KC_NO }, \
-        { L37, L36, L35, L34, L33, L32, KC_NO, KC_NO }, \
-        { L43, L42, L41, L40, L44, KC_NO, KC_NO, KC_NO }, \
-        { R00, R01, R02, R03, R04, R05, R06, R07 }, \
-        { R10, R11, R12, R13, R14, R15, R16, R17 }, \
-        { R20, R21, R22, R23, R24, R25, R26, R27 }, \
-        { R30, R31, R32, R33, R34, R35, R36, R37 }, \
-        { R41, R42, R43, R44, R40, KC_NO, KC_NO }  \
-    }
-
-#define LAYOUT_8_6( \
-    L00, L01, L02, L03, L04, L05, L06, L07,                     R00, R01, R02, R03, R04, R05,  \
-    L10, L11, L12, L13, L14, L15, L16, L17,                     R10, R11, R12, R13, R14, R15,  \
-    L20, L21, L22, L23, L24, L25, L26, L27,                     R20, R21, R22, R23, R24, R25,  \
-    L30, L31, L32, L33, L34, L35, L36, L37, L44,           R40, R30, R31, R32, R33, R34, R35,  \
-                          L40, L41, L42, L43,                 R41, R42, R43, R44               \
-    ) \
-    { \
-        { L07, L06, L05, L04, L03, L02, L01, L00 }, \
-        { L17, L16, L15, L14, L13, L12, L11, L10 }, \
-        { L27, L26, L25, L24, L23, L22, L21, L20 }, \
-        { L37, L36, L35, L34, L33, L32, L31, L30 }, \
-        { L43, L42, L41, L40, L44, KC_NO, KC_NO, KC_NO }, \
-        { R00, R01, R02, R03, R04, R05, KC_NO, KC_NO }, \
-        { R10, R11, R12, R13, R14, R15, KC_NO, KC_NO }, \
-        { R20, R21, R22, R23, R24, R25, KC_NO, KC_NO }, \
-        { R30, R31, R32, R33, R34, R35, KC_NO, KC_NO }, \
-        { R41, R42, R43, R44, R40, KC_NO, KC_NO }  \
-    }
-
-#define LAYOUT_6_6( \
-    L02, L03, L04, L05, L06, L07,                     R00, R01, R02, R03, R04, R05,  \
-    L12, L13, L14, L15, L16, L17,                     R10, R11, R12, R13, R14, R15,  \
-    L22, L23, L24, L25, L26, L27,                     R20, R21, R22, R23, R24, R25,  \
-    L32, L33, L34, L35, L36, L37, L44,           R40, R30, R31, R32, R33, R34, R35,  \
-                L40, L41, L42, L43,                 R41, R42, R43, R44               \
-    ) \
-    { \
-        { L07, L06, L05, L04, L03, L02, KC_NO, KC_NO }, \
-        { L17, L16, L15, L14, L13, L12, KC_NO, KC_NO }, \
-        { L27, L26, L25, L24, L23, L22, KC_NO, KC_NO }, \
-        { L37, L36, L35, L34, L33, L32, KC_NO, KC_NO }, \
-        { L43, L42, L41, L40, L44, KC_NO, KC_NO, KC_NO }, \
-        { R00, R01, R02, R03, R04, R05, KC_NO, KC_NO }, \
-        { R10, R11, R12, R13, R14, R15, KC_NO, KC_NO }, \
-        { R20, R21, R22, R23, R24, R25, KC_NO, KC_NO }, \
-        { R30, R31, R32, R33, R34, R35, KC_NO, KC_NO }, \
-        { R41, R42, R43, R44, R40, KC_NO, KC_NO }  \
-    }

+ 300 - 283
keyboards/keyprez/bison/info.json

@@ -33,301 +33,318 @@
     "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": 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, "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": 10, "y": 1},
-                {"x": 11, "y": 1},
-                {"x": 12, "y": 1},
-                {"x": 13, "y": 1},
-                {"x": 14, "y": 1},
-                {"x": 15, "y": 1},
-                {"x": 16, "y": 1},
-                {"x": 17, "y": 1},
-
-                {"x": 0, "y": 2},
-                {"x": 1, "y": 2},
-                {"x": 2, "y": 2},
-                {"x": 3, "y": 2},
-                {"x": 4, "y": 2},
-                {"x": 5, "y": 2},
-                {"x": 6, "y": 2},
-                {"x": 7, "y": 2},
-                {"x": 10, "y": 2},
-                {"x": 11, "y": 2},
-                {"x": 12, "y": 2},
-                {"x": 13, "y": 2},
-                {"x": 14, "y": 2},
-                {"x": 15, "y": 2},
-                {"x": 16, "y": 2},
-                {"x": 17, "y": 2},
-
-                {"x": 0, "y": 3},
-                {"x": 1, "y": 3},
-                {"x": 2, "y": 3},
-                {"x": 3, "y": 3},
-                {"x": 4, "y": 3},
-                {"x": 5, "y": 3},
-                {"x": 6, "y": 3},
-                {"x": 7, "y": 3},
-                {"x": 8, "y": 3},
-                {"x": 9, "y": 3},
-                {"x": 10, "y": 3},
-                {"x": 11, "y": 3},
-                {"x": 12, "y": 3},
-                {"x": 13, "y": 3},
-                {"x": 14, "y": 3},
-                {"x": 15, "y": 3},
-                {"x": 16, "y": 3},
-                {"x": 17, "y": 3},
-
-                {"x": 3.75, "y": 4},
-                {"x": 4.75, "y": 4},
-                {"x": 5.75, "y": 4},
-                {"x": 6.75, "y": 4, "w": 1.5},
-                {"x": 9.75, "y": 4, "w": 1.5},
-                {"x": 11.25, "y": 4},
-                {"x": 12.25, "y": 4},
-                {"x": 13.25, "y": 4}
+                {"matrix": [0, 7], "x": 0, "y": 0},
+                {"matrix": [0, 6], "x": 1, "y": 0},
+                {"matrix": [0, 5], "x": 2, "y": 0},
+                {"matrix": [0, 4], "x": 3, "y": 0},
+                {"matrix": [0, 3], "x": 4, "y": 0},
+                {"matrix": [0, 2], "x": 5, "y": 0},
+                {"matrix": [0, 1], "x": 6, "y": 0},
+                {"matrix": [0, 0], "x": 7, "y": 0},
+
+                {"matrix": [5, 0], "x": 10, "y": 0},
+                {"matrix": [5, 1], "x": 11, "y": 0},
+                {"matrix": [5, 2], "x": 12, "y": 0},
+                {"matrix": [5, 3], "x": 13, "y": 0},
+                {"matrix": [5, 4], "x": 14, "y": 0},
+                {"matrix": [5, 5], "x": 15, "y": 0},
+                {"matrix": [5, 6], "x": 16, "y": 0},
+                {"matrix": [5, 7], "x": 17, "y": 0},
+
+                {"matrix": [1, 7], "x": 0, "y": 1},
+                {"matrix": [1, 6], "x": 1, "y": 1},
+                {"matrix": [1, 5], "x": 2, "y": 1},
+                {"matrix": [1, 4], "x": 3, "y": 1},
+                {"matrix": [1, 3], "x": 4, "y": 1},
+                {"matrix": [1, 2], "x": 5, "y": 1},
+                {"matrix": [1, 1], "x": 6, "y": 1},
+                {"matrix": [1, 0], "x": 7, "y": 1},
+
+                {"matrix": [6, 0], "x": 10, "y": 1},
+                {"matrix": [6, 1], "x": 11, "y": 1},
+                {"matrix": [6, 2], "x": 12, "y": 1},
+                {"matrix": [6, 3], "x": 13, "y": 1},
+                {"matrix": [6, 4], "x": 14, "y": 1},
+                {"matrix": [6, 5], "x": 15, "y": 1},
+                {"matrix": [6, 6], "x": 16, "y": 1},
+                {"matrix": [6, 7], "x": 17, "y": 1},
+
+                {"matrix": [2, 7], "x": 0, "y": 2},
+                {"matrix": [2, 6], "x": 1, "y": 2},
+                {"matrix": [2, 5], "x": 2, "y": 2},
+                {"matrix": [2, 4], "x": 3, "y": 2},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 2], "x": 5, "y": 2},
+                {"matrix": [2, 1], "x": 6, "y": 2},
+                {"matrix": [2, 0], "x": 7, "y": 2},
+
+                {"matrix": [7, 0], "x": 10, "y": 2},
+                {"matrix": [7, 1], "x": 11, "y": 2},
+                {"matrix": [7, 2], "x": 12, "y": 2},
+                {"matrix": [7, 3], "x": 13, "y": 2},
+                {"matrix": [7, 4], "x": 14, "y": 2},
+                {"matrix": [7, 5], "x": 15, "y": 2},
+                {"matrix": [7, 6], "x": 16, "y": 2},
+                {"matrix": [7, 7], "x": 17, "y": 2},
+
+                {"matrix": [3, 7], "x": 0, "y": 3},
+                {"matrix": [3, 6], "x": 1, "y": 3},
+                {"matrix": [3, 5], "x": 2, "y": 3},
+                {"matrix": [3, 4], "x": 3, "y": 3},
+                {"matrix": [3, 3], "x": 4, "y": 3},
+                {"matrix": [3, 2], "x": 5, "y": 3},
+                {"matrix": [3, 1], "x": 6, "y": 3},
+                {"matrix": [3, 0], "x": 7, "y": 3},
+                {"matrix": [4, 4], "x": 8, "y": 3},
+
+                {"matrix": [9, 4], "x": 9, "y": 3},
+                {"matrix": [8, 0], "x": 10, "y": 3},
+                {"matrix": [8, 1], "x": 11, "y": 3},
+                {"matrix": [8, 2], "x": 12, "y": 3},
+                {"matrix": [8, 3], "x": 13, "y": 3},
+                {"matrix": [8, 4], "x": 14, "y": 3},
+                {"matrix": [8, 5], "x": 15, "y": 3},
+                {"matrix": [8, 6], "x": 16, "y": 3},
+                {"matrix": [8, 7], "x": 17, "y": 3},
+
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 2], "x": 4.75, "y": 4},
+                {"matrix": [4, 1], "x": 5.75, "y": 4},
+                {"matrix": [4, 0], "x": 6.75, "y": 4, "w": 1.5},
+
+                {"matrix": [9, 0], "x": 9.75, "y": 4, "w": 1.5},
+                {"matrix": [9, 1], "x": 11.25, "y": 4},
+                {"matrix": [9, 2], "x": 12.25, "y": 4},
+                {"matrix": [9, 3], "x": 13.25, "y": 4}
             ]
         },
-
         "LAYOUT_6_8": {
             "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": 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": 8, "y": 1},
-                {"x": 9, "y": 1},
-                {"x": 10, "y": 1},
-                {"x": 11, "y": 1},
-                {"x": 12, "y": 1},
-                {"x": 13, "y": 1},
-                {"x": 14, "y": 1},
-                {"x": 15, "y": 1},
-
-                {"x": 0, "y": 2},
-                {"x": 1, "y": 2},
-                {"x": 2, "y": 2},
-                {"x": 3, "y": 2},
-                {"x": 4, "y": 2},
-                {"x": 5, "y": 2},
-                {"x": 8, "y": 2},
-                {"x": 9, "y": 2},
-                {"x": 10, "y": 2},
-                {"x": 11, "y": 2},
-                {"x": 12, "y": 2},
-                {"x": 13, "y": 2},
-                {"x": 14, "y": 2},
-                {"x": 15, "y": 2},
-
-                {"x": 0, "y": 3},
-                {"x": 1, "y": 3},
-                {"x": 2, "y": 3},
-                {"x": 3, "y": 3},
-                {"x": 4, "y": 3},
-                {"x": 5, "y": 3},
-                {"x": 6, "y": 3},
-                {"x": 7, "y": 3},
-                {"x": 8, "y": 3},
-                {"x": 9, "y": 3},
-                {"x": 10, "y": 3},
-                {"x": 11, "y": 3},
-                {"x": 12, "y": 3},
-                {"x": 13, "y": 3},
-                {"x": 14, "y": 3},
-                {"x": 15, "y": 3},
-
-                {"x": 1.75, "y": 4},
-                {"x": 2.75, "y": 4},
-                {"x": 3.75, "y": 4},
-                {"x": 4.75, "y": 4, "w": 1.5},
-                {"x": 7.75, "y": 4, "w": 1.5},
-                {"x": 9.25, "y": 4},
-                {"x": 10.25, "y": 4},
-                {"x": 11.25, "y": 4}
+                {"matrix": [0, 5], "x": 0, "y": 0},
+                {"matrix": [0, 4], "x": 1, "y": 0},
+                {"matrix": [0, 3], "x": 2, "y": 0},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0},
+                {"matrix": [0, 0], "x": 5, "y": 0},
+
+                {"matrix": [5, 0], "x": 8, "y": 0},
+                {"matrix": [5, 1], "x": 9, "y": 0},
+                {"matrix": [5, 2], "x": 10, "y": 0},
+                {"matrix": [5, 3], "x": 11, "y": 0},
+                {"matrix": [5, 4], "x": 12, "y": 0},
+                {"matrix": [5, 5], "x": 13, "y": 0},
+                {"matrix": [5, 6], "x": 14, "y": 0},
+                {"matrix": [5, 7], "x": 15, "y": 0},
+
+                {"matrix": [1, 5], "x": 0, "y": 1},
+                {"matrix": [1, 4], "x": 1, "y": 1},
+                {"matrix": [1, 3], "x": 2, "y": 1},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1},
+                {"matrix": [1, 0], "x": 5, "y": 1},
+
+                {"matrix": [6, 0], "x": 8, "y": 1},
+                {"matrix": [6, 1], "x": 9, "y": 1},
+                {"matrix": [6, 2], "x": 10, "y": 1},
+                {"matrix": [6, 3], "x": 11, "y": 1},
+                {"matrix": [6, 4], "x": 12, "y": 1},
+                {"matrix": [6, 5], "x": 13, "y": 1},
+                {"matrix": [6, 6], "x": 14, "y": 1},
+                {"matrix": [6, 7], "x": 15, "y": 1},
+
+                {"matrix": [2, 5], "x": 0, "y": 2},
+                {"matrix": [2, 4], "x": 1, "y": 2},
+                {"matrix": [2, 3], "x": 2, "y": 2},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2},
+                {"matrix": [2, 0], "x": 5, "y": 2},
+
+                {"matrix": [7, 0], "x": 8, "y": 2},
+                {"matrix": [7, 1], "x": 9, "y": 2},
+                {"matrix": [7, 2], "x": 10, "y": 2},
+                {"matrix": [7, 3], "x": 11, "y": 2},
+                {"matrix": [7, 4], "x": 12, "y": 2},
+                {"matrix": [7, 5], "x": 13, "y": 2},
+                {"matrix": [7, 6], "x": 14, "y": 2},
+                {"matrix": [7, 7], "x": 15, "y": 2},
+
+                {"matrix": [3, 5], "x": 0, "y": 3},
+                {"matrix": [3, 4], "x": 1, "y": 3},
+                {"matrix": [3, 3], "x": 2, "y": 3},
+                {"matrix": [3, 2], "x": 3, "y": 3},
+                {"matrix": [3, 1], "x": 4, "y": 3},
+                {"matrix": [3, 0], "x": 5, "y": 3},
+                {"matrix": [4, 4], "x": 6, "y": 3},
+
+                {"matrix": [9, 4], "x": 7, "y": 3},
+                {"matrix": [8, 0], "x": 8, "y": 3},
+                {"matrix": [8, 1], "x": 9, "y": 3},
+                {"matrix": [8, 2], "x": 10, "y": 3},
+                {"matrix": [8, 3], "x": 11, "y": 3},
+                {"matrix": [8, 4], "x": 12, "y": 3},
+                {"matrix": [8, 5], "x": 13, "y": 3},
+                {"matrix": [8, 6], "x": 14, "y": 3},
+                {"matrix": [8, 7], "x": 15, "y": 3},
+
+                {"matrix": [4, 3], "x": 1.75, "y": 4},
+                {"matrix": [4, 2], "x": 2.75, "y": 4},
+                {"matrix": [4, 1], "x": 3.75, "y": 4},
+                {"matrix": [4, 0], "x": 4.75, "y": 4, "w": 1.5},
+
+                {"matrix": [9, 0], "x": 7.75, "y": 4, "w": 1.5},
+                {"matrix": [9, 1], "x": 9.25, "y": 4},
+                {"matrix": [9, 2], "x": 10.25, "y": 4},
+                {"matrix": [9, 3], "x": 11.25, "y": 4}
             ]
         },
-
         "LAYOUT_8_6": {
             "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": 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": 10, "y": 1},
-                {"x": 11, "y": 1},
-                {"x": 12, "y": 1},
-                {"x": 13, "y": 1},
-                {"x": 14, "y": 1},
-                {"x": 15, "y": 1},
-
-                {"x": 0, "y": 2},
-                {"x": 1, "y": 2},
-                {"x": 2, "y": 2},
-                {"x": 3, "y": 2},
-                {"x": 4, "y": 2},
-                {"x": 5, "y": 2},
-                {"x": 6, "y": 2},
-                {"x": 7, "y": 2},
-                {"x": 10, "y": 2},
-                {"x": 11, "y": 2},
-                {"x": 12, "y": 2},
-                {"x": 13, "y": 2},
-                {"x": 14, "y": 2},
-                {"x": 15, "y": 2},
-
-                {"x": 0, "y": 3},
-                {"x": 1, "y": 3},
-                {"x": 2, "y": 3},
-                {"x": 3, "y": 3},
-                {"x": 4, "y": 3},
-                {"x": 5, "y": 3},
-                {"x": 6, "y": 3},
-                {"x": 7, "y": 3},
-                {"x": 8, "y": 3},
-                {"x": 9, "y": 3},
-                {"x": 10, "y": 3},
-                {"x": 11, "y": 3},
-                {"x": 12, "y": 3},
-                {"x": 13, "y": 3},
-                {"x": 14, "y": 3},
-                {"x": 15, "y": 3},
-
-                {"x": 3.75, "y": 4},
-                {"x": 4.75, "y": 4},
-                {"x": 5.75, "y": 4},
-                {"x": 6.75, "y": 4, "w": 1.5},
-                {"x": 9.75, "y": 4, "w": 1.5},
-                {"x": 11.25, "y": 4},
-                {"x": 12.25, "y": 4},
-                {"x": 13.25, "y": 4}
+                {"matrix": [0, 7], "x": 0, "y": 0},
+                {"matrix": [0, 6], "x": 1, "y": 0},
+                {"matrix": [0, 5], "x": 2, "y": 0},
+                {"matrix": [0, 4], "x": 3, "y": 0},
+                {"matrix": [0, 3], "x": 4, "y": 0},
+                {"matrix": [0, 2], "x": 5, "y": 0},
+                {"matrix": [0, 1], "x": 6, "y": 0},
+                {"matrix": [0, 0], "x": 7, "y": 0},
+
+                {"matrix": [5, 0], "x": 10, "y": 0},
+                {"matrix": [5, 1], "x": 11, "y": 0},
+                {"matrix": [5, 2], "x": 12, "y": 0},
+                {"matrix": [5, 3], "x": 13, "y": 0},
+                {"matrix": [5, 4], "x": 14, "y": 0},
+                {"matrix": [5, 5], "x": 15, "y": 0},
+
+                {"matrix": [1, 7], "x": 0, "y": 1},
+                {"matrix": [1, 6], "x": 1, "y": 1},
+                {"matrix": [1, 5], "x": 2, "y": 1},
+                {"matrix": [1, 4], "x": 3, "y": 1},
+                {"matrix": [1, 3], "x": 4, "y": 1},
+                {"matrix": [1, 2], "x": 5, "y": 1},
+                {"matrix": [1, 1], "x": 6, "y": 1},
+                {"matrix": [1, 0], "x": 7, "y": 1},
+
+                {"matrix": [6, 0], "x": 10, "y": 1},
+                {"matrix": [6, 1], "x": 11, "y": 1},
+                {"matrix": [6, 2], "x": 12, "y": 1},
+                {"matrix": [6, 3], "x": 13, "y": 1},
+                {"matrix": [6, 4], "x": 14, "y": 1},
+                {"matrix": [6, 5], "x": 15, "y": 1},
+
+                {"matrix": [2, 7], "x": 0, "y": 2},
+                {"matrix": [2, 6], "x": 1, "y": 2},
+                {"matrix": [2, 5], "x": 2, "y": 2},
+                {"matrix": [2, 4], "x": 3, "y": 2},
+                {"matrix": [2, 3], "x": 4, "y": 2},
+                {"matrix": [2, 2], "x": 5, "y": 2},
+                {"matrix": [2, 1], "x": 6, "y": 2},
+                {"matrix": [2, 0], "x": 7, "y": 2},
+
+                {"matrix": [7, 0], "x": 10, "y": 2},
+                {"matrix": [7, 1], "x": 11, "y": 2},
+                {"matrix": [7, 2], "x": 12, "y": 2},
+                {"matrix": [7, 3], "x": 13, "y": 2},
+                {"matrix": [7, 4], "x": 14, "y": 2},
+                {"matrix": [7, 5], "x": 15, "y": 2},
+
+                {"matrix": [3, 7], "x": 0, "y": 3},
+                {"matrix": [3, 6], "x": 1, "y": 3},
+                {"matrix": [3, 5], "x": 2, "y": 3},
+                {"matrix": [3, 4], "x": 3, "y": 3},
+                {"matrix": [3, 3], "x": 4, "y": 3},
+                {"matrix": [3, 2], "x": 5, "y": 3},
+                {"matrix": [3, 1], "x": 6, "y": 3},
+                {"matrix": [3, 0], "x": 7, "y": 3},
+                {"matrix": [4, 4], "x": 8, "y": 3},
+
+                {"matrix": [9, 4], "x": 9, "y": 3},
+                {"matrix": [8, 0], "x": 10, "y": 3},
+                {"matrix": [8, 1], "x": 11, "y": 3},
+                {"matrix": [8, 2], "x": 12, "y": 3},
+                {"matrix": [8, 3], "x": 13, "y": 3},
+                {"matrix": [8, 4], "x": 14, "y": 3},
+                {"matrix": [8, 5], "x": 15, "y": 3},
+
+                {"matrix": [4, 3], "x": 3.75, "y": 4},
+                {"matrix": [4, 2], "x": 4.75, "y": 4},
+                {"matrix": [4, 1], "x": 5.75, "y": 4},
+                {"matrix": [4, 0], "x": 6.75, "y": 4, "w": 1.5},
+
+                {"matrix": [9, 0], "x": 9.75, "y": 4, "w": 1.5},
+                {"matrix": [9, 1], "x": 11.25, "y": 4},
+                {"matrix": [9, 2], "x": 12.25, "y": 4},
+                {"matrix": [9, 3], "x": 13.25, "y": 4}
             ]
         },
-
         "LAYOUT_6_6": {
             "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": 8, "y": 0},
-                {"x": 9, "y": 0},
-                {"x": 10, "y": 0},
-                {"x": 11, "y": 0},
-                {"x": 12, "y": 0},
-                {"x": 13, "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": 8, "y": 1},
-                {"x": 9, "y": 1},
-                {"x": 10, "y": 1},
-                {"x": 11, "y": 1},
-                {"x": 12, "y": 1},
-                {"x": 13, "y": 1},
-
-                {"x": 0, "y": 2},
-                {"x": 1, "y": 2},
-                {"x": 2, "y": 2},
-                {"x": 3, "y": 2},
-                {"x": 4, "y": 2},
-                {"x": 5, "y": 2},
-                {"x": 8, "y": 2},
-                {"x": 9, "y": 2},
-                {"x": 10, "y": 2},
-                {"x": 11, "y": 2},
-                {"x": 12, "y": 2},
-                {"x": 13, "y": 2},
-
-                {"x": 0, "y": 3},
-                {"x": 1, "y": 3},
-                {"x": 2, "y": 3},
-                {"x": 3, "y": 3},
-                {"x": 4, "y": 3},
-                {"x": 5, "y": 3},
-                {"x": 6, "y": 3},
-                {"x": 7, "y": 3},
-                {"x": 8, "y": 3},
-                {"x": 9, "y": 3},
-                {"x": 10, "y": 3},
-                {"x": 11, "y": 3},
-                {"x": 12, "y": 3},
-                {"x": 13, "y": 3},
-
-                {"x": 1.75, "y": 4},
-                {"x": 2.75, "y": 4},
-                {"x": 3.75, "y": 4},
-                {"x": 4.75, "y": 4, "w": 1.5},
-                {"x": 7.75, "y": 4, "w": 1.5},
-                {"x": 9.25, "y": 4},
-                {"x": 10.25, "y": 4},
-                {"x": 11.25, "y": 4}
+                {"matrix": [0, 5], "x": 0, "y": 0},
+                {"matrix": [0, 4], "x": 1, "y": 0},
+                {"matrix": [0, 3], "x": 2, "y": 0},
+                {"matrix": [0, 2], "x": 3, "y": 0},
+                {"matrix": [0, 1], "x": 4, "y": 0},
+                {"matrix": [0, 0], "x": 5, "y": 0},
+
+                {"matrix": [5, 0], "x": 8, "y": 0},
+                {"matrix": [5, 1], "x": 9, "y": 0},
+                {"matrix": [5, 2], "x": 10, "y": 0},
+                {"matrix": [5, 3], "x": 11, "y": 0},
+                {"matrix": [5, 4], "x": 12, "y": 0},
+                {"matrix": [5, 5], "x": 13, "y": 0},
+
+                {"matrix": [1, 5], "x": 0, "y": 1},
+                {"matrix": [1, 4], "x": 1, "y": 1},
+                {"matrix": [1, 3], "x": 2, "y": 1},
+                {"matrix": [1, 2], "x": 3, "y": 1},
+                {"matrix": [1, 1], "x": 4, "y": 1},
+                {"matrix": [1, 0], "x": 5, "y": 1},
+
+                {"matrix": [6, 0], "x": 8, "y": 1},
+                {"matrix": [6, 1], "x": 9, "y": 1},
+                {"matrix": [6, 2], "x": 10, "y": 1},
+                {"matrix": [6, 3], "x": 11, "y": 1},
+                {"matrix": [6, 4], "x": 12, "y": 1},
+                {"matrix": [6, 5], "x": 13, "y": 1},
+
+                {"matrix": [2, 5], "x": 0, "y": 2},
+                {"matrix": [2, 4], "x": 1, "y": 2},
+                {"matrix": [2, 3], "x": 2, "y": 2},
+                {"matrix": [2, 2], "x": 3, "y": 2},
+                {"matrix": [2, 1], "x": 4, "y": 2},
+                {"matrix": [2, 0], "x": 5, "y": 2},
+
+                {"matrix": [7, 0], "x": 8, "y": 2},
+                {"matrix": [7, 1], "x": 9, "y": 2},
+                {"matrix": [7, 2], "x": 10, "y": 2},
+                {"matrix": [7, 3], "x": 11, "y": 2},
+                {"matrix": [7, 4], "x": 12, "y": 2},
+                {"matrix": [7, 5], "x": 13, "y": 2},
+
+                {"matrix": [3, 5], "x": 0, "y": 3},
+                {"matrix": [3, 4], "x": 1, "y": 3},
+                {"matrix": [3, 3], "x": 2, "y": 3},
+                {"matrix": [3, 2], "x": 3, "y": 3},
+                {"matrix": [3, 1], "x": 4, "y": 3},
+                {"matrix": [3, 0], "x": 5, "y": 3},
+                {"matrix": [4, 4], "x": 6, "y": 3},
+
+                {"matrix": [9, 4], "x": 7, "y": 3},
+                {"matrix": [8, 0], "x": 8, "y": 3},
+                {"matrix": [8, 1], "x": 9, "y": 3},
+                {"matrix": [8, 2], "x": 10, "y": 3},
+                {"matrix": [8, 3], "x": 11, "y": 3},
+                {"matrix": [8, 4], "x": 12, "y": 3},
+                {"matrix": [8, 5], "x": 13, "y": 3},
+
+                {"matrix": [4, 3], "x": 1.75, "y": 4},
+                {"matrix": [4, 2], "x": 2.75, "y": 4},
+                {"matrix": [4, 1], "x": 3.75, "y": 4},
+                {"matrix": [4, 0], "x": 4.75, "y": 4, "w": 1.5},
+
+                {"matrix": [9, 0], "x": 7.75, "y": 4, "w": 1.5},
+                {"matrix": [9, 1], "x": 9.25, "y": 4},
+                {"matrix": [9, 2], "x": 10.25, "y": 4},
+                {"matrix": [9, 3], "x": 11.25, "y": 4}
             ]
         }
     }

+ 0 - 18
keyboards/keystonecaps/gameroyadvance/gameroyadvance.c

@@ -1,18 +0,0 @@
-/*
-Copyright 2022 @RoyMeetsWorld
-
-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 "gameroyadvance.h"

+ 0 - 104
keyboards/keystonecaps/gameroyadvance/gameroyadvance.h

@@ -1,104 +0,0 @@
-/*
-Copyright 2022 @RoyMeetsWorld
-
-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"
-
-/**
- * The layout macro for ANSI boards, with illustrative grid of a typical assignment.
- *   ┌───┬───┬───┬───┬───┬───┬───┐                              ┌───┬───┬───┬───┬───┬───┬───────┐
- *   │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │                              │ 7 │ 8 │ 9 │ 0 │ - │ + │ BACK  │
- * ┌─┴───┼───┼───┼───┼───┼───┼───┤┌───┬───┐        ┌───┬───┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ TAB │ Q │ W │ E │ R │ T │ Y ││F1 │F2 │        │F7 │F8 │  │ Y │ U │ I │ O │ P │ [ │ ] │  \  │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘├───┼───┤        ├───┼───┤  └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ CAPS │ A │ S │ D │ F │ G │   │F3 │F4 │        │F9 │F10│   │ H │ J │ K │ L │ ; │ ' │  Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┤        ├───┼───┤ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ LSHIFT │ Z │ X │ C │ V │ B │ │F5 │F6 │        │F11│F12│ │ B │ N │ M │ , │ . │ / │  RSHIFT  │
- * ├────┬───┴┬──┴─┬─┴──┬┴───┼───┴┬┴───┼───┘        └───┼───┴┬┴───┼───┴───┴──┬┴───┼───┴┬────┬────│
- * │LCTL│LGUI│LALT│ FN │    │SPC │MUTE│                │MUTE│SPCE│          │RALT│ FN │RGUI│RCTL│
- * └────┴────┴────┴────┘    └────┼────┤                ├────┼────┘          └────┴────┴────┴────┘
- *                               │ENTR│                │ENTR│
- *                               └────┘                └────┘
- */
-#define LAYOUT(                                                                                            \
-	L00, L01, L02, L03, L04, L05, L06,                        R00, R01, R02, R03, R04, R05,      R07,      \
-	L10, L11, L12, L13, L14, L15, L16, L17, L18,    R10, R11, R12, R13, R14, R15, R16, R17, R18,      R28, \
-	L20, L21, L22, L23, L24, L25,      L27, L28,    R20, R21, R22, R23, R24, R25, R26, R27,      R38,      \
-	L30,      L31, L32, L33, L34, L35, L37, L38,    R30, R31, R32, R33, R34, R35, R36, R37,      R46,      \
-	L40, L41, L42, L43,           L45, L48,              R40, R42,                     R43, R44, R45, R47, \
-	                                   L47,              R41                                               \
-) \
-{ \
-	{ L00,   L01,   L02,   L03,   L04,   L05,   L06,   KC_NO, KC_NO }, \
-	{ L10,   L11,   L12,   L13,   L14,   L15,   L16,   L17,   L18   }, \
-	{ L20,   L21,   L22,   L23,   L24,   L25,   KC_NO, L27,   L28   }, \
-	{ L30,   L31,   L32,   L33,   L34,   L35,   KC_NO, L37,   L38   }, \
-	{ L40,   L41,   L42,   L43,   KC_NO, L45,   KC_NO, L47,   L48   }, \
-	{ R00,   R01,   R02,   R03,   R04,   R05,   KC_NO, R07,   KC_NO }, \
-	{ R10,   R11,   R12,   R13,   R14,   R15,   R16,   R17,   R18   }, \
-	{ R20,   R21,   R22,   R23,   R24,   R25,   R26,   R27,   R28   }, \
-	{ R30,   R31,   R32,   R33,   R34,   R35,   R36,   R37,   R38   }, \
-	{ R40,   R41,   R42,   R43,   R44,   R45,   R46,   R47,   KC_NO }  \
-}
-
-/**
- * The layout macro for split-key boards, with illustrative grid of a typical assignment.
- *
- * Backspace has two options with three distinct pads:
- *     - center pad (regular 2u backspace)
- *     - left pad + right pad (split backspace)
- *
- * You may wish to set the unused pad(s) to KC_NO or XXXXXX, as they will be ignored.
- *                                                                                      ┌───────┐
- *                                                                                      │ BACK  │   (R07)
- *                                                                                      └───────┘
- *                                                                                          | 
- *   ┌───┬───┬───┬───┬───┬───┬───┐                              ┌───┬───┬───┬───┬───┬───┬───┬───┐
- *   │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │                              │ 7 │ 8 │ 9 │ 0 │ - │ + │ \ │BCK│ (R06 R08)
- * ┌─┴───┼───┼───┼───┼───┼───┼───┤┌───┬───┐        ┌───┬───┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │ TAB │ Q │ W │ E │ R │ T │ Y ││F1 │F2 │        │F7 │F8 │  │ Y │ U │ I │ O │ P │ [ │ ] │  \  │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘├───┼───┤        ├───┼───┤  └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ CAPS │ A │ S │ D │ F │ G │   │F3 │F4 │        │F9 │F10│   │ H │ J │ K │ L │ ; │ ' │  Enter │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┤        ├───┼───┤ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
- * │LSFT│ \ │ Z │ X │ C │ V │ B │ │F5 │F6 │        │F11│F12│ │ B │ N │ M │ , │ . │ / │RSHIFT│PSC│
- * ├────┼───┴┬──┴─┬─┴──┬┴───┼───┴┬┴───┼───┘        └───┼───┴┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───│
- * │LCTL│LGUI│LALT│ FN │    │SPC │MUTE│                │MUTE│SPCE│          │RALT│ FN │RGUI│RCTL│
- * └────┴────┴────┴────┘    └────┼────┤                ├────┼────┘          └────┴────┴────┴────┘
- *                               │ENTR│                │ENTR│
- *                               └────┘                └────┘
- */
-#define LAYOUT_all(                                                                                        \
-	L00, L01, L02, L03, L04, L05, L06,                        R00, R01, R02, R03, R04, R05, R06, R07, R08, \
-	L10, L11, L12, L13, L14, L15, L16, L17, L18,    R10, R11, R12, R13, R14, R15, R16, R17, R18,      R28, \
-	L20, L21, L22, L23, L24, L25,      L27, L28,    R20, R21, R22, R23, R24, R25, R26, R27,      R38,      \
-	L30, L44, L31, L32, L33, L34, L35, L37, L38,    R30, R31, R32, R33, R34, R35, R36, R37,      R46, R48, \
-	L40, L41, L42, L43,           L45, L48,              R40, R42,                R43, R44,      R45, R47, \
-	                                   L47,              R41                                               \
-) \
-{ \
-	{ L00,   L01,   L02,   L03,   L04,   L05,   L06,   KC_NO, KC_NO }, \
-	{ L10,   L11,   L12,   L13,   L14,   L15,   L16,   L17,   L18   }, \
-	{ L20,   L21,   L22,   L23,   L24,   L25,   KC_NO, L27,   L28   }, \
-	{ L30,   L31,   L32,   L33,   L34,   L35,   KC_NO, L37,   L38   }, \
-	{ L40,   L41,   L42,   L43,   L44,   L45,   KC_NO, L47,   L48   }, \
-	{ R00,   R01,   R02,   R03,   R04,   R05,   R06,   R07,   R08   }, \
-	{ R10,   R11,   R12,   R13,   R14,   R15,   R16,   R17,   R18   }, \
-	{ R20,   R21,   R22,   R23,   R24,   R25,   R26,   R27,   R28   }, \
-	{ R30,   R31,   R32,   R33,   R34,   R35,   R36,   R37,   R38   }, \
-	{ R40,   R41,   R42,   R43,   R44,   R45,   R46,   R47,   R48   }  \
-}

+ 190 - 203
keyboards/keystonecaps/gameroyadvance/info.json

@@ -42,211 +42,198 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                { "x": 0.5, "y": 0 },
-                { "x": 1.5, "y": 0 },
-                { "x": 2.5, "y": 0 },
-                { "x": 3.5, "y": 0 },
-                { "x": 4.5, "y": 0 },
-                { "x": 5.5, "y": 0 },
-                { "x": 6.5, "y": 0 },
-
-                { "x": 13.25, "y": 0 },
-                { "x": 14.25, "y": 0 },
-                { "x": 15.25, "y": 0 },
-                { "x": 16.25, "y": 0 },
-                { "x": 17.25, "y": 0 },
-                { "x": 18.25, "y": 0 },
-                { "x": 19.25, "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.75, "y": 1 },
-                { "x": 8.75, "y": 1 },
-
-                { "x": 10.5, "y": 1 },
-                { "x": 11.5, "y": 1 },
-
-                { "x": 13.25, "y": 1 },
-                { "x": 14.25, "y": 1 },
-                { "x": 15.25, "y": 1 },
-                { "x": 16.25, "y": 1 },
-                { "x": 17.25, "y": 1 },
-                { "x": 18.25, "y": 1 },
-                { "x": 19.25, "y": 1 },
-                { "x": 20.25, "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": 7.75, "y": 2 },
-                { "x": 8.75, "y": 2 },
-
-                { "x": 10.5, "y": 2 },
-                { "x": 11.5, "y": 2 },
-
-                { "x": 13.5, "y": 2 },
-                { "x": 14.5, "y": 2 },
-                { "x": 15.5, "y": 2 },
-                { "x": 16.5, "y": 2 },
-                { "x": 17.5, "y": 2 },
-                { "x": 18.5, "y": 2 },
-                { "x": 19.5, "y": 2, "w": 2.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.75, "y": 3 },
-                { "x": 8.75, "y": 3 },
-
-                { "x": 10.5, "y": 3 },
-                { "x": 11.5, "y": 3 },
-
-                { "x": 13, "y": 3 },
-                { "x": 14, "y": 3 },
-                { "x": 15, "y": 3 },
-                { "x": 16, "y": 3 },
-                { "x": 17, "y": 3 },
-                { "x": 18, "y": 3 },
-                { "x": 19, "y": 3, "w": 2.75 },
-
-                { "x": 0.5, "y": 4, "w": 1.25 },
-                { "x": 1.75, "y": 4, "w": 1.25 },
-                { "x": 3, "y": 4, "w": 1.25 },
-                { "x": 4.25, "y": 4, "w": 1.25 },
-
-                { "x": 6.5, "y": 4, "h": 1.5 },
-                { "x": 7.5, "y": 4 },
-
-                { "x": 11.75, "y": 4 },
-                { "x": 12.75, "y": 4, "h": 1.5 },
-
-                { "x": 16.25, "y": 4, "w": 1.25 },
-                { "x": 17.5, "y": 4, "w": 1.25 },
-                { "x": 18.75, "y": 4, "w": 1.25 },
-                { "x": 20, "y": 4, "w": 1.25 },
-
-                { "x": 7.5, "y": 5, "h": 1.5 },
-                { "x": 11.75, "y": 5, "h": 1.5 }
-            ] },
+                {"matrix": [0, 0], "x": 0.5, "y": 0},
+                {"matrix": [0, 1], "x": 1.5, "y": 0},
+                {"matrix": [0, 2], "x": 2.5, "y": 0},
+                {"matrix": [0, 3], "x": 3.5, "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": [5, 0], "x": 13.25, "y": 0},
+                {"matrix": [5, 1], "x": 14.25, "y": 0},
+                {"matrix": [5, 2], "x": 15.25, "y": 0},
+                {"matrix": [5, 3], "x": 16.25, "y": 0},
+                {"matrix": [5, 4], "x": 17.25, "y": 0},
+                {"matrix": [5, 5], "x": 18.25, "y": 0},
+                {"matrix": [5, 7], "x": 19.25, "y": 0, "w": 2},
+
+                {"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.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+
+                {"matrix": [6, 0], "x": 10.5, "y": 1},
+                {"matrix": [6, 1], "x": 11.5, "y": 1},
+                {"matrix": [6, 2], "x": 13.25, "y": 1},
+                {"matrix": [6, 3], "x": 14.25, "y": 1},
+                {"matrix": [6, 4], "x": 15.25, "y": 1},
+                {"matrix": [6, 5], "x": 16.25, "y": 1},
+                {"matrix": [6, 6], "x": 17.25, "y": 1},
+                {"matrix": [6, 7], "x": 18.25, "y": 1},
+                {"matrix": [6, 8], "x": 19.25, "y": 1},
+                {"matrix": [7, 8], "x": 20.25, "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, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+
+                {"matrix": [7, 0], "x": 10.5, "y": 2},
+                {"matrix": [7, 1], "x": 11.5, "y": 2},
+                {"matrix": [7, 2], "x": 13.5, "y": 2},
+                {"matrix": [7, 3], "x": 14.5, "y": 2},
+                {"matrix": [7, 4], "x": 15.5, "y": 2},
+                {"matrix": [7, 5], "x": 16.5, "y": 2},
+                {"matrix": [7, 6], "x": 17.5, "y": 2},
+                {"matrix": [7, 7], "x": 18.5, "y": 2},
+                {"matrix": [8, 8], "x": 19.5, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 1], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [3, 3], "x": 4.25, "y": 3},
+                {"matrix": [3, 4], "x": 5.25, "y": 3},
+                {"matrix": [3, 5], "x": 6.25, "y": 3},
+                {"matrix": [3, 7], "x": 7.75, "y": 3},
+                {"matrix": [3, 8], "x": 8.75, "y": 3},
+
+                {"matrix": [8, 0], "x": 10.5, "y": 3},
+                {"matrix": [8, 1], "x": 11.5, "y": 3},
+                {"matrix": [8, 2], "x": 13, "y": 3},
+                {"matrix": [8, 3], "x": 14, "y": 3},
+                {"matrix": [8, 4], "x": 15, "y": 3},
+                {"matrix": [8, 5], "x": 16, "y": 3},
+                {"matrix": [8, 6], "x": 17, "y": 3},
+                {"matrix": [8, 7], "x": 18, "y": 3},
+                {"matrix": [9, 6], "x": 19, "y": 3, "w": 2.75},
+
+                {"matrix": [4, 0], "x": 0.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 3, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 6.5, "y": 4, "h": 1.5},
+                {"matrix": [4, 8], "x": 7.5, "y": 4},
+
+                {"matrix": [9, 0], "x": 11.75, "y": 4},
+                {"matrix": [9, 2], "x": 12.75, "y": 4, "h": 1.5},
+                {"matrix": [9, 3], "x": 16.25, "y": 4, "w": 1.25},
+                {"matrix": [9, 4], "x": 17.5, "y": 4, "w": 1.25},
+                {"matrix": [9, 5], "x": 18.75, "y": 4, "w": 1.25},
+                {"matrix": [9, 7], "x": 20, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 7], "x": 7.5, "y": 5, "h": 1.5},
+
+                {"matrix": [9, 1], "x": 11.75, "y": 5, "h": 1.5}
+            ]
+        },
         "LAYOUT_all": {
             "layout": [
-                { "x": 0.5, "y": 0 },
-                { "x": 1.5, "y": 0 },
-                { "x": 2.5, "y": 0 },
-                { "x": 3.5, "y": 0 },
-                { "x": 4.5, "y": 0 },
-                { "x": 5.5, "y": 0 },
-                { "x": 6.5, "y": 0 },
-
-                { "x": 13.25, "y": 0 },
-                { "x": 14.25, "y": 0 },
-                { "x": 15.25, "y": 0 },
-                { "x": 16.25, "y": 0 },
-                { "x": 17.25, "y": 0 },
-                { "x": 18.25, "y": 0 },
-                { "x": 19.25, "y": 0 },
-                { "x": 22.25, "y": 0, "w": 2 },
-                { "x": 20.25, "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.75, "y": 1 },
-                { "x": 8.75, "y": 1 },
-
-                { "x": 10.5, "y": 1 },
-                { "x": 11.5, "y": 1 },
-
-                { "x": 13.25, "y": 1 },
-                { "x": 14.25, "y": 1 },
-                { "x": 15.25, "y": 1 },
-                { "x": 16.25, "y": 1 },
-                { "x": 17.25, "y": 1 },
-                { "x": 18.25, "y": 1 },
-                { "x": 19.25, "y": 1 },
-                { "x": 20.25, "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": 7.75, "y": 2 },
-                { "x": 8.75, "y": 2 },
-
-                { "x": 10.5, "y": 2 },
-                { "x": 11.5, "y": 2 },
-
-                { "x": 13.5, "y": 2 },
-                { "x": 14.5, "y": 2 },
-                { "x": 15.5, "y": 2 },
-                { "x": 16.5, "y": 2 },
-                { "x": 17.5, "y": 2 },
-                { "x": 18.5, "y": 2 },
-                { "x": 19.5, "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.75, "y": 3 },
-                { "x": 8.75, "y": 3 },
-
-                { "x": 10.5, "y": 3 },
-                { "x": 11.5, "y": 3 },
-
-                { "x": 13, "y": 3 },
-                { "x": 14, "y": 3 },
-                { "x": 15, "y": 3 },
-                { "x": 16, "y": 3 },
-                { "x": 17, "y": 3 },
-                { "x": 18, "y": 3 },
-                { "x": 19, "y": 3, "w": 1.75 },
-                { "x": 20.75, "y": 3 },
-
-                { "x": 0.5, "y": 4, "w": 1.25 },
-                { "x": 1.75, "y": 4, "w": 1.25 },
-                { "x": 3, "y": 4, "w": 1.25 },
-                { "x": 4.25, "y": 4, "w": 1.25 },
-
-                { "x": 6.5, "y": 4, "h": 1.5 },
-                { "x": 7.5, "y": 4 },
-
-                { "x": 11.75, "y": 4 },
-                { "x": 12.75, "y": 4, "h": 1.5 },
-
-                { "x": 16.25, "y": 4, "w": 1.25 },
-                { "x": 17.5, "y": 4, "w": 1.25 },
-                { "x": 18.75, "y": 4, "w": 1.25 },
-                { "x": 20, "y": 4, "w": 1.25 },
-
-                { "x": 7.5, "y": 5, "h": 1.5 },
-                { "x": 11.75, "y": 5, "h": 1.5 }
+                {"matrix": [0, 0], "x": 0.5, "y": 0},
+                {"matrix": [0, 1], "x": 1.5, "y": 0},
+                {"matrix": [0, 2], "x": 2.5, "y": 0},
+                {"matrix": [0, 3], "x": 3.5, "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": [5, 0], "x": 13.25, "y": 0},
+                {"matrix": [5, 1], "x": 14.25, "y": 0},
+                {"matrix": [5, 2], "x": 15.25, "y": 0},
+                {"matrix": [5, 3], "x": 16.25, "y": 0},
+                {"matrix": [5, 4], "x": 17.25, "y": 0},
+                {"matrix": [5, 5], "x": 18.25, "y": 0},
+                {"matrix": [5, 6], "x": 19.25, "y": 0},
+                {"matrix": [5, 7], "x": 22.25, "y": 0, "w": 2},
+                {"matrix": [5, 8], "x": 20.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.75, "y": 1},
+                {"matrix": [1, 8], "x": 8.75, "y": 1},
+
+                {"matrix": [6, 0], "x": 10.5, "y": 1},
+                {"matrix": [6, 1], "x": 11.5, "y": 1},
+                {"matrix": [6, 2], "x": 13.25, "y": 1},
+                {"matrix": [6, 3], "x": 14.25, "y": 1},
+                {"matrix": [6, 4], "x": 15.25, "y": 1},
+                {"matrix": [6, 5], "x": 16.25, "y": 1},
+                {"matrix": [6, 6], "x": 17.25, "y": 1},
+                {"matrix": [6, 7], "x": 18.25, "y": 1},
+                {"matrix": [6, 8], "x": 19.25, "y": 1},
+                {"matrix": [7, 8], "x": 20.25, "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, 7], "x": 7.75, "y": 2},
+                {"matrix": [2, 8], "x": 8.75, "y": 2},
+
+                {"matrix": [7, 0], "x": 10.5, "y": 2},
+                {"matrix": [7, 1], "x": 11.5, "y": 2},
+                {"matrix": [7, 2], "x": 13.5, "y": 2},
+                {"matrix": [7, 3], "x": 14.5, "y": 2},
+                {"matrix": [7, 4], "x": 15.5, "y": 2},
+                {"matrix": [7, 5], "x": 16.5, "y": 2},
+                {"matrix": [7, 6], "x": 17.5, "y": 2},
+                {"matrix": [7, 7], "x": 18.5, "y": 2},
+                {"matrix": [8, 8], "x": 19.5, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [4, 4], "x": 1.25, "y": 3},
+                {"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, 7], "x": 7.75, "y": 3},
+                {"matrix": [3, 8], "x": 8.75, "y": 3},
+
+                {"matrix": [8, 0], "x": 10.5, "y": 3},
+                {"matrix": [8, 1], "x": 11.5, "y": 3},
+                {"matrix": [8, 2], "x": 13, "y": 3},
+                {"matrix": [8, 3], "x": 14, "y": 3},
+                {"matrix": [8, 4], "x": 15, "y": 3},
+                {"matrix": [8, 5], "x": 16, "y": 3},
+                {"matrix": [8, 6], "x": 17, "y": 3},
+                {"matrix": [8, 7], "x": 18, "y": 3},
+                {"matrix": [9, 6], "x": 19, "y": 3, "w": 1.75},
+                {"matrix": [9, 8], "x": 20.75, "y": 3},
+
+                {"matrix": [4, 0], "x": 0.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 3, "y": 4, "w": 1.25},
+                {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 6.5, "y": 4, "h": 1.5},
+                {"matrix": [4, 8], "x": 7.5, "y": 4},
+
+                {"matrix": [9, 0], "x": 11.75, "y": 4},
+                {"matrix": [9, 2], "x": 12.75, "y": 4, "h": 1.5},
+                {"matrix": [9, 3], "x": 16.25, "y": 4, "w": 1.25},
+                {"matrix": [9, 4], "x": 17.5, "y": 4, "w": 1.25},
+                {"matrix": [9, 5], "x": 18.75, "y": 4, "w": 1.25},
+                {"matrix": [9, 7], "x": 20, "y": 4, "w": 1.25},
+
+                {"matrix": [4, 7], "x": 7.5, "y": 5, "h": 1.5},
+
+                {"matrix": [9, 1], "x": 11.75, "y": 5, "h": 1.5}
             ]
         }
     }

+ 198 - 180
keyboards/kin80/info.json

@@ -10,190 +10,208 @@
     "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":11.5, "y":0},
-                {"x":12.5, "y":0},
-                {"x":13.5, "y":0},
-                {"x":14.5, "y":0},
-                {"x":15.5, "y":0},
-                {"x":16.5, "y":0},
-
-                {"x":0, "y":1.25, "w":1.25},
-                {"x":1.25, "y":1.25},
-                {"x":2.25, "y":1.25},
-                {"x":3.25, "y":1.25},
-                {"x":4.25, "y":1.25},
-                {"x":5.25, "y":1.25},
-                {"x":11.25, "y":1.25},
-                {"x":12.25, "y":1.25},
-                {"x":13.25, "y":1.25},
-                {"x":14.25, "y":1.25},
-                {"x":15.25, "y":1.25},
-                {"x":16.25, "y":1.25, "w":1.25},
-
-                {"x":0, "y":2.25, "w":1.25},
-                {"x":1.25, "y":2.25},
-                {"x":2.25, "y":2.25},
-                {"x":3.25, "y":2.25},
-                {"x":4.25, "y":2.25},
-                {"x":5.25, "y":2.25},
-                {"x":11.25, "y":2.25},
-                {"x":12.25, "y":2.25},
-                {"x":13.25, "y":2.25},
-                {"x":14.25, "y":2.25},
-                {"x":15.25, "y":2.25},
-                {"x":16.25, "y":2.25, "w":1.25},
-
-                {"x":0, "y":3.25, "w":1.25},
-                {"x":1.25, "y":3.25},
-                {"x":2.25, "y":3.25},
-                {"x":3.25, "y":3.25},
-                {"x":4.25, "y":3.25},
-                {"x":5.25, "y":3.25},
-                {"x":11.25, "y":3.25},
-                {"x":12.25, "y":3.25},
-                {"x":13.25, "y":3.25},
-                {"x":14.25, "y":3.25},
-                {"x":15.25, "y":3.25},
-                {"x":16.25, "y":3.25, "w":1.25},
-
-                {"x":0, "y":4.25, "w":1.25},
-                {"x":1.25, "y":4.25},
-                {"x":2.25, "y":4.25},
-                {"x":3.25, "y":4.25},
-                {"x":4.25, "y":4.25},
-                {"x":5.25, "y":4.25},
-                {"x":11.25, "y":4.25},
-                {"x":12.25, "y":4.25},
-                {"x":13.25, "y":4.25},
-                {"x":14.25, "y":4.25},
-                {"x":15.25, "y":4.25},
-                {"x":16.25, "y":4.25, "w":1.25},
-
-                {"x":1.25, "y":5.25},
-                {"x":2.25, "y":5.25},
-                {"x":3.25, "y":5.25},
-                {"x":4.25, "y":5.25},
-                {"x":12.25, "y":5.25},
-                {"x":13.25, "y":5.25},
-                {"x":14.25, "y":5.25},
-                {"x":15.25, "y":5.25},
-
-                {"x":6.25, "y":6},
-                {"x":7.25, "y":6},
-                {"x":9.25, "y":6},
-                {"x":10.25, "y":6},
-
-                {"x":7.25, "y":7},
-                {"x":9.25, "y":7},
-
-                {"x":5.25, "y":7, "h":2},
-                {"x":6.25, "y":7, "h":2},
-                {"x":7.25, "y":8},
-                {"x":9.25, "y":8},
-                {"x":10.25, "y":7, "h":2},
-                {"x":11.25, "y":7, "h":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": 11.5, "y": 0},
+                {"matrix": [0, 7], "x": 12.5, "y": 0},
+                {"matrix": [0, 8], "x": 13.5, "y": 0},
+                {"matrix": [0, 9], "x": 14.5, "y": 0},
+                {"matrix": [0, 10], "x": 15.5, "y": 0},
+                {"matrix": [0, 11], "x": 16.5, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 1.25},
+                {"matrix": [1, 2], "x": 2.25, "y": 1.25},
+                {"matrix": [1, 3], "x": 3.25, "y": 1.25},
+                {"matrix": [1, 4], "x": 4.25, "y": 1.25},
+                {"matrix": [1, 5], "x": 5.25, "y": 1.25},
+
+                {"matrix": [1, 6], "x": 11.25, "y": 1.25},
+                {"matrix": [1, 7], "x": 12.25, "y": 1.25},
+                {"matrix": [1, 8], "x": 13.25, "y": 1.25},
+                {"matrix": [1, 9], "x": 14.25, "y": 1.25},
+                {"matrix": [1, 10], "x": 15.25, "y": 1.25},
+                {"matrix": [1, 11], "x": 16.25, "y": 1.25, "w": 1.25},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [2, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 2.25},
+                {"matrix": [2, 3], "x": 3.25, "y": 2.25},
+                {"matrix": [2, 4], "x": 4.25, "y": 2.25},
+                {"matrix": [2, 5], "x": 5.25, "y": 2.25},
+
+                {"matrix": [2, 6], "x": 11.25, "y": 2.25},
+                {"matrix": [2, 7], "x": 12.25, "y": 2.25},
+                {"matrix": [2, 8], "x": 13.25, "y": 2.25},
+                {"matrix": [2, 9], "x": 14.25, "y": 2.25},
+                {"matrix": [2, 10], "x": 15.25, "y": 2.25},
+                {"matrix": [2, 11], "x": 16.25, "y": 2.25, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3.25},
+                {"matrix": [3, 3], "x": 3.25, "y": 3.25},
+                {"matrix": [3, 4], "x": 4.25, "y": 3.25},
+                {"matrix": [3, 5], "x": 5.25, "y": 3.25},
+
+                {"matrix": [3, 6], "x": 11.25, "y": 3.25},
+                {"matrix": [3, 7], "x": 12.25, "y": 3.25},
+                {"matrix": [3, 8], "x": 13.25, "y": 3.25},
+                {"matrix": [3, 9], "x": 14.25, "y": 3.25},
+                {"matrix": [3, 10], "x": 15.25, "y": 3.25},
+                {"matrix": [3, 11], "x": 16.25, "y": 3.25, "w": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+                {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+                {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+                {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+                {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+
+                {"matrix": [4, 6], "x": 11.25, "y": 4.25},
+                {"matrix": [4, 7], "x": 12.25, "y": 4.25},
+                {"matrix": [4, 8], "x": 13.25, "y": 4.25},
+                {"matrix": [4, 9], "x": 14.25, "y": 4.25},
+                {"matrix": [4, 10], "x": 15.25, "y": 4.25},
+                {"matrix": [4, 11], "x": 16.25, "y": 4.25, "w": 1.25},
+
+                {"matrix": [5, 1], "x": 1.25, "y": 5.25},
+                {"matrix": [5, 2], "x": 2.25, "y": 5.25},
+                {"matrix": [5, 3], "x": 3.25, "y": 5.25},
+                {"matrix": [5, 4], "x": 4.25, "y": 5.25},
+
+                {"matrix": [5, 7], "x": 12.25, "y": 5.25},
+                {"matrix": [5, 8], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 9], "x": 14.25, "y": 5.25},
+                {"matrix": [5, 10], "x": 15.25, "y": 5.25},
+
+                {"matrix": [6, 2], "x": 6.25, "y": 6},
+                {"matrix": [6, 3], "x": 7.25, "y": 6},
+
+                {"matrix": [6, 9], "x": 9.25, "y": 6},
+                {"matrix": [6, 8], "x": 10.25, "y": 6},
+
+                {"matrix": [6, 4], "x": 7.25, "y": 7},
+
+                {"matrix": [6, 10], "x": 9.25, "y": 7},
+
+                {"matrix": [6, 0], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [6, 1], "x": 6.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 7.25, "y": 8},
+
+                {"matrix": [6, 11], "x": 9.25, "y": 8},
+                {"matrix": [6, 7], "x": 10.25, "y": 7, "h": 2},
+                {"matrix": [6, 6], "x": 11.25, "y": 7, "h": 2}
             ]
         },
         "LAYOUT_all": {
             "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":11.5, "y":0},
-                {"x":12.5, "y":0},
-                {"x":13.5, "y":0},
-                {"x":14.5, "y":0},
-                {"x":15.5, "y":0},
-                {"x":16.5, "y":0},
-
-                {"x":0, "y":1.25, "w":1.25},
-                {"x":1.25, "y":1.25},
-                {"x":2.25, "y":1.25},
-                {"x":3.25, "y":1.25},
-                {"x":4.25, "y":1.25},
-                {"x":5.25, "y":1.25},
-                {"x":11.25, "y":1.25},
-                {"x":12.25, "y":1.25},
-                {"x":13.25, "y":1.25},
-                {"x":14.25, "y":1.25},
-                {"x":15.25, "y":1.25},
-                {"x":16.25, "y":1.25, "w":1.25},
-
-                {"x":0, "y":2.25, "w":1.25},
-                {"x":1.25, "y":2.25},
-                {"x":2.25, "y":2.25},
-                {"x":3.25, "y":2.25},
-                {"x":4.25, "y":2.25},
-                {"x":5.25, "y":2.25},
-                {"x":11.25, "y":2.25},
-                {"x":12.25, "y":2.25},
-                {"x":13.25, "y":2.25},
-                {"x":14.25, "y":2.25},
-                {"x":15.25, "y":2.25},
-                {"x":16.25, "y":2.25, "w":1.25},
-
-                {"x":0, "y":3.25, "w":1.25},
-                {"x":1.25, "y":3.25},
-                {"x":2.25, "y":3.25},
-                {"x":3.25, "y":3.25},
-                {"x":4.25, "y":3.25},
-                {"x":5.25, "y":3.25},
-                {"x":11.25, "y":3.25},
-                {"x":12.25, "y":3.25},
-                {"x":13.25, "y":3.25},
-                {"x":14.25, "y":3.25},
-                {"x":15.25, "y":3.25},
-                {"x":16.25, "y":3.25, "w":1.25},
-
-                {"x":0, "y":4.25, "w":1.25},
-                {"x":1.25, "y":4.25},
-                {"x":2.25, "y":4.25},
-                {"x":3.25, "y":4.25},
-                {"x":4.25, "y":4.25},
-                {"x":5.25, "y":4.25},
-                {"x":11.25, "y":4.25},
-                {"x":12.25, "y":4.25},
-                {"x":13.25, "y":4.25},
-                {"x":14.25, "y":4.25},
-                {"x":15.25, "y":4.25},
-                {"x":16.25, "y":4.25, "w":1.25},
-
-                {"x":0.25, "y":5.25},
-                {"x":1.25, "y":5.25},
-                {"x":2.25, "y":5.25},
-                {"x":3.25, "y":5.25},
-                {"x":4.25, "y":5.25},
-                {"x":5.25, "y":5.25},
-                {"x":11.25, "y":5.25},
-                {"x":12.25, "y":5.25},
-                {"x":13.25, "y":5.25},
-                {"x":14.25, "y":5.25},
-                {"x":15.25, "y":5.25},
-                {"x":16.25, "y":5.25},
-
-                {"x":6.25, "y":6},
-                {"x":7.25, "y":6},
-                {"x":9.25, "y":6},
-                {"x":10.25, "y":6},
-
-                {"x":7.25, "y":7},
-                {"x":9.25, "y":7},
-
-                {"x":5.25, "y":7, "h":2},
-                {"x":6.25, "y":7, "h":2},
-                {"x":7.25, "y":8},
-                {"x":9.25, "y":8},
-                {"x":10.25, "y":7, "h":2},
-                {"x":11.25, "y":7, "h":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": 11.5, "y": 0},
+                {"matrix": [0, 7], "x": 12.5, "y": 0},
+                {"matrix": [0, 8], "x": 13.5, "y": 0},
+                {"matrix": [0, 9], "x": 14.5, "y": 0},
+                {"matrix": [0, 10], "x": 15.5, "y": 0},
+                {"matrix": [0, 11], "x": 16.5, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 1.25},
+                {"matrix": [1, 2], "x": 2.25, "y": 1.25},
+                {"matrix": [1, 3], "x": 3.25, "y": 1.25},
+                {"matrix": [1, 4], "x": 4.25, "y": 1.25},
+                {"matrix": [1, 5], "x": 5.25, "y": 1.25},
+
+                {"matrix": [1, 6], "x": 11.25, "y": 1.25},
+                {"matrix": [1, 7], "x": 12.25, "y": 1.25},
+                {"matrix": [1, 8], "x": 13.25, "y": 1.25},
+                {"matrix": [1, 9], "x": 14.25, "y": 1.25},
+                {"matrix": [1, 10], "x": 15.25, "y": 1.25},
+                {"matrix": [1, 11], "x": 16.25, "y": 1.25, "w": 1.25},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [2, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 2.25},
+                {"matrix": [2, 3], "x": 3.25, "y": 2.25},
+                {"matrix": [2, 4], "x": 4.25, "y": 2.25},
+                {"matrix": [2, 5], "x": 5.25, "y": 2.25},
+
+                {"matrix": [2, 6], "x": 11.25, "y": 2.25},
+                {"matrix": [2, 7], "x": 12.25, "y": 2.25},
+                {"matrix": [2, 8], "x": 13.25, "y": 2.25},
+                {"matrix": [2, 9], "x": 14.25, "y": 2.25},
+                {"matrix": [2, 10], "x": 15.25, "y": 2.25},
+                {"matrix": [2, 11], "x": 16.25, "y": 2.25, "w": 1.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3.25},
+                {"matrix": [3, 2], "x": 2.25, "y": 3.25},
+                {"matrix": [3, 3], "x": 3.25, "y": 3.25},
+                {"matrix": [3, 4], "x": 4.25, "y": 3.25},
+                {"matrix": [3, 5], "x": 5.25, "y": 3.25},
+
+                {"matrix": [3, 6], "x": 11.25, "y": 3.25},
+                {"matrix": [3, 7], "x": 12.25, "y": 3.25},
+                {"matrix": [3, 8], "x": 13.25, "y": 3.25},
+                {"matrix": [3, 9], "x": 14.25, "y": 3.25},
+                {"matrix": [3, 10], "x": 15.25, "y": 3.25},
+                {"matrix": [3, 11], "x": 16.25, "y": 3.25, "w": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+                {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+                {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+                {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+                {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+
+                {"matrix": [4, 6], "x": 11.25, "y": 4.25},
+                {"matrix": [4, 7], "x": 12.25, "y": 4.25},
+                {"matrix": [4, 8], "x": 13.25, "y": 4.25},
+                {"matrix": [4, 9], "x": 14.25, "y": 4.25},
+                {"matrix": [4, 10], "x": 15.25, "y": 4.25},
+                {"matrix": [4, 11], "x": 16.25, "y": 4.25, "w": 1.25},
+
+                {"matrix": [5, 0], "x": 0.25, "y": 5.25},
+                {"matrix": [5, 1], "x": 1.25, "y": 5.25},
+                {"matrix": [5, 2], "x": 2.25, "y": 5.25},
+                {"matrix": [5, 3], "x": 3.25, "y": 5.25},
+                {"matrix": [5, 4], "x": 4.25, "y": 5.25},
+                {"matrix": [5, 5], "x": 5.25, "y": 5.25},
+
+                {"matrix": [5, 6], "x": 11.25, "y": 5.25},
+                {"matrix": [5, 7], "x": 12.25, "y": 5.25},
+                {"matrix": [5, 8], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 9], "x": 14.25, "y": 5.25},
+                {"matrix": [5, 10], "x": 15.25, "y": 5.25},
+                {"matrix": [5, 11], "x": 16.25, "y": 5.25},
+
+                {"matrix": [6, 2], "x": 6.25, "y": 6},
+                {"matrix": [6, 3], "x": 7.25, "y": 6},
+
+                {"matrix": [6, 9], "x": 9.25, "y": 6},
+                {"matrix": [6, 8], "x": 10.25, "y": 6},
+
+                {"matrix": [6, 4], "x": 7.25, "y": 7},
+
+                {"matrix": [6, 10], "x": 9.25, "y": 7},
+
+                {"matrix": [6, 0], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [6, 1], "x": 6.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 7.25, "y": 8},
+
+                {"matrix": [6, 11], "x": 9.25, "y": 8},
+                {"matrix": [6, 7], "x": 10.25, "y": 7, "h": 2},
+                {"matrix": [6, 6], "x": 11.25, "y": 7, "h": 2}
             ]
         }
     }

+ 0 - 62
keyboards/kin80/kin80.h

@@ -1,62 +0,0 @@
-/* Copyright 2022 DmNosachev
- *
- * 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"
-
-/* readability */
-#define XXX KC_NO
-
-#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, \
-         k51, k52, k53, k54,                         k57, k58, k59, k5A,      \
-                             k62, k63,     k69, k68,                          \
-                                  k64,     k6A,                               \
-                        k60, k61, k65,     k6B, k67, k66                      \
-) {                                                                 \
-    { 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 }, \
-    { XXX, k51, k52, k53, k54, XXX, XXX, k57, k58, k59, k5A, XXX }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B }  \
-}
-
-#define LAYOUT_all(                                                          \
-    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, \
-    k50, k51, k52, k53, k54, k55,               k56, k57, k58, k59, k5A, k5B, \
-                             k62, k63,     k69, k68,                          \
-                                  k64,     k6A,                               \
-                        k60, k61, k65,     k6B, k67, k66                      \
-) {                                                                 \
-    { 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 }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B }  \
-}

+ 0 - 93
keyboards/kinesis/alvicstep/alvicstep.h

@@ -8,96 +8,3 @@ void num_lock_led_on(void);
 void caps_lock_led_on(void);
 void scroll_lock_led_on(void);
 void keypad_led_on(void);
-
-#define ___ KC_NO
-
-#define LAYOUT( \
-    k02, k22, k12, k01, k21, k11, k00, k20, k10, \
-    k80, k70, k60, k50, k40, k30, \
-    k81, k71, k61, k51, k41, k31, \
-    k82, k72, k62, k52, k42, k32, \
-    k83, k73, k63, k53, k43, k33, \
-         k74, k64, k54, k34, \
-                             k36, k35, \
-                                  k55, \
-                        k56, k46, k75, \
-\
-    k03, k23, k13, k04, k24, k14, k05, k85, k84, \
-                   k94, kA4, kB4, kD4, kE4, kF4, \
-                   k95, kA5, kB5, kD5, kE5, kF5, \
-                   k96, kA6, kB6, kD6, kE6, kF6, \
-                   k97, kA7, kB7, kD7, kE7, kF7, \
-                        k93, kB3, kD3, kE3, \
-              k47, k66, \
-              k67, \
-              k87, k76, k86 \
-) { \
-    { k00, k01, k02, k03, k04, k05, ___, ___ }, \
-    { k10, k11, k12, k13, k14, ___, ___, ___ }, \
-    { k20, k21, k22, k23, k24, ___, ___, ___ }, \
-    { k30, k31, k32, k33, k34, k35, k36, ___ }, \
-    { k40, k41, k42, k43, ___, ___, k46, k47 }, \
-    { k50, k51, k52, k53, k54, k55, k56, ___ }, \
-    { k60, k61, k62, k63, k64, ___, k66, k67 }, \
-    { k70, k71, k72, k73, k74, k75, k76, ___ }, \
-    { k80, k81, k82, k83, k84, k85, k86, k87 }, \
-    { ___, ___, ___, k93, k94, k95, k96, k97 }, \
-    { ___, ___, ___, ___, kA4, kA5, kA6, kA7 }, \
-    { ___, ___, ___, kB3, kB4, kB5, kB6, kB7 }, \
-    { ___, ___, ___, ___, ___, ___, ___, ___ }, \
-    { ___, ___, ___, kD3, kD4, kD5, kD6, kD7 }, \
-    { ___, ___, ___, kE3, kE4, kE5, kE6, kE7 }, \
-    { ___, ___, ___, ___, kF4, kF5, kF6, kF7 } \
-}
-
-#define LAYOUT_pretty( \
-    k02, k22, k12, k01, k21, k11, k00, k20, k10,   k03, k23, k13, k04, k24, k14, k05, k85, k84, \
-    k80, k70, k60, k50, k40, k30,                                 k94, kA4, kB4, kD4, kE4, kF4, \
-    k81, k71, k61, k51, k41, k31,                                 k95, kA5, kB5, kD5, kE5, kF5, \
-    k82, k72, k62, k52, k42, k32,                                 k96, kA6, kB6, kD6, kE6, kF6, \
-    k83, k73, k63, k53, k43, k33,                                 k97, kA7, kB7, kD7, kE7, kF7, \
-         k74, k64, k54, k34,                                           k93, kB3, kD3, kE3, \
-                             k36, k35,                       k47, k66, \
-                                  k55,                       k67, \
-                        k56, k46, k75,                       k87, k76, k86 \
-) { \
-    { k00, k01, k02, k03, k04, k05, ___, ___ }, \
-    { k10, k11, k12, k13, k14, ___, ___, ___ }, \
-    { k20, k21, k22, k23, k24, ___, ___, ___ }, \
-    { k30, k31, k32, k33, k34, k35, k36, ___ }, \
-    { k40, k41, k42, k43, ___, ___, k46, k47 }, \
-    { k50, k51, k52, k53, k54, k55, k56, ___ }, \
-    { k60, k61, k62, k63, k64, ___, k66, k67 }, \
-    { k70, k71, k72, k73, k74, k75, k76, ___ }, \
-    { k80, k81, k82, k83, k84, k85, k86, k87 }, \
-    { ___, ___, ___, k93, k94, k95, k96, k97 }, \
-    { ___, ___, ___, ___, kA4, kA5, kA6, kA7 }, \
-    { ___, ___, ___, kB3, kB4, kB5, kB6, kB7 }, \
-    { ___, ___, ___, ___, ___, ___, ___, ___ }, \
-    { ___, ___, ___, kD3, kD4, kD5, kD6, kD7 }, \
-    { ___, ___, ___, kE3, kE4, kE5, kE6, kE7 }, \
-    { ___, ___, ___, ___, kF4, kF5, kF6, kF7 } \
-}
-
-/*
-  Row pin configuration
-
-  PF0   A
-  PF1   B
-  PF2   C
-  PF3   G   0 = U4, 1 = U5
-
-
-  Matrix Map (US QWERTY keyboard layout shown)
-
-              | row 0  | row 1  | row 2  | row 3  | row 4  | row 5  | row 6  | row 7  | row 8  | row 9  | row A  | row B  | row C  | row D  | row E  | row F
-        ----------------------------------------------------------------------------------------------------------------------------------------------------
-  PB0   col0  | F6     | F8     | F7     | 5%     | 4$     | 3#     | 2@     | 1!     | =+     |        |        |        |        |        |        |
-  PB1   col1  | F3     | F5     | F4     | T      | R      | E      | W      | Q      | Tab    |        |        |        |        |        |        |
-  PB2   col2  | Esc    | F2     | F1     | G      | F      | D      | S      | A      | CapsLk |        |        |        |        |        |        |
-  PB3   col3  | F9     | F11    | F10    | B      | V      | C      | X      | Z      | LShift | Up     |        | Down   |        | [{     | ]}     |
-  PB4   col4  | F12    | ScrLk  | PrtSc  | Right  |        | Left   | Insert | `~     | 1!     | 6^     | 7&     | 8*     |        | 9(     | 0)     | -_
-  PB5   col5  | Pause  |        |        | LAlt   |        | Home   |        | End    | Fn     | Y      | U      | I      |        | O      | P      | \|
-  PB6   col6  |        |        |        | LCtrl  | Delete | Bksp   | RCtrl  | Enter  | Space  | H      | J      | K      |        | L      | ;:     | '"
-  PB7   col7  |        |        |        |        | RGUI   |        | PageUp |        | PageDn | N      | M      | ,<     |        | .>     | /?     | RShift
-*/

+ 183 - 1
keyboards/kinesis/alvicstep/info.json

@@ -7,5 +7,187 @@
         "device_version": "0.0.1"
     },
     "processor": "at90usb1286",
-    "bootloader": "halfkay"
+    "bootloader": "halfkay",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 2], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 2], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 2], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 0], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 0], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [7, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [6, 0], "x": 2.25, "y": 1},
+                {"matrix": [5, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [3, 0], "x": 5.25, "y": 1},
+                {"matrix": [8, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [7, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [6, 1], "x": 2.25, "y": 2},
+                {"matrix": [5, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [3, 1], "x": 5.25, "y": 2},
+                {"matrix": [8, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [7, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [6, 2], "x": 2.25, "y": 3},
+                {"matrix": [5, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 2], "x": 5.25, "y": 3},
+                {"matrix": [8, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [6, 3], "x": 2.25, "y": 4},
+                {"matrix": [5, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [3, 3], "x": 5.25, "y": 4},
+                {"matrix": [7, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [6, 4], "x": 2.25, "y": 5},
+                {"matrix": [5, 4], "x": 3.25, "y": 5},
+                {"matrix": [3, 4], "x": 4.25, "y": 5},
+                {"matrix": [3, 6], "x": 5.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 7},
+                {"matrix": [5, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [7, 5], "x": 6.25, "y": 8},
+                {"matrix": [0, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 4], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [9, 4], "x": 9.25, "y": 1},
+                {"matrix": [10, 4], "x": 10.25, "y": 1},
+                {"matrix": [11, 4], "x": 11.25, "y": 1},
+                {"matrix": [13, 4], "x": 12.25, "y": 1},
+                {"matrix": [14, 4], "x": 13.25, "y": 1.25},
+                {"matrix": [15, 4], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [9, 5], "x": 9.25, "y": 2},
+                {"matrix": [10, 5], "x": 10.25, "y": 2},
+                {"matrix": [11, 5], "x": 11.25, "y": 2},
+                {"matrix": [13, 5], "x": 12.25, "y": 2},
+                {"matrix": [14, 5], "x": 13.25, "y": 2.25},
+                {"matrix": [15, 5], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [9, 6], "x": 9.25, "y": 3},
+                {"matrix": [10, 6], "x": 10.25, "y": 3},
+                {"matrix": [11, 6], "x": 11.25, "y": 3},
+                {"matrix": [13, 6], "x": 12.25, "y": 3},
+                {"matrix": [14, 6], "x": 13.25, "y": 3.25},
+                {"matrix": [15, 6], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [9, 7], "x": 9.25, "y": 4},
+                {"matrix": [10, 7], "x": 10.25, "y": 4},
+                {"matrix": [11, 7], "x": 11.25, "y": 4},
+                {"matrix": [13, 7], "x": 12.25, "y": 4},
+                {"matrix": [14, 7], "x": 13.25, "y": 4.25},
+                {"matrix": [15, 7], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [9, 3], "x": 10.25, "y": 5},
+                {"matrix": [11, 3], "x": 11.25, "y": 5},
+                {"matrix": [13, 3], "x": 12.25, "y": 5},
+                {"matrix": [14, 3], "x": 13.25, "y": 5.25},
+                {"matrix": [4, 7], "x": 8.25, "y": 6},
+                {"matrix": [6, 6], "x": 9.25, "y": 6},
+                {"matrix": [6, 7], "x": 8.25, "y": 7},
+                {"matrix": [8, 7], "x": 8.25, "y": 8},
+                {"matrix": [7, 6], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [8, 6], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [0, 2], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 2], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 2], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 0], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 0], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 4], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [7, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [6, 0], "x": 2.25, "y": 1},
+                {"matrix": [5, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [3, 0], "x": 5.25, "y": 1},
+                {"matrix": [9, 4], "x": 9.25, "y": 1},
+                {"matrix": [10, 4], "x": 10.25, "y": 1},
+                {"matrix": [11, 4], "x": 11.25, "y": 1},
+                {"matrix": [13, 4], "x": 12.25, "y": 1},
+                {"matrix": [14, 4], "x": 13.25, "y": 1.25},
+                {"matrix": [15, 4], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [8, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [7, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [6, 1], "x": 2.25, "y": 2},
+                {"matrix": [5, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [3, 1], "x": 5.25, "y": 2},
+                {"matrix": [9, 5], "x": 9.25, "y": 2},
+                {"matrix": [10, 5], "x": 10.25, "y": 2},
+                {"matrix": [11, 5], "x": 11.25, "y": 2},
+                {"matrix": [13, 5], "x": 12.25, "y": 2},
+                {"matrix": [14, 5], "x": 13.25, "y": 2.25},
+                {"matrix": [15, 5], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [8, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [7, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [6, 2], "x": 2.25, "y": 3},
+                {"matrix": [5, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 2], "x": 5.25, "y": 3},
+                {"matrix": [9, 6], "x": 9.25, "y": 3},
+                {"matrix": [10, 6], "x": 10.25, "y": 3},
+                {"matrix": [11, 6], "x": 11.25, "y": 3},
+                {"matrix": [13, 6], "x": 12.25, "y": 3},
+                {"matrix": [14, 6], "x": 13.25, "y": 3.25},
+                {"matrix": [15, 6], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [8, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [6, 3], "x": 2.25, "y": 4},
+                {"matrix": [5, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [3, 3], "x": 5.25, "y": 4},
+                {"matrix": [9, 7], "x": 9.25, "y": 4},
+                {"matrix": [10, 7], "x": 10.25, "y": 4},
+                {"matrix": [11, 7], "x": 11.25, "y": 4},
+                {"matrix": [13, 7], "x": 12.25, "y": 4},
+                {"matrix": [14, 7], "x": 13.25, "y": 4.25},
+                {"matrix": [15, 7], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [6, 4], "x": 2.25, "y": 5},
+                {"matrix": [5, 4], "x": 3.25, "y": 5},
+                {"matrix": [3, 4], "x": 4.25, "y": 5},
+                {"matrix": [9, 3], "x": 10.25, "y": 5},
+                {"matrix": [11, 3], "x": 11.25, "y": 5},
+                {"matrix": [13, 3], "x": 12.25, "y": 5},
+                {"matrix": [14, 3], "x": 13.25, "y": 5.25},
+                {"matrix": [3, 6], "x": 5.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 6},
+                {"matrix": [4, 7], "x": 8.25, "y": 6},
+                {"matrix": [6, 6], "x": 9.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 7},
+                {"matrix": [6, 7], "x": 8.25, "y": 7},
+                {"matrix": [5, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [7, 5], "x": 6.25, "y": 8},
+                {"matrix": [8, 7], "x": 8.25, "y": 8},
+                {"matrix": [7, 6], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [8, 6], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

File diff suppressed because it is too large
+ 0 - 3
keyboards/kinesis/info.json


+ 183 - 1
keyboards/kinesis/kint2pp/info.json

@@ -20,5 +20,187 @@
     },
     "processor": "at90usb1286",
     "bootloader": "halfkay",
-    "debounce": 20
+    "debounce": 20,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 0 - 99
keyboards/kinesis/kint2pp/kint2pp.h

@@ -1,99 +0,0 @@
-#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 as on the physical keyboard
-// The second converts the arguments into the 2-D scanned array
-
-#define LAYOUT(                                   \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,  \
-    k00, k10, k20, k30, k40, k50,                 \
-    k01, k11, k21, k31, k41, k51,                 \
-    k02, k12, k22, k32, k42, k52,                 \
-    k03, k13, k23, k33, k43, k53,                 \
-         k14, k24, k34, k54,                      \
-                             k56, k55,            \
-                                  k35,            \
-                        k36, k46, k25,            \
-                                                  \
-    kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-                   k60, k70, k80, k90, kA0, kB0,  \
-                   k61, k71, k81, k91, kA1, kB1,  \
-                   k62, k72, k82, k92, kA2, kB2,  \
-                   k63, k73, k83, k93, kA3, kB3,  \
-                        k64, k84, k94, kA4,       \
-              k96, k85,                           \
-              k86,                                \
-              k66, k75, k65                       \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ } \
-}
-
-/*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
-#define LAYOUT_pretty(                                                                           \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-    k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0,       \
-    k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1,       \
-    k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2,       \
-    k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3,       \
-         k14, k24, k34, k54,                                      k64, k84, k94, kA4,            \
-                             k56, k55,                  k96, k85,                                \
-                                  k35,                  k86,                                     \
-                        k36, k46, k25,                  k66, k75, k65                            \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }  \
-}
-
-/*
-This is the Stapelberg matrix as published at
-https://github.com/stapelberg/kinesis-firmware/blob/master/kb_kinesis/config.kspec
-Along with the pins for each row and column
-             PB0 PB1 PB2 PB3 PB4 PB5 PB6
-             kx0 kx1 kx2 kx3 kx4 kx5 kx6
-PD0 k0x Row: EQL TAB CAP LSH X2  --  --
-PD1 k1x Row: 1   Q   A   Z   BQ  --  --
-PD2 k2x Row: 2   W   S   X   INS END --
-PD3 k3x Row: 3   E   D   C   LFT HOM BAK
-PD4 k4x Row: 4   R   F   V   --  --  DEL
-PD5 k5x Row: 5   T   G   B   RT  LAL LCT
-PD6 k6x Row: 6   Y   H   N   UP  SPC PGD
-PD7 k7x Row: 7   U   J   M   --  RET --
-PC0 k8x Row: 8   I   K   COM DWN RCT PGU
-PC1 k9x Row: 9   O   L   PER LBR --  RAL
-PC2 kAx Row: 0   P   SEM SLA RBR --  --
-PC3 kBx Row: MIN BSL APO RSH X1  --  --
-PC4 kCx Row: ESC F3  F6  F9  F12 PAU --
-PC5 kDx Row: F1  F4  F7  F10 PRT PRG --
-PC6 kEx Row: F2  F5  F8  F11 SLK KEY --
-*/

+ 183 - 1
keyboards/kinesis/kint36/info.json

@@ -20,5 +20,187 @@
     },
     "processor": "MK66FX1M0",
     "bootloader": "halfkay",
-    "debounce": 20
+    "debounce": 20,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 1 - 1
keyboards/kinesis/kint36/kint36.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "kint36.h"
+#include "quantum.h"
 
 #define LED_POWER C5
 

+ 0 - 92
keyboards/kinesis/kint36/kint36.h

@@ -1,92 +0,0 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments as on the physical keyboard
-// The second converts the arguments into the 2-D scanned array
-
-#define LAYOUT(                                   \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,  \
-    k00, k10, k20, k30, k40, k50,                 \
-    k01, k11, k21, k31, k41, k51,                 \
-    k02, k12, k22, k32, k42, k52,                 \
-    k03, k13, k23, k33, k43, k53,                 \
-         k14, k24, k34, k54,                      \
-                             k56, k55,            \
-                                  k35,            \
-                        k36, k46, k25,            \
-                                                  \
-    kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-                   k60, k70, k80, k90, kA0, kB0,  \
-                   k61, k71, k81, k91, kA1, kB1,  \
-                   k62, k72, k82, k92, kA2, kB2,  \
-                   k63, k73, k83, k93, kA3, kB3,  \
-                        k64, k84, k94, kA4,       \
-              k96, k85,                           \
-              k86,                                \
-              k66, k75, k65                       \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }, \
-}
-
-/*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
-#define LAYOUT_pretty(                                                                           \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-    k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0,       \
-    k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1,       \
-    k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2,       \
-    k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3,       \
-         k14, k24, k34, k54,                                      k64, k84, k94, kA4,            \
-                             k56, k55,                  k96, k85,                                \
-                                  k35,                  k86,                                     \
-                        k36, k46, k25,                  k66, k75, k65                            \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }  \
-}

+ 183 - 1
keyboards/kinesis/kint41/info.json

@@ -18,5 +18,187 @@
         "compose": "LINE_PIN24",
         "on_state": 0
     },
-    "debounce": 20
+    "debounce": 20,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 1 - 1
keyboards/kinesis/kint41/kint41.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "kint41.h"
+#include "quantum.h"
 
 #define LED_POWER LINE_PIN13
 

+ 0 - 92
keyboards/kinesis/kint41/kint41.h

@@ -1,92 +0,0 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments as on the physical keyboard
-// The second converts the arguments into the 2-D scanned array
-
-#define LAYOUT(                                   \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,  \
-    k00, k10, k20, k30, k40, k50,                 \
-    k01, k11, k21, k31, k41, k51,                 \
-    k02, k12, k22, k32, k42, k52,                 \
-    k03, k13, k23, k33, k43, k53,                 \
-         k14, k24, k34, k54,                      \
-                             k56, k55,            \
-                                  k35,            \
-                        k36, k46, k25,            \
-                                                  \
-    kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-                   k60, k70, k80, k90, kA0, kB0,  \
-                   k61, k71, k81, k91, kA1, kB1,  \
-                   k62, k72, k82, k92, kA2, kB2,  \
-                   k63, k73, k83, k93, kA3, kB3,  \
-                        k64, k84, k94, kA4,       \
-              k96, k85,                           \
-              k86,                                \
-              k66, k75, k65                       \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }, \
-}
-
-/*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
-#define LAYOUT_pretty(                                                                           \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-    k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0,       \
-    k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1,       \
-    k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2,       \
-    k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3,       \
-         k14, k24, k34, k54,                                      k64, k84, k94, kA4,            \
-                             k56, k55,                  k96, k85,                                \
-                                  k35,                  k86,                                     \
-                        k36, k46, k25,                  k66, k75, k65                            \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }  \
-}

+ 183 - 1
keyboards/kinesis/kintlc/info.json

@@ -19,5 +19,187 @@
     },
     "processor": "MKL26Z64",
     "bootloader": "halfkay",
-    "debounce": 20
+    "debounce": 20,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 1 - 1
keyboards/kinesis/kintlc/kintlc.c

@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "kintlc.h"
+#include "quantum.h"
 
 #define LED_POWER LINE_PIN13
 

+ 0 - 92
keyboards/kinesis/kintlc/kintlc.h

@@ -1,92 +0,0 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments as on the physical keyboard
-// The second converts the arguments into the 2-D scanned array
-
-#define LAYOUT(                                   \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,  \
-    k00, k10, k20, k30, k40, k50,                 \
-    k01, k11, k21, k31, k41, k51,                 \
-    k02, k12, k22, k32, k42, k52,                 \
-    k03, k13, k23, k33, k43, k53,                 \
-         k14, k24, k34, k54,                      \
-                             k56, k55,            \
-                                  k35,            \
-                        k36, k46, k25,            \
-                                                  \
-    kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-                   k60, k70, k80, k90, kA0, kB0,  \
-                   k61, k71, k81, k91, kA1, kB1,  \
-                   k62, k72, k82, k92, kA2, kB2,  \
-                   k63, k73, k83, k93, kA3, kB3,  \
-                        k64, k84, k94, kA4,       \
-              k96, k85,                           \
-              k86,                                \
-              k66, k75, k65                       \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }, \
-}
-
-/*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
-#define LAYOUT_pretty(                                                                           \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
-    k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0,       \
-    k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1,       \
-    k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2,       \
-    k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3,       \
-         k14, k24, k34, k54,                                      k64, k84, k94, kA4,            \
-                             k56, k55,                  k96, k85,                                \
-                                  k35,                  k86,                                     \
-                        k36, k46, k25,                  k66, k75, k65                            \
-) {                                              \
-    { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
-    { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
-    { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
-    { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
-    { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
-    { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
-    { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
-    { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
-    { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
-    { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }  \
-}

+ 183 - 1
keyboards/kinesis/nguyenvietyen/info.json

@@ -14,5 +14,187 @@
         "on_state": 0
     },
     "processor": "atmega32u4",
-    "bootloader": "caterina"
+    "bootloader": "caterina",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 2], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 2], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 2], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 0], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 0], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [7, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [6, 0], "x": 2.25, "y": 1},
+                {"matrix": [5, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [3, 0], "x": 5.25, "y": 1},
+                {"matrix": [8, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [7, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [6, 1], "x": 2.25, "y": 2},
+                {"matrix": [5, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [3, 1], "x": 5.25, "y": 2},
+                {"matrix": [8, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [7, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [6, 2], "x": 2.25, "y": 3},
+                {"matrix": [5, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 2], "x": 5.25, "y": 3},
+                {"matrix": [8, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [6, 3], "x": 2.25, "y": 4},
+                {"matrix": [5, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [3, 3], "x": 5.25, "y": 4},
+                {"matrix": [7, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [6, 4], "x": 2.25, "y": 5},
+                {"matrix": [5, 4], "x": 3.25, "y": 5},
+                {"matrix": [3, 4], "x": 4.25, "y": 5},
+                {"matrix": [3, 6], "x": 5.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 7},
+                {"matrix": [5, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [7, 5], "x": 6.25, "y": 8},
+                {"matrix": [0, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 0], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [9, 4], "x": 9.25, "y": 1},
+                {"matrix": [10, 4], "x": 10.25, "y": 1},
+                {"matrix": [11, 4], "x": 11.25, "y": 1},
+                {"matrix": [13, 4], "x": 12.25, "y": 1},
+                {"matrix": [14, 4], "x": 13.25, "y": 1.25},
+                {"matrix": [15, 4], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [9, 5], "x": 9.25, "y": 2},
+                {"matrix": [10, 5], "x": 10.25, "y": 2},
+                {"matrix": [11, 5], "x": 11.25, "y": 2},
+                {"matrix": [13, 5], "x": 12.25, "y": 2},
+                {"matrix": [14, 5], "x": 13.25, "y": 2.25},
+                {"matrix": [15, 5], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [9, 6], "x": 9.25, "y": 3},
+                {"matrix": [10, 6], "x": 10.25, "y": 3},
+                {"matrix": [11, 6], "x": 11.25, "y": 3},
+                {"matrix": [13, 6], "x": 12.25, "y": 3},
+                {"matrix": [14, 6], "x": 13.25, "y": 3.25},
+                {"matrix": [15, 6], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [9, 7], "x": 9.25, "y": 4},
+                {"matrix": [10, 7], "x": 10.25, "y": 4},
+                {"matrix": [11, 7], "x": 11.25, "y": 4},
+                {"matrix": [13, 7], "x": 12.25, "y": 4},
+                {"matrix": [14, 7], "x": 13.25, "y": 4.25},
+                {"matrix": [15, 7], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [9, 3], "x": 10.25, "y": 5},
+                {"matrix": [11, 3], "x": 11.25, "y": 5},
+                {"matrix": [13, 3], "x": 12.25, "y": 5},
+                {"matrix": [14, 3], "x": 13.25, "y": 5.25},
+                {"matrix": [4, 7], "x": 8.25, "y": 6},
+                {"matrix": [6, 6], "x": 9.25, "y": 6},
+                {"matrix": [6, 7], "x": 8.25, "y": 7},
+                {"matrix": [8, 7], "x": 8.25, "y": 8},
+                {"matrix": [7, 6], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [8, 6], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [0, 2], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 2], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 2], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 0], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 0], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [2, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [1, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 0], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [8, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [7, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [6, 0], "x": 2.25, "y": 1},
+                {"matrix": [5, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [3, 0], "x": 5.25, "y": 1},
+                {"matrix": [9, 4], "x": 9.25, "y": 1},
+                {"matrix": [10, 4], "x": 10.25, "y": 1},
+                {"matrix": [11, 4], "x": 11.25, "y": 1},
+                {"matrix": [13, 4], "x": 12.25, "y": 1},
+                {"matrix": [14, 4], "x": 13.25, "y": 1.25},
+                {"matrix": [15, 4], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [8, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [7, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [6, 1], "x": 2.25, "y": 2},
+                {"matrix": [5, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [3, 1], "x": 5.25, "y": 2},
+                {"matrix": [9, 5], "x": 9.25, "y": 2},
+                {"matrix": [10, 5], "x": 10.25, "y": 2},
+                {"matrix": [11, 5], "x": 11.25, "y": 2},
+                {"matrix": [13, 5], "x": 12.25, "y": 2},
+                {"matrix": [14, 5], "x": 13.25, "y": 2.25},
+                {"matrix": [15, 5], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [8, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [7, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [6, 2], "x": 2.25, "y": 3},
+                {"matrix": [5, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [3, 2], "x": 5.25, "y": 3},
+                {"matrix": [9, 6], "x": 9.25, "y": 3},
+                {"matrix": [10, 6], "x": 10.25, "y": 3},
+                {"matrix": [11, 6], "x": 11.25, "y": 3},
+                {"matrix": [13, 6], "x": 12.25, "y": 3},
+                {"matrix": [14, 6], "x": 13.25, "y": 3.25},
+                {"matrix": [15, 6], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [8, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [6, 3], "x": 2.25, "y": 4},
+                {"matrix": [5, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [3, 3], "x": 5.25, "y": 4},
+                {"matrix": [9, 7], "x": 9.25, "y": 4},
+                {"matrix": [10, 7], "x": 10.25, "y": 4},
+                {"matrix": [11, 7], "x": 11.25, "y": 4},
+                {"matrix": [13, 7], "x": 12.25, "y": 4},
+                {"matrix": [14, 7], "x": 13.25, "y": 4.25},
+                {"matrix": [15, 7], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [7, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [6, 4], "x": 2.25, "y": 5},
+                {"matrix": [5, 4], "x": 3.25, "y": 5},
+                {"matrix": [3, 4], "x": 4.25, "y": 5},
+                {"matrix": [9, 3], "x": 10.25, "y": 5},
+                {"matrix": [11, 3], "x": 11.25, "y": 5},
+                {"matrix": [13, 3], "x": 12.25, "y": 5},
+                {"matrix": [14, 3], "x": 13.25, "y": 5.25},
+                {"matrix": [3, 6], "x": 5.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 6},
+                {"matrix": [4, 7], "x": 8.25, "y": 6},
+                {"matrix": [6, 6], "x": 9.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 7},
+                {"matrix": [6, 7], "x": 8.25, "y": 7},
+                {"matrix": [5, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [7, 5], "x": 6.25, "y": 8},
+                {"matrix": [8, 7], "x": 8.25, "y": 8},
+                {"matrix": [7, 6], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [8, 6], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 0 - 74
keyboards/kinesis/nguyenvietyen/nguyenvietyen.h

@@ -1,74 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-#define LAYOUT(                                    \
-    k02, k22, k12, k01, k21, k11, k00, k20, k10,   \
-    k80, k70, k60, k50, k40, k30,                  \
-    k81, k71, k61, k51, k41, k31,                  \
-    k82, k72, k62, k52, k42, k32,                  \
-    k83, k73, k63, k53, k43, k33,                  \
-         k74, k64, k54, k34,                       \
-                             k36, k35,             \
-                                  k55,             \
-                        k56, k46, k75,             \
-                                                   \
-    k03, k23, k13, k04, k24, k14, k05, kC0, kC1,   \
-                   k94, kA4, kB4, kD4, kE4, kF4,   \
-                   k95, kA5, kB5, kD5, kE5, kF5,   \
-                   k96, kA6, kB6, kD6, kE6, kF6,   \
-                   k97, kA7, kB7, kD7, kE7, kF7,   \
-                        k93, kB3, kD3, kE3,        \
-              k47, k66,                            \
-              k67,                                 \
-              k87, k76, k86                        \
-) {                                                \
-    { k00,  k01,  k02,  k03,  k04,  k05,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  ___,  ___,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36,  ___ }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46,  k47 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56,  ___ }, \
-    { k60,  k61,  k62,  k63,  k64,  ___,  k66,  k67 }, \
-    { k70,  k71,  k72,  k73,  k74,  k75,  k76,  ___ }, \
-    { k80,  k81,  k82,  k83,  ___,  ___,  k86,  k87 }, \
-    { ___,  ___,  ___,  k93,  k94,  k95,  k96,  k97 }, \
-    { ___,  ___,  ___,  ___,  kA4,  kA5,  kA6,  kA7 }, \
-    { ___,  ___,  ___,  kB3,  kB4,  kB5,  kB6,  kB7 }, \
-    { kC0,  kC1,  ___,  ___,  ___,  ___,  ___,  ___ }, \
-    { ___,  ___,  ___,  kD3,  kD4,  kD5,  kD6,  kD7 }, \
-    { ___,  ___,  ___,  kE3,  kE4,  kE5,  kE6,  kE7 }, \
-    { ___,  ___,  ___,  ___,  kF4,  kF5,  kF6,  kF7 }  \
-}
-
-/*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
-#define LAYOUT_pretty(                                                                           \
-    k02, k22, k12, k01, k21, k11, k00, k20, k10,   k03, k23, k13, k04, k24, k14, k05, kC0, kC1,  \
-    k80, k70, k60, k50, k40, k30,                                 k94, kA4, kB4, kD4, kE4, kF4,  \
-    k81, k71, k61, k51, k41, k31,                                 k95, kA5, kB5, kD5, kE5, kF5,  \
-    k82, k72, k62, k52, k42, k32,                                 k96, kA6, kB6, kD6, kE6, kF6,  \
-    k83, k73, k63, k53, k43, k33,                                 k97, kA7, kB7, kD7, kE7, kF7,  \
-         k74, k64, k54, k34,                                           k93, kB3, kD3, kE3,       \
-                             k36, k35,                       k47, k66,                           \
-                                  k55,                       k67,                                \
-                        k56, k46, k75,                       k87, k76, k86                       \
-) {                                                    \
-    { k00,  k01,  k02,  k03,  k04,  k05,  ___,  ___ }, \
-    { k10,  k11,  k12,  k13,  k14,  ___,  ___,  ___ }, \
-    { k20,  k21,  k22,  k23,  k24,  ___,  ___,  ___ }, \
-    { k30,  k31,  k32,  k33,  k34,  k35,  k36,  ___ }, \
-    { k40,  k41,  k42,  k43,  ___,  ___,  k46,  k47 }, \
-    { k50,  k51,  k52,  k53,  k54,  k55,  k56,  ___ }, \
-    { k60,  k61,  k62,  k63,  k64,  ___,  k66,  k67 }, \
-    { k70,  k71,  k72,  k73,  k74,  k75,  k76,  ___ }, \
-    { k80,  k81,  k82,  k83,  ___,  ___,  k86,  k87 }, \
-    { ___,  ___,  ___,  k93,  k94,  k95,  k96,  k97 }, \
-    { ___,  ___,  ___,  ___,  kA4,  kA5,  kA6,  kA7 }, \
-    { ___,  ___,  ___,  kB3,  kB4,  kB5,  kB6,  kB7 }, \
-    { kC0,  kC1,  ___,  ___,  ___,  ___,  ___,  ___ }, \
-    { ___,  ___,  ___,  kD3,  kD4,  kD5,  kD6,  kD7 }, \
-    { ___,  ___,  ___,  kE3,  kE4,  kE5,  kE6,  kE7 }, \
-    { ___,  ___,  ___,  ___,  kF4,  kF5,  kF6,  kF7 }  \
-}

+ 183 - 1
keyboards/kinesis/stapelberg/info.json

@@ -19,5 +19,187 @@
         "on_state": 0
     },
     "processor": "at90usb1286",
-    "bootloader": "halfkay"
+    "bootloader": "halfkay",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        },
+        "LAYOUT_pretty": {
+            "layout": [
+                {"matrix": [12, 0], "x": 0, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 0], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 0], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 1], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 1], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 1], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 2], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 2], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 2], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 3], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 3], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 3], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 4], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 4], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 4], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [12, 5], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [14, 5], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [13, 5], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85},
+                {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25},
+                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
+                {"matrix": [2, 0], "x": 2.25, "y": 1},
+                {"matrix": [3, 0], "x": 3.25, "y": 1},
+                {"matrix": [4, 0], "x": 4.25, "y": 1},
+                {"matrix": [5, 0], "x": 5.25, "y": 1},
+                {"matrix": [6, 0], "x": 9.25, "y": 1},
+                {"matrix": [7, 0], "x": 10.25, "y": 1},
+                {"matrix": [8, 0], "x": 11.25, "y": 1},
+                {"matrix": [9, 0], "x": 12.25, "y": 1},
+                {"matrix": [10, 0], "x": 13.25, "y": 1.25},
+                {"matrix": [11, 0], "x": 14.25, "y": 1.25, "w": 1.25},
+                {"matrix": [0, 1], "x": 0, "y": 2.25, "w": 1.25},
+                {"matrix": [1, 1], "x": 1.25, "y": 2.25},
+                {"matrix": [2, 1], "x": 2.25, "y": 2},
+                {"matrix": [3, 1], "x": 3.25, "y": 2},
+                {"matrix": [4, 1], "x": 4.25, "y": 2},
+                {"matrix": [5, 1], "x": 5.25, "y": 2},
+                {"matrix": [6, 1], "x": 9.25, "y": 2},
+                {"matrix": [7, 1], "x": 10.25, "y": 2},
+                {"matrix": [8, 1], "x": 11.25, "y": 2},
+                {"matrix": [9, 1], "x": 12.25, "y": 2},
+                {"matrix": [10, 1], "x": 13.25, "y": 2.25},
+                {"matrix": [11, 1], "x": 14.25, "y": 2.25, "w": 1.25},
+                {"matrix": [0, 2], "x": 0, "y": 3.25, "w": 1.25},
+                {"matrix": [1, 2], "x": 1.25, "y": 3.25},
+                {"matrix": [2, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [4, 2], "x": 4.25, "y": 3},
+                {"matrix": [5, 2], "x": 5.25, "y": 3},
+                {"matrix": [6, 2], "x": 9.25, "y": 3},
+                {"matrix": [7, 2], "x": 10.25, "y": 3},
+                {"matrix": [8, 2], "x": 11.25, "y": 3},
+                {"matrix": [9, 2], "x": 12.25, "y": 3},
+                {"matrix": [10, 2], "x": 13.25, "y": 3.25},
+                {"matrix": [11, 2], "x": 14.25, "y": 3.25, "w": 1.25},
+                {"matrix": [0, 3], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 3], "x": 1.25, "y": 4.25},
+                {"matrix": [2, 3], "x": 2.25, "y": 4},
+                {"matrix": [3, 3], "x": 3.25, "y": 4},
+                {"matrix": [4, 3], "x": 4.25, "y": 4},
+                {"matrix": [5, 3], "x": 5.25, "y": 4},
+                {"matrix": [6, 3], "x": 9.25, "y": 4},
+                {"matrix": [7, 3], "x": 10.25, "y": 4},
+                {"matrix": [8, 3], "x": 11.25, "y": 4},
+                {"matrix": [9, 3], "x": 12.25, "y": 4},
+                {"matrix": [10, 3], "x": 13.25, "y": 4.25},
+                {"matrix": [11, 3], "x": 14.25, "y": 4.25, "w": 1.25},
+                {"matrix": [1, 4], "x": 1.25, "y": 5.25},
+                {"matrix": [2, 4], "x": 2.25, "y": 5},
+                {"matrix": [3, 4], "x": 3.25, "y": 5},
+                {"matrix": [5, 4], "x": 4.25, "y": 5},
+                {"matrix": [6, 4], "x": 10.25, "y": 5},
+                {"matrix": [8, 4], "x": 11.25, "y": 5},
+                {"matrix": [9, 4], "x": 12.25, "y": 5},
+                {"matrix": [10, 4], "x": 13.25, "y": 5.25},
+                {"matrix": [5, 6], "x": 5.25, "y": 6},
+                {"matrix": [5, 5], "x": 6.25, "y": 6},
+                {"matrix": [9, 6], "x": 8.25, "y": 6},
+                {"matrix": [8, 5], "x": 9.25, "y": 6},
+                {"matrix": [3, 5], "x": 6.25, "y": 7},
+                {"matrix": [8, 6], "x": 8.25, "y": 7},
+                {"matrix": [3, 6], "x": 4.25, "y": 7, "h": 2},
+                {"matrix": [4, 6], "x": 5.25, "y": 7, "h": 2},
+                {"matrix": [2, 5], "x": 6.25, "y": 8},
+                {"matrix": [6, 6], "x": 8.25, "y": 8},
+                {"matrix": [7, 5], "x": 9.25, "y": 7, "h": 2},
+                {"matrix": [6, 5], "x": 10.25, "y": 7, "h": 2}
+            ]
+        }
+    }
 }

+ 0 - 98
keyboards/kinesis/stapelberg/stapelberg.h

@@ -1,98 +0,0 @@
-#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 as on the physical keyboard
-// The second converts the arguments into the 2-D scanned array
-
-#define LAYOUT( \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
-    k00, k10, k20, k30, k40, k50, \
-    k01, k11, k21, k31, k41, k51, \
-    k02, k12, k22, k32, k42, k52, \
-    k03, k13, k23, k33, k43, k53, \
-         k14, k24, k34, k54, \
-                             k56, k55, \
-                                  k35, \
-                        k36, k46, k25, \
-\
-    kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
-                   k60, k70, k80, k90, kA0, kB0, \
-                   k61, k71, k81, k91, kA1, kB1, \
-                   k62, k72, k82, k92, kA2, kB2, \
-                   k63, k73, k83, k93, kA3, kB3, \
-                        k64, k84, k94, kA4, \
-              k96, k85, \
-              k86, \
-              k66, k75, k65 \
-) { \
-    { k00, k01, k02, k03, ___, ___, ___ }, \
-    { k10, k11, k12, k13, k14, ___, ___ }, \
-    { k20, k21, k22, k23, k24, k25, ___ }, \
-    { k30, k31, k32, k33, k34, k35, k36 }, \
-    { k40, k41, k42, k43, ___, ___, k46 }, \
-    { k50, k51, k52, k53, k54, k55, k56 }, \
-    { k60, k61, k62, k63, k64, k65, k66 }, \
-    { k70, k71, k72, k73, ___, k75, ___ }, \
-    { k80, k81, k82, k83, k84, k85, k86 }, \
-    { k90, k91, k92, k93, k94, ___, k96 }, \
-    { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
-    { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
-    { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
-    { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
-    { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
-}
-
-#define LAYOUT_pretty( \
-    kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
-    k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0, \
-    k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1, \
-    k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2, \
-    k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3, \
-         k14, k24, k34, k54,                                      k64, k84, k94, kA4, \
-                             k56, k55,                  k96, k85, \
-                                  k35,                  k86, \
-                        k36, k46, k25,                  k66, k75, k65 \
-) { \
-    { k00, k01, k02, k03, ___, ___, ___ }, \
-    { k10, k11, k12, k13, k14, ___, ___ }, \
-    { k20, k21, k22, k23, k24, k25, ___ }, \
-    { k30, k31, k32, k33, k34, k35, k36 }, \
-    { k40, k41, k42, k43, ___, ___, k46 }, \
-    { k50, k51, k52, k53, k54, k55, k56 }, \
-    { k60, k61, k62, k63, k64, k65, k66 }, \
-    { k70, k71, k72, k73, ___, k75, ___ }, \
-    { k80, k81, k82, k83, k84, k85, k86 }, \
-    { k90, k91, k92, k93, k94, ___, k96 }, \
-    { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
-    { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
-    { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
-    { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
-    { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
-}
-
-/*
-This is the Stapelberg matrix as published at
-https://github.com/stapelberg/kinesis-firmware/blob/master/kb_kinesis/config.kspec
-Along with the pins for each row and column
-             PB0 PB1 PB2 PB3 PB4 PB5 PB6
-             kx0 kx1 kx2 kx3 kx4 kx5 kx6
-PD0 k0x Row: EQL TAB CAP LSH X2  --  --
-PD1 k1x Row: 1   Q   A   Z   BQ  --  --
-PD2 k2x Row: 2   W   S   X   INS END --
-PD3 k3x Row: 3   E   D   C   LFT HOM BAK
-PD4 k4x Row: 4   R   F   V   --  --  DEL
-PD5 k5x Row: 5   T   G   B   RT  LAL LCT
-PD6 k6x Row: 6   Y   H   N   UP  SPC PGD
-PD7 k7x Row: 7   U   J   M   --  RET --
-PC0 k8x Row: 8   I   K   COM DWN RCT PGU
-PC1 k9x Row: 9   O   L   PER LBR --  RAL
-PC2 kAx Row: 0   P   SEM SLA RBR --  --
-PC3 kBx Row: MIN BSL APO RSH X1  --  --
-PC4 kCx Row: ESC F3  F6  F9  F12 PAU --
-PC5 kDx Row: F1  F4  F7  F10 PRT PRG --
-PC6 kEx Row: F2  F5  F8  F11 SLK KEY --
-*/

+ 0 - 51
keyboards/ktec/daisy/daisy.h

@@ -1,51 +0,0 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K3A, \
-    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,      K34,           K35,      K37, K38, K39 \
-) { \
-    { 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, KC_NO, K34, K35, KC_NO, K37, K38, K39, K3A }  \
-}
-
-#define LAYOUT_625_space( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K3A, \
-    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,                K35,                K38, K39 \
-) { \
-    { 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, KC_NO, KC_NO, K35, KC_NO, KC_NO, K38, K39, K3A } \
-}

+ 82 - 82
keyboards/ktec/daisy/info.json

@@ -29,98 +29,98 @@
     "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},
+                {"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},
 
-                {"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},
+                {"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},
 
-                {"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},
+                {"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},
 
-                {"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.25},
-                {"x": 5.75, "y": 3, "w": 2.75},
-                {"x": 8.5, "y": 3, "w": 1.25},
-                {"x": 9.75, "y": 3},
-                {"x": 10.75, "y": 3, "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, 4], "x": 3.5, "y": 3, "w": 2.25},
+                {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75},
+                {"matrix": [3, 7], "x": 8.5, "y": 3, "w": 1.25},
+                {"matrix": [3, 8], "x": 9.75, "y": 3},
+                {"matrix": [3, 9], "x": 10.75, "y": 3, "w": 1.25}
             ]
         },
         "LAYOUT_625_space": {
             "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},
+                {"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},
 
-                {"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},
+                {"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},
 
-                {"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},
+                {"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},
 
-                {"x": 0, "y": 3, "w": 1.25},
-                {"x": 1.25, "y": 3},
-                {"x": 2.25, "y": 3},
-                {"x": 3.25, "y": 3, "w": 6.25},
-                {"x": 9.5, "y": 3, "w": 1.25},
-                {"x": 10.75, "y": 3, "w": 1.25}
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+                {"matrix": [3, 1], "x": 1.25, "y": 3},
+                {"matrix": [3, 2], "x": 2.25, "y": 3},
+                {"matrix": [3, 5], "x": 3.25, "y": 3, "w": 6.25},
+                {"matrix": [3, 8], "x": 9.5, "y": 3, "w": 1.25},
+                {"matrix": [3, 9], "x": 10.75, "y": 3, "w": 1.25}
             ]
         }
     }

+ 0 - 47
keyboards/lazydesigners/dimpleplus/dimpleplus.h

@@ -1,47 +0,0 @@
-/*
-Copyright 2020 LAZYDESIGNERS
-
-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,  \
-      K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  \
-      K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  \
-      K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,         \
-      K400,         K402,  K403,  K404,         K406,         K407,  K408,  K409          \
-) { \
-    { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011  },  \
-    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111  },  \
-    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211  },  \
-    { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  KC_NO },  \
-    { K400,  KC_NO, K402,  K403,  K404,  KC_NO, K406,  K407,  K408,  K409,  KC_NO, KC_NO }   \
-}
-
-#define LAYOUT_7u( \
-      K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,         \
-      K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  \
-      K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,         K211,  \
-      K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,         \
-      K400,         K402,         K404,                       K408,  K409                 \
-) { \
-    { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010           },  \
-    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,   K111   },  \
-    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  KC_NO,  K211   },  \
-    { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310           },  \
-    { K400,  KC_NO, K402,  KC_NO, K404,  KC_NO, KC_NO, KC_NO, K408,  K409,  KC_NO,  KC_NO  }   \
-}

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