summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-03-15 01:06:55 -0700
committerGitHub <noreply@github.com>2021-03-15 01:06:55 -0700
commit2e50b34c67ec602e456c4a158c0956aa1b9aaa2d (patch)
tree09e27d26a533de520598e597160a0a7e23a579a3 /keyboards
parenta18e1305b303be4b30c57f16e72ce27af0dd38d8 (diff)
downloadqmk_firmware-2e50b34c67ec602e456c4a158c0956aa1b9aaa2d.tar.gz
qmk_firmware-2e50b34c67ec602e456c4a158c0956aa1b9aaa2d.zip
Add missing info.json files for keyboards (#12239)
Recent changes to QMK Configurator's API have made it so an info.json file is required for QMK Configurator to know how to render the keyboard in question. This PR adds info.json files for keyboards that did not have them, with a few exceptions for boards whose layouts I was unable to determine. * add info.json file for 2key2crawl * add info.json file for 40percentclub/4x4 * add info.json file for 40percentclub/5x5 * add info.json file for 4pplet/aekiso60/rev_a * add info.json file for 4pplet/steezy60/rev_a * add info.json file for 6ball * add info.json file for 7c8/framework * add info.json file for aeboards/constellation * add info.json file for alpine65 * add info.json file for aplyard/aplx6 * add info.json file for arch_36 * add info.json file for arisu * add info.json file for box75 * add info.json file for butterstick * add info.json file for four_banger * add info.json file for geekboards/tester * add info.json file for handwired/2x5keypad * add info.json file for handwired/412_64 * add info.json file for handwired/42 * add info.json file for handwired/aplx2 * add info.json file for handwired/brain * add info.json file for handwired/cans12er * add info.json file for handwired/ck4x4 * add info.json file for handwired/d48 * add info.json file for handwired/dactyl_manuform/dmote/62key * add info.json file for handwired/daishi * add info.json file for handwired/hexon38 * add info.json file for handwired/jot50 * add info.json file for handwired/jotanck * add info.json file for handwired/jotpad16 * add info.json file for handwired/k8split * add info.json file for handwired/myskeeb * add info.json file for handwired/nicekey * add info.json file for handwired/onekey * add info.json file for handwired/postageboard * add info.json file for handwired/riblee_f401 * add info.json file for handwired/riblee_f411 * add info.json file for handwired/rs60 * add info.json file for handwired/splittest * add info.json file for handwired/trackpoint * add info.json file for handwired/traveller * add info.json file for hhkb_lite_2 * add info.json file for honeycomb * add info.json file for ivy/rev1 * add info.json file for keebio/viterbi * add info.json file for laptreus * add info.json file for latin47ble * add info.json file for latin64ble * add info.json file for launchpad/rev1 * add info.json file for lets_split_eh/eh * add info.json file for mechmini/v1 * add info.json file for meira * add info.json file for meishi * add info.json file for merge/iso_macro * add info.json file for mschwingen/modelm * add info.json file for pabile/p20 * add info.json files for pimentoso/paddino02 rev1, rev2/left, and rev2/right * add info.json file for rgbkb/pan * add info.json files for runner3680 3x6, 3x7, 3x8, 4x6, 4x7, 4x8, 5x6, 5x7, and 5x8 * add info.json file for sck/gtm * add info.json file for splitish * add info.json file for standaside * add info.json file for ungodly/launch_pad * add info.json file for xelus/trinityxttkl * Revert "add info.json file for rgbkb/pan" This reverts commit 280b89bc6157023a621a9864f5d74d59d62bb511. * correct maintainer for ivy/rev1
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/2key2crawl/info.json25
-rw-r--r--keyboards/40percentclub/4x4/info.json197
-rw-r--r--keyboards/40percentclub/5x5/info.json183
-rw-r--r--keyboards/4pplet/aekiso60/rev_a/info.json81
-rw-r--r--keyboards/4pplet/steezy60/rev_a/info.json87
-rw-r--r--keyboards/6ball/info.json20
-rw-r--r--keyboards/7c8/framework/info.json210
-rw-r--r--keyboards/aeboards/constellation/info.json85
-rw-r--r--keyboards/alpine65/info.json84
-rw-r--r--keyboards/aplyard/aplx6/info.json20
-rw-r--r--keyboards/arch_36/info.json52
-rw-r--r--keyboards/arisu/info.json84
-rw-r--r--keyboards/box75/info.json101
-rw-r--r--keyboards/butterstick/info.json34
-rw-r--r--keyboards/four_banger/info.json18
-rw-r--r--keyboards/geekboards/tester/info.json22
-rw-r--r--keyboards/handwired/2x5keypad/info.json24
-rw-r--r--keyboards/handwired/412_64/info.json80
-rw-r--r--keyboards/handwired/42/info.json58
-rw-r--r--keyboards/handwired/aplx2/info.json15
-rw-r--r--keyboards/handwired/brain/info.json73
-rw-r--r--keyboards/handwired/cans12er/info.json27
-rw-r--r--keyboards/handwired/ck4x4/info.json32
-rw-r--r--keyboards/handwired/d48/info.json67
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/info.json90
-rw-r--r--keyboards/handwired/daishi/info.json136
-rw-r--r--keyboards/handwired/hexon38/info.json54
-rw-r--r--keyboards/handwired/jot50/info.json77
-rw-r--r--keyboards/handwired/jotanck/info.json64
-rw-r--r--keyboards/handwired/jotpad16/info.json32
-rw-r--r--keyboards/handwired/k8split/info.json66
-rw-r--r--keyboards/handwired/myskeeb/info.json88
-rw-r--r--keyboards/handwired/nicekey/info.json14
-rw-r--r--keyboards/handwired/onekey/info.json14
-rw-r--r--keyboards/handwired/postageboard/info.json16
-rw-r--r--keyboards/handwired/riblee_f401/info.json77
-rw-r--r--keyboards/handwired/riblee_f411/info.json77
-rw-r--r--keyboards/handwired/rs60/info.json77
-rw-r--r--keyboards/handwired/splittest/info.json15
-rw-r--r--keyboards/handwired/trackpoint/info.json16
-rw-r--r--keyboards/handwired/traveller/info.json66
-rw-r--r--keyboards/hhkb_lite_2/info.json77
-rw-r--r--keyboards/honeycomb/info.json32
-rw-r--r--keyboards/ivy/rev1/info.json16
-rw-r--r--keyboards/keebio/viterbi/info.json87
-rw-r--r--keyboards/laptreus/info.json64
-rw-r--r--keyboards/latin47ble/info.json63
-rw-r--r--keyboards/latin64ble/info.json81
-rw-r--r--keyboards/launchpad/rev1/info.json24
-rw-r--r--keyboards/lets_split_eh/eh/info.json64
-rw-r--r--keyboards/mechmini/v1/info.json58
-rw-r--r--keyboards/meira/info.json64
-rw-r--r--keyboards/meishi/info.json17
-rw-r--r--keyboards/merge/iso_macro/info.json23
-rw-r--r--keyboards/mschwingen/modelm/info.json121
-rw-r--r--keyboards/pabile/p20/info.json62
-rw-r--r--keyboards/pimentoso/paddino02/rev1/info.json25
-rw-r--r--keyboards/pimentoso/paddino02/rev2/left/info.json25
-rw-r--r--keyboards/pimentoso/paddino02/rev2/right/info.json25
-rw-r--r--keyboards/runner3680/3x6/info.json51
-rw-r--r--keyboards/runner3680/3x7/info.json57
-rw-r--r--keyboards/runner3680/3x8/info.json63
-rw-r--r--keyboards/runner3680/4x6/info.json64
-rw-r--r--keyboards/runner3680/4x7/info.json72
-rw-r--r--keyboards/runner3680/4x8/info.json80
-rw-r--r--keyboards/runner3680/5x6/info.json77
-rw-r--r--keyboards/runner3680/5x7/info.json87
-rw-r--r--keyboards/runner3680/5x8/info.json97
-rw-r--r--keyboards/sck/gtm/info.json25
-rw-r--r--keyboards/splitish/info.json64
-rw-r--r--keyboards/standaside/info.json80
-rw-r--r--keyboards/ungodly/launch_pad/info.json37
-rw-r--r--keyboards/xelus/trinityxttkl/info.json118
73 files changed, 4558 insertions, 0 deletions
diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json
new file mode 100644
index 0000000000..18f58daf28
--- /dev/null
+++ b/keyboards/2key2crawl/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "2Key2CrawlPad",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 6.5,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0},
+ {"label":"K01", "x":1, "y":0},
+ {"label":"K02", "x":2, "y":0},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K15", "x":4, "y":0},
+
+ {"label":"K10", "x":0, "y":1},
+ {"label":"K11", "x":1, "y":1},
+ {"label":"K12", "x":2, "y":1},
+ {"label":"K13", "x":3, "y":1},
+ {"label":"K14", "x":4, "y":1},
+ {"label":"K16", "x":5.5, "y":0.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/40percentclub/4x4/info.json b/keyboards/40percentclub/4x4/info.json
new file mode 100644
index 0000000000..83012f0136
--- /dev/null
+++ b/keyboards/40percentclub/4x4/info.json
@@ -0,0 +1,197 @@
+{
+ "keyboard_name": "40percent.club 4x4",
+ "url": "",
+ "maintainer": "qmk",
+ "height": 4,
+ "width": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3}
+ ]
+ },
+ "LAYOUT_ortho_4x8": {
+ "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":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":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":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}
+ ]
+ },
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3}
+ ]
+ },
+ "LAYOUT_ortho_4x16": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/40percentclub/5x5/info.json b/keyboards/40percentclub/5x5/info.json
new file mode 100644
index 0000000000..1c1df8eda9
--- /dev/null
+++ b/keyboards/40percentclub/5x5/info.json
@@ -0,0 +1,183 @@
+{
+ "keyboard_name": "40percent.club 4x4",
+ "url": "",
+ "maintainer": "qmk",
+ "height": 4,
+ "width": 4,
+ "layouts": {
+ "LAYOUT_ortho_5x5": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4}
+ ]
+ },
+ "LAYOUT_ortho_5x10": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+
+ {"x":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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4}
+ ]
+ },
+ "LAYOUT_ortho_5x15": {
+ "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},
+ {"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},
+ {"x":14, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json
new file mode 100644
index 0000000000..7f5b09cdc1
--- /dev/null
+++ b/keyboards/4pplet/aekiso60/rev_a/info.json
@@ -0,0 +1,81 @@
+{
+ "keyboard_name": "AEKISO60 Rev A",
+ "url": "",
+ "maintainer": "4pplet",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0, "w":1.25},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+ {"x":5.25, "y":0},
+ {"x":6.25, "y":0},
+ {"x":7.25, "y":0},
+ {"x":8.25, "y":0},
+ {"x":9.25, "y":0},
+ {"x":10.25, "y":0},
+ {"x":11.25, "y":0},
+ {"x":12.25, "y":0},
+ {"x":13.25, "y":0, "w":1.75},
+
+ {"x":0, "y":1, "w":1.75},
+ {"x":1.75, "y":1},
+ {"x":2.75, "y":1},
+ {"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":0, "y":2, "w":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":1, "h":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3},
+ {"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, "w":1.5},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4, "w":1.25},
+ {"x":2.75, "y":4, "w":1.5},
+ {"x":4.25, "y":4, "w":2.75},
+ {"x":7, "y":4},
+ {"x":8, "y":4, "w":2.75},
+ {"x":10.75, "y":4, "w":1.5},
+ {"x":12.25, "y":4, "w":1.25},
+ {"x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/info.json
new file mode 100644
index 0000000000..1944187139
--- /dev/null
+++ b/keyboards/4pplet/steezy60/rev_a/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "Steezy60 Rev A",
+ "url": "",
+ "maintainer": "4pplet",
+ "width": 15,
+ "height": 5,
+ "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},
+ {"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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4, "w":2.25},
+ {"x":6.25, "y":4, "w":1.5},
+ {"x":7.75, "y":4, "w":2.25},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/6ball/info.json b/keyboards/6ball/info.json
new file mode 100644
index 0000000000..d06f3448cc
--- /dev/null
+++ b/keyboards/6ball/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "6-Ball",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 3,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json
new file mode 100644
index 0000000000..5be8d09374
--- /dev/null
+++ b/keyboards/7c8/framework/info.json
@@ -0,0 +1,210 @@
+{
+ "keyboard_name": "Framework",
+ "url": "",
+ "maintainer": "stevennguyen",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+ {"x": 6, "y": 4},
+ {"x": 7, "y": 4},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ },
+ "LAYOUT_ortho_5x12_1x2uC": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4, "w": 2},
+ {"x": 7, "y": 4},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ },
+ "LAYOUT_preonic_2x2u": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4, "w": 2},
+ {"x": 6, "y": 4, "w": 2},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/aeboards/constellation/info.json b/keyboards/aeboards/constellation/info.json
new file mode 100644
index 0000000000..172ac4dfa2
--- /dev/null
+++ b/keyboards/aeboards/constellation/info.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "Constellation",
+ "url": "",
+ "maintainer": "Xelus22",
+ "width": 16,
+ "height": 5,
+ "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":15, "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, "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},
+ {"label":"\"", "x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+ {"x":15, "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, "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.5},
+ {"x":11.5, "y":4, "w":1.5},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json
new file mode 100644
index 0000000000..5ecf6762a0
--- /dev/null
+++ b/keyboards/alpine65/info.json
@@ -0,0 +1,84 @@
+{
+ "keyboard_name": "Alpine65",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "width": 16.25,
+ "height": 5.25,
+ "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":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+ {"x":15.25, "y":1.25},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+ {"x":15.25, "y":2.25},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14.25, "y":3.25},
+ {"x":15.25, "y":3.25},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13.25, "y":4.25},
+ {"x":14.25, "y":4.25},
+ {"x":15.25, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json
new file mode 100644
index 0000000000..97a9ac8d41
--- /dev/null
+++ b/keyboards/aplyard/aplx6/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "Aplx6",
+ "url": "",
+ "maintainer": "Aplyard",
+ "width": 3,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/arch_36/info.json b/keyboards/arch_36/info.json
new file mode 100644
index 0000000000..aedc658165
--- /dev/null
+++ b/keyboards/arch_36/info.json
@@ -0,0 +1,52 @@
+{
+ "keyboard_name": "Arch-36",
+ "url": "",
+ "maintainer": "obosob",
+ "width": 14,
+ "height": 5.1,
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"x":0, "y":1},
+ {"x":1, "y":0.25},
+ {"x":2, "y":0},
+ {"x":3, "y":0.375},
+ {"x":4, "y":0.5},
+ {"x":9, "y":0.5},
+ {"x":10, "y":0.375},
+ {"x":11, "y":0},
+ {"x":12, "y":0.25},
+ {"x":13, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1},
+ {"x":3, "y":1.375},
+ {"x":4, "y":1.5},
+ {"x":9, "y":1.5},
+ {"x":10, "y":1.375},
+ {"x":11, "y":1},
+ {"x":12, "y":1.25},
+ {"x":13, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":2.25},
+ {"x":2, "y":2},
+ {"x":3, "y":2.375},
+ {"x":4, "y":2.5},
+ {"x":9, "y":2.5},
+ {"x":10, "y":2.375},
+ {"x":11, "y":2},
+ {"x":12, "y":2.25},
+ {"x":13, "y":3},
+
+ {"x":3.5, "y":3.5},
+ {"x":4.5, "y":3.7},
+ {"x":5.5, "y":4.1},
+ {"x":7.5, "y":4.1},
+ {"x":8.5, "y":3.7},
+ {"x":9.5, "y":3.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/arisu/info.json b/keyboards/arisu/info.json
new file mode 100644
index 0000000000..213613d768
--- /dev/null
+++ b/keyboards/arisu/info.json
@@ -0,0 +1,84 @@
+{
+ "keyboard_name": "Arisu",
+ "url": "https://github.com/FateNozomi/arisu-pcb",
+ "maintainer": "FateNozomi",
+ "width": 18.3,
+ "height": 5.25,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+ {"x":17.3, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1},
+ {"x":14.5, "y":1},
+ {"x":15.5, "y":1, "w":1.5},
+ {"x":17.3, "y":1},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2},
+ {"x":13.75, "y":2},
+ {"x":14.75, "y":2, "w":2.25},
+ {"x":17.3, "y":2},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3},
+ {"x":13.25, "y":3},
+ {"x":14.25, "y":3, "w":1.75},
+ {"x":16.3, "y":3.25},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":3.25, "y":4, "w":1.5},
+ {"x":4.75, "y":4, "w":2},
+ {"x":6.75, "y":4, "w":1.25},
+ {"x":8.75, "y":4, "w":2.75},
+ {"x":11.5, "y":4, "w":1.5},
+ {"x":15.3, "y":4.25},
+ {"x":16.3, "y":4.25},
+ {"x":17.3, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json
new file mode 100644
index 0000000000..5eb72471ef
--- /dev/null
+++ b/keyboards/box75/info.json
@@ -0,0 +1,101 @@
+{
+ "keyboard_name": "BOX75",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "width": 16.25,
+ "height": 6.375,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+ {"x":5.5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.75, "y":0},
+ {"x":10.75, "y":0},
+ {"x":11.75, "y":0},
+ {"x":12.75, "y":0},
+ {"x":14, "y":0},
+ {"x":15.25, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+ {"x":15.25, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+ {"x":15.25, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25, "w":2.25},
+ {"x":15.25, "y":3.25},
+
+ {"x":0, "y":4.25, "w":2.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":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+ {"x":14.125, "y":4.375},
+ {"x":15.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.25},
+ {"x":1.25, "y":5.25, "w":1.25},
+ {"x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"x":10, "y":5.25},
+ {"x":11, "y":5.25},
+ {"x":12, "y":5.25},
+ {"x":13.125, "y":5.375},
+ {"x":14.125, "y":5.375},
+ {"x":15.125, "y":5.375}
+ ]
+ }
+ }
+}
diff --git a/keyboards/butterstick/info.json b/keyboards/butterstick/info.json
new file mode 100644
index 0000000000..6e3f164794
--- /dev/null
+++ b/keyboards/butterstick/info.json
@@ -0,0 +1,34 @@
+{
+ "keyboard_name": "Butter Stick",
+ "url": "",
+ "maintainer": "germ",
+ "width": 10,
+ "height": 2,
+ "layouts": {
+ "LAYOUT_butter": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/four_banger/info.json b/keyboards/four_banger/info.json
new file mode 100644
index 0000000000..bb34a47872
--- /dev/null
+++ b/keyboards/four_banger/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "Four Banger",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 2,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json
new file mode 100644
index 0000000000..874ce7d887
--- /dev/null
+++ b/keyboards/geekboards/tester/info.json
@@ -0,0 +1,22 @@
+{
+ "keyboard_name": "Geekboards 8-keys macropad",
+ "url": "",
+ "maintainer": "moyi4681",
+ "width": 4,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/2x5keypad/info.json b/keyboards/handwired/2x5keypad/info.json
new file mode 100644
index 0000000000..2cc66f366b
--- /dev/null
+++ b/keyboards/handwired/2x5keypad/info.json
@@ -0,0 +1,24 @@
+{
+ "keyboard_name": "2x5keypad",
+ "url": "",
+ "maintainer": "jmcameron",
+ "width": 5,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/412_64/info.json b/keyboards/handwired/412_64/info.json
new file mode 100644
index 0000000000..8d0d14ef90
--- /dev/null
+++ b/keyboards/handwired/412_64/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "412-64",
+ "url": "",
+ "maintainer": "fateeverywhere",
+ "width": 16,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x16": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/42/info.json b/keyboards/handwired/42/info.json
new file mode 100644
index 0000000000..0d5b56561a
--- /dev/null
+++ b/keyboards/handwired/42/info.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "42",
+ "url": "",
+ "maintainer": "nglgzz",
+ "width": 14.5,
+ "height": 5.417,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.625},
+ {"x":1, "y":0.417},
+ {"x":2, "y":0.208},
+ {"x":3, "y":0},
+ {"x":4, "y":0.208},
+ {"x":5, "y":0.417},
+ {"x":8.5, "y":0.417},
+ {"x":9.5, "y":0.208},
+ {"x":10.5, "y":0},
+ {"x":11.5, "y":0.208},
+ {"x":12.5, "y":0.417},
+ {"x":13.5, "y":0.625},
+
+ {"x":0, "y":1.625},
+ {"x":1, "y":1.417},
+ {"x":2, "y":1.208},
+ {"x":3, "y":1},
+ {"x":4, "y":1.208},
+ {"x":5, "y":1.417},
+ {"x":8.5, "y":1.417},
+ {"x":9.5, "y":1.208},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1.208},
+ {"x":12.5, "y":1.417},
+ {"x":13.5, "y":1.625},
+
+ {"x":0, "y":2.625},
+ {"x":1, "y":2.417},
+ {"x":2, "y":2.208},
+ {"x":3, "y":2},
+ {"x":4, "y":2.208},
+ {"x":5, "y":2.417},
+ {"x":8.5, "y":2.417},
+ {"x":9.5, "y":2.208},
+ {"x":10.5, "y":2},
+ {"x":11.5, "y":2.208},
+ {"x":12.5, "y":2.417},
+ {"x":13.5, "y":2.625},
+
+ {"x":4, "y":3.208},
+ {"x":5, "y":3.417},
+ {"x":5.75, "y":4.417},
+ {"x":7.75, "y":4.417},
+ {"x":8.5, "y":3.417},
+ {"x":9.5, "y":3.208}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/aplx2/info.json b/keyboards/handwired/aplx2/info.json
new file mode 100644
index 0000000000..6ca10a44f8
--- /dev/null
+++ b/keyboards/handwired/aplx2/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "Aplx2",
+ "url": "",
+ "maintainer": "Aplyard",
+ "width": 2,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/brain/info.json b/keyboards/handwired/brain/info.json
new file mode 100644
index 0000000000..37454b5bc0
--- /dev/null
+++ b/keyboards/handwired/brain/info.json
@@ -0,0 +1,73 @@
+{
+ "keyboard_name": "Brain",
+ "url": "",
+ "maintainer": "Klackygears",
+ "width": 15,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":1, "y":1},
+ {"x":2, "y":0.5},
+ {"x":3, "y":0},
+ {"x":4, "y":0.5},
+ {"x":5, "y":0.75},
+ {"x":6, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":0.75},
+ {"x":10, "y":0.5},
+ {"x":11, "y":0},
+ {"x":12, "y":0.5},
+ {"x":13, "y":1},
+
+ {"x":0, "y":2.25},
+ {"x":1, "y":2},
+ {"x":2, "y":1.5},
+ {"x":3, "y":1},
+ {"x":4, "y":1.5},
+ {"x":5, "y":1.75},
+ {"x":6, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":1.75},
+ {"x":10, "y":1.5},
+ {"x":11, "y":1},
+ {"x":12, "y":1.5},
+ {"x":13, "y":2},
+ {"x":14, "y":2.25},
+
+ {"x":0, "y":3.25},
+ {"x":1, "y":3},
+ {"x":2, "y":2.5},
+ {"x":3, "y":2},
+ {"x":4, "y":2.5},
+ {"x":5, "y":2.75},
+ {"x":6, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":2.75},
+ {"x":10, "y":2.5},
+ {"x":11, "y":2},
+ {"x":12, "y":2.5},
+ {"x":13, "y":3},
+ {"x":14, "y":3.25},
+
+ {"x":1, "y":4},
+ {"x":2, "y":3.5},
+ {"x":3.5, "y":4.25},
+ {"x":4.5, "y":4.25},
+ {"x":5.5, "y":4.25},
+ {"x":8.5, "y":4.25},
+ {"x":9.5, "y":4.25},
+ {"x":10.5, "y":4.25},
+ {"x":12, "y":3.5},
+ {"x":13, "y":4},
+
+ {"x":3.5, "y":5.25},
+ {"x":4.5, "y":5.25},
+ {"x":5.5, "y":5.25},
+ {"x":8.5, "y":5.25},
+ {"x":9.5, "y":5.25},
+ {"x":10.5, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/cans12er/info.json b/keyboards/handwired/cans12er/info.json
new file mode 100644
index 0000000000..640e6a4475
--- /dev/null
+++ b/keyboards/handwired/cans12er/info.json
@@ -0,0 +1,27 @@
+{
+ "keyboard_name": "Cans12er",
+ "url": "",
+ "maintainer": "canbaytok",
+ "width": 4,
+ "height": 3,
+ "layouts": {
+ "LAYOUT_ortho_3x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/ck4x4/info.json b/keyboards/handwired/ck4x4/info.json
new file mode 100644
index 0000000000..e1f31582df
--- /dev/null
+++ b/keyboards/handwired/ck4x4/info.json
@@ -0,0 +1,32 @@
+{
+ "keyboard_name": "CK4x4",
+ "url": "",
+ "maintainer": "awkannan",
+ "width": 4,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/d48/info.json b/keyboards/handwired/d48/info.json
new file mode 100644
index 0000000000..540a9e3228
--- /dev/null
+++ b/keyboards/handwired/d48/info.json
@@ -0,0 +1,67 @@
+{
+ "keyboard_name": "D48",
+ "url": "",
+ "maintainer": "and3rson",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":8, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
new file mode 100644
index 0000000000..8e54b8db4d
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
@@ -0,0 +1,90 @@
+{
+ "keyboard_name": "DMOTE 62-key",
+ "url": "",
+ "maintainer": "veikman",
+ "width": 15,
+ "height": 7.5,
+ "layouts": {
+ "LAYOUT_62key": {
+ "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":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "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":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+
+ {"x":3, "y":4},
+ {"x":4.5, "y":4.5},
+ {"x":5.5, "y":4.5},
+
+ {"x":4, "y":5.5},
+ {"x":5, "y":5.5},
+ {"x":6, "y":5.5},
+
+ {"x":4.5, "y":6.5},
+ {"x":5.5, "y":6.5},
+
+
+ {"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":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+
+ {"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":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+
+ {"x":8.5, "y":4.5},
+ {"x":9.5, "y":4.5},
+ {"x":11, "y":4},
+
+ {"x":8, "y":5.5},
+ {"x":9, "y":5.5},
+ {"x":10, "y":5.5},
+
+ {"x":8.5, "y":6.5},
+ {"x":9.5, "y":6.5}
+ ]
+ }
+ }
+}
+
diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json
new file mode 100644
index 0000000000..52a67b3de9
--- /dev/null
+++ b/keyboards/handwired/daishi/info.json
@@ -0,0 +1,136 @@
+{
+ "keyboard_name": "Daishi",
+ "url": "",
+ "maintainer": "Croktopus",
+ "width": 19.5,
+ "height": 7.75,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.75, "y":0},
+ {"x":8.75, "y":0},
+ {"x":9.75, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14.25, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+ {"x":18.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4.33, "y":1.25},
+ {"x":5.33, "y":1.25},
+ {"x":6.33, "y":1.25},
+ {"x":7.33, "y":1.25},
+ {"x":8.67, "y":1.25},
+ {"x":9.67, "y":1.25},
+ {"x":10.67, "y":1.25},
+ {"x":11.67, "y":1.25},
+ {"x":13, "y":1.25},
+ {"x":14.25, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.5, "y":1.25},
+ {"x":18.5, "y":1.25},
+
+ {"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, "w":2},
+ {"x":15.25, "y":2.25},
+ {"x":16.5, "y":2.5},
+ {"x":17.5, "y":2.5},
+ {"x":18.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.5, "y":3.5},
+ {"x":16.5, "y":3.5},
+ {"x":17.5, "y":3.5},
+ {"x":18.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, "w":2.25},
+ {"x":15.5, "y":4.5},
+ {"x":16.5, "y":4.5},
+ {"x":17.5, "y":4.5},
+ {"x":18.5, "y":4.5},
+
+ {"x":0, "y":5.5, "w":2.25},
+ {"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, "w":1.75},
+ {"x":14.25, "y":5.75},
+ {"x":15.5, "y":5.5},
+ {"x":16.5, "y":5.5},
+ {"x":17.5, "y":5.5},
+ {"x":18.5, "y":5.5, "h":2},
+
+ {"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":6.25},
+ {"x":10, "y":6.5, "w":1.5},
+ {"x":11.5, "y":6.5, "w":1.5},
+ {"x":13.25, "y":6.75},
+ {"x":14.25, "y":6.75},
+ {"x":15.25, "y":6.75},
+ {"x":16.5, "y":6.5},
+ {"x":17.5, "y":6.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/hexon38/info.json b/keyboards/handwired/hexon38/info.json
new file mode 100644
index 0000000000..5c141ac656
--- /dev/null
+++ b/keyboards/handwired/hexon38/info.json
@@ -0,0 +1,54 @@
+{
+ "keyboard_name": "hexon38",
+ "url": "",
+ "maintainer": "cellularmitosis",
+ "width": 18,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "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":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":13, "y":2},
+ {"x":14, "y":2},
+ {"x":15, "y":2},
+ {"x":16, "y":2},
+ {"x":17, "y":2},
+
+ {"x":4.5, "y":3},
+ {"x":5.5, "y":3},
+ {"x":6.5, "y":3},
+ {"x":7.5, "y":3},
+ {"x":9.5, "y":3},
+ {"x":10.5, "y":3},
+ {"x":11.5, "y":3},
+ {"x":12.5, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/jot50/info.json b/keyboards/handwired/jot50/info.json
new file mode 100644
index 0000000000..c144d684cb
--- /dev/null
+++ b/keyboards/handwired/jot50/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Jot50",
+ "url": "",
+ "maintainer": "jotix",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/jotanck/info.json b/keyboards/handwired/jotanck/info.json
new file mode 100644
index 0000000000..a5d13876ea
--- /dev/null
+++ b/keyboards/handwired/jotanck/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "Jotanck",
+ "url": "",
+ "maintainer": "jotix",
+ "width": 12,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x12": {
+ "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":10, "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":10, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":10, "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":10, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/jotpad16/info.json b/keyboards/handwired/jotpad16/info.json
new file mode 100644
index 0000000000..feea7575cf
--- /dev/null
+++ b/keyboards/handwired/jotpad16/info.json
@@ -0,0 +1,32 @@
+{
+ "keyboard_name": "JotPad16",
+ "url": "",
+ "maintainer": "jotix",
+ "width": 4,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/k8split/info.json b/keyboards/handwired/k8split/info.json
new file mode 100644
index 0000000000..026edfe710
--- /dev/null
+++ b/keyboards/handwired/k8split/info.json
@@ -0,0 +1,66 @@
+{
+ "keyboard_name": "k8split",
+ "url": "",
+ "maintainer": "Ckath",
+ "width": 10,
+ "height": 6,
+ "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":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":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":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":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":0, "y":5, "w":1.5},
+ {"x":1.5, "y":5},
+ {"x":2.5, "y":5},
+ {"x":3.5, "y":5, "w":1.25},
+ {"x":4.75, "y":5, "w":2.25},
+ {"x":7, "y":5},
+ {"x":8, "y":5},
+ {"x":9, "y":5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/myskeeb/info.json b/keyboards/handwired/myskeeb/info.json
new file mode 100644
index 0000000000..617fbc441b
--- /dev/null
+++ b/keyboards/handwired/myskeeb/info.json
@@ -0,0 +1,88 @@
+{
+ "keyboard_name": "myskeeb",
+ "url": "",
+ "maintainer": "su8044",
+ "width": 15,
+ "height": 5,
+ "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":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},
+ {"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":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":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":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":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":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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
+
diff --git a/keyboards/handwired/nicekey/info.json b/keyboards/handwired/nicekey/info.json
new file mode 100644
index 0000000000..1f099534b2
--- /dev/null
+++ b/keyboards/handwired/nicekey/info.json
@@ -0,0 +1,14 @@
+{
+ "keyboard_name": "nicekey handwired",
+ "url": "",
+ "maintainer": "spydon",
+ "width": 1,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
new file mode 100644
index 0000000000..ac339ba197
--- /dev/null
+++ b/keyboards/handwired/onekey/info.json
@@ -0,0 +1,14 @@
+{
+ "keyboard_name": "onekey handwired",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 1,
+ "height": 1,
+ "layouts": {
+ "LAYOUT_ortho_1x1": {
+ "layout": [
+ {"x":0, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json
new file mode 100644
index 0000000000..6389470867
--- /dev/null
+++ b/keyboards/handwired/postageboard/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Postage Board",
+ "url": "",
+ "maintainer": "LifeIsOnTheWire",
+ "width": 1,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json
new file mode 100644
index 0000000000..ddf13abc93
--- /dev/null
+++ b/keyboards/handwired/riblee_f401/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Handwired Preonic (Blackpill F401)",
+ "url": "",
+ "maintainer": "riblee",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x": 0,"y": 0},
+ {"x": 1,"y": 0},
+ {"x": 2,"y": 0},
+ {"x": 3,"y": 0},
+ {"x": 4,"y": 0},
+ {"x": 5,"y": 0},
+ {"x": 6,"y": 0},
+ {"x": 7,"y": 0},
+ {"x": 8,"y": 0},
+ {"x": 9,"y": 0},
+ {"x": 10,"y": 0},
+ {"x": 11,"y": 0},
+
+ {"x": 0,"y": 1},
+ {"x": 1,"y": 1},
+ {"x": 2,"y": 1},
+ {"x": 3,"y": 1},
+ {"x": 4,"y": 1},
+ {"x": 5,"y": 1},
+ {"x": 6,"y": 1},
+ {"x": 7,"y": 1},
+ {"x": 8,"y": 1},
+ {"x": 9,"y": 1},
+ {"x": 10,"y": 1},
+ {"x": 11,"y": 1},
+
+ {"x": 0,"y": 2},
+ {"x": 1,"y": 2},
+ {"x": 2,"y": 2},
+ {"x": 3,"y": 2},
+ {"x": 4,"y": 2},
+ {"x": 5,"y": 2},
+ {"x": 6,"y": 2},
+ {"x": 7,"y": 2},
+ {"x": 8,"y": 2},
+ {"x": 9,"y": 2},
+ {"x": 10,"y": 2},
+ {"x": 11,"y": 2},
+
+ {"x": 0,"y": 3},
+ {"x": 1,"y": 3},
+ {"x": 2,"y": 3},
+ {"x": 3,"y": 3},
+ {"x": 4,"y": 3},
+ {"x": 5,"y": 3},
+ {"x": 6,"y": 3},
+ {"x": 7,"y": 3},
+ {"x": 8,"y": 3},
+ {"x": 9,"y": 3},
+ {"x": 10,"y": 3},
+ {"x": 11,"y": 3},
+
+ {"x": 0,"y": 4},
+ {"x": 1,"y": 4},
+ {"x": 2,"y": 4},
+ {"x": 3,"y": 4},
+ {"x": 4,"y": 4},
+ {"x": 5,"y": 4},
+ {"x": 6,"y": 4},
+ {"x": 7,"y": 4},
+ {"x": 8,"y": 4},
+ {"x": 9,"y": 4},
+ {"x": 10,"y": 4},
+ {"x": 11,"y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/riblee_f411/info.json b/keyboards/handwired/riblee_f411/info.json
new file mode 100644
index 0000000000..e318e8bd6a
--- /dev/null
+++ b/keyboards/handwired/riblee_f411/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Handwired Preonic (Blackpill F411)",
+ "url": "",
+ "maintainer": "riblee",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x": 0,"y": 0},
+ {"x": 1,"y": 0},
+ {"x": 2,"y": 0},
+ {"x": 3,"y": 0},
+ {"x": 4,"y": 0},
+ {"x": 5,"y": 0},
+ {"x": 6,"y": 0},
+ {"x": 7,"y": 0},
+ {"x": 8,"y": 0},
+ {"x": 9,"y": 0},
+ {"x": 10,"y": 0},
+ {"x": 11,"y": 0},
+
+ {"x": 0,"y": 1},
+ {"x": 1,"y": 1},
+ {"x": 2,"y": 1},
+ {"x": 3,"y": 1},
+ {"x": 4,"y": 1},
+ {"x": 5,"y": 1},
+ {"x": 6,"y": 1},
+ {"x": 7,"y": 1},
+ {"x": 8,"y": 1},
+ {"x": 9,"y": 1},
+ {"x": 10,"y": 1},
+ {"x": 11,"y": 1},
+
+ {"x": 0,"y": 2},
+ {"x": 1,"y": 2},
+ {"x": 2,"y": 2},
+ {"x": 3,"y": 2},
+ {"x": 4,"y": 2},
+ {"x": 5,"y": 2},
+ {"x": 6,"y": 2},
+ {"x": 7,"y": 2},
+ {"x": 8,"y": 2},
+ {"x": 9,"y": 2},
+ {"x": 10,"y": 2},
+ {"x": 11,"y": 2},
+
+ {"x": 0,"y": 3},
+ {"x": 1,"y": 3},
+ {"x": 2,"y": 3},
+ {"x": 3,"y": 3},
+ {"x": 4,"y": 3},
+ {"x": 5,"y": 3},
+ {"x": 6,"y": 3},
+ {"x": 7,"y": 3},
+ {"x": 8,"y": 3},
+ {"x": 9,"y": 3},
+ {"x": 10,"y": 3},
+ {"x": 11,"y": 3},
+
+ {"x": 0,"y": 4},
+ {"x": 1,"y": 4},
+ {"x": 2,"y": 4},
+ {"x": 3,"y": 4},
+ {"x": 4,"y": 4},
+ {"x": 5,"y": 4},
+ {"x": 6,"y": 4},
+ {"x": 7,"y": 4},
+ {"x": 8,"y": 4},
+ {"x": 9,"y": 4},
+ {"x": 10,"y": 4},
+ {"x": 11,"y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/rs60/info.json b/keyboards/handwired/rs60/info.json
new file mode 100644
index 0000000000..a3b32aec18
--- /dev/null
+++ b/keyboards/handwired/rs60/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "rs60",
+ "url": "",
+ "maintainer": "rs",
+ "width": 12,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x": 0,"y": 0},
+ {"x": 1,"y": 0},
+ {"x": 2,"y": 0},
+ {"x": 3,"y": 0},
+ {"x": 4,"y": 0},
+ {"x": 5,"y": 0},
+ {"x": 6,"y": 0},
+ {"x": 7,"y": 0},
+ {"x": 8,"y": 0},
+ {"x": 9,"y": 0},
+ {"x": 10,"y": 0},
+ {"x": 11,"y": 0},
+
+ {"x": 0,"y": 1},
+ {"x": 1,"y": 1},
+ {"x": 2,"y": 1},
+ {"x": 3,"y": 1},
+ {"x": 4,"y": 1},
+ {"x": 5,"y": 1},
+ {"x": 6,"y": 1},
+ {"x": 7,"y": 1},
+ {"x": 8,"y": 1},
+ {"x": 9,"y": 1},
+ {"x": 10,"y": 1},
+ {"x": 11,"y": 1},
+
+ {"x": 0,"y": 2},
+ {"x": 1,"y": 2},
+ {"x": 2,"y": 2},
+ {"x": 3,"y": 2},
+ {"x": 4,"y": 2},
+ {"x": 5,"y": 2},
+ {"x": 6,"y": 2},
+ {"x": 7,"y": 2},
+ {"x": 8,"y": 2},
+ {"x": 9,"y": 2},
+ {"x": 10,"y": 2},
+ {"x": 11,"y": 2},
+
+ {"x": 0,"y": 3},
+ {"x": 1,"y": 3},
+ {"x": 2,"y": 3},
+ {"x": 3,"y": 3},
+ {"x": 4,"y": 3},
+ {"x": 5,"y": 3},
+ {"x": 6,"y": 3},
+ {"x": 7,"y": 3},
+ {"x": 8,"y": 3},
+ {"x": 9,"y": 3},
+ {"x": 10,"y": 3},
+ {"x": 11,"y": 3},
+
+ {"x": 0,"y": 4},
+ {"x": 1,"y": 4},
+ {"x": 2,"y": 4},
+ {"x": 3,"y": 4},
+ {"x": 4,"y": 4},
+ {"x": 5,"y": 4},
+ {"x": 6,"y": 4},
+ {"x": 7,"y": 4},
+ {"x": 8,"y": 4},
+ {"x": 9,"y": 4},
+ {"x": 10,"y": 4},
+ {"x": 11,"y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json
new file mode 100644
index 0000000000..fb7dce7b1c
--- /dev/null
+++ b/keyboards/handwired/splittest/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "Split Tester",
+ "url": "",
+ "maintainer": "nooges",
+ "width": 2,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0,"y": 0},
+ {"x": 1,"y": 0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/trackpoint/info.json b/keyboards/handwired/trackpoint/info.json
new file mode 100644
index 0000000000..d1dcb39d62
--- /dev/null
+++ b/keyboards/handwired/trackpoint/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Trackpoint",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 3,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0,"y": 0},
+ {"x": 1,"y": 0},
+ {"x": 2,"y": 0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json
new file mode 100644
index 0000000000..0a13fab77a
--- /dev/null
+++ b/keyboards/handwired/traveller/info.json
@@ -0,0 +1,66 @@
+{
+ "keyboard_name": "traveller",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 1,
+ "height": 1,
+ "layouts": {
+ "KEYMAP": {
+ "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":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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/hhkb_lite_2/info.json b/keyboards/hhkb_lite_2/info.json
new file mode 100644
index 0000000000..4319320b10
--- /dev/null
+++ b/keyboards/hhkb_lite_2/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "HHKB Lite 2",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/honeycomb/info.json b/keyboards/honeycomb/info.json
new file mode 100644
index 0000000000..1124a8b133
--- /dev/null
+++ b/keyboards/honeycomb/info.json
@@ -0,0 +1,32 @@
+{
+ "keyboard_name": "Honeycomb",
+ "url": "",
+ "maintainer": "filoxo",
+ "width": 4,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ivy/rev1/info.json b/keyboards/ivy/rev1/info.json
new file mode 100644
index 0000000000..4e9db79031
--- /dev/null
+++ b/keyboards/ivy/rev1/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "IVY",
+ "url": "",
+ "maintainer": "That-Canadian",
+ "width": 3,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json
new file mode 100644
index 0000000000..c37d941f40
--- /dev/null
+++ b/keyboards/keebio/viterbi/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "Viterbi",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "width": 15,
+ "height": 5,
+ "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":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},
+ {"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":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":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":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":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":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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/laptreus/info.json b/keyboards/laptreus/info.json
new file mode 100644
index 0000000000..adcfdf6040
--- /dev/null
+++ b/keyboards/laptreus/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "Laptreus",
+ "url": "",
+ "maintainer": "vosechu",
+ "width": 14,
+ "height": 4.67,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.67},
+ {"x":1, "y":0.67},
+ {"x":2, "y":0.33},
+ {"x":3, "y":0},
+ {"x":4, "y":0.33},
+ {"x":5, "y":0.33},
+ {"x":8, "y":0.33},
+ {"x":9, "y":0.33},
+ {"x":10, "y":0},
+ {"x":11, "y":0.33},
+ {"x":12, "y":0.67},
+ {"x":13, "y":0.67},
+
+ {"x":0, "y":1.67},
+ {"x":1, "y":1.67},
+ {"x":2, "y":1.33},
+ {"x":3, "y":1},
+ {"x":4, "y":1.33},
+ {"x":5, "y":1.33},
+ {"x":8, "y":1.33},
+ {"x":9, "y":1.33},
+ {"x":10, "y":1},
+ {"x":11, "y":1.33},
+ {"x":12, "y":1.67},
+ {"x":13, "y":1.67},
+
+ {"x":0, "y":2.67},
+ {"x":1, "y":2.67},
+ {"x":2, "y":2.33},
+ {"x":3, "y":2},
+ {"x":4, "y":2.33},
+ {"x":5, "y":2.33},
+ {"x":8, "y":2.33},
+ {"x":9, "y":2.33},
+ {"x":10, "y":2},
+ {"x":11, "y":2.33},
+ {"x":12, "y":2.67},
+ {"x":13, "y":2.67},
+
+ {"x":0, "y":3.67},
+ {"x":1, "y":3.67},
+ {"x":2, "y":3.67},
+ {"x":3, "y":3.67},
+ {"x":4.5, "y":3.42},
+ {"x":5.5, "y":3.67},
+ {"x":7.5, "y":3.67},
+ {"x":8.5, "y":3.42},
+ {"x":10, "y":3.67},
+ {"x":11, "y":3.67},
+ {"x":12, "y":3.67},
+ {"x":13, "y":3.67}
+ ]
+ }
+ }
+}
diff --git a/keyboards/latin47ble/info.json b/keyboards/latin47ble/info.json
new file mode 100644
index 0000000000..8755e97f74
--- /dev/null
+++ b/keyboards/latin47ble/info.json
@@ -0,0 +1,63 @@
+{
+ "keyboard_name": "Latin47ble",
+ "url": "",
+ "maintainer": "latincompass",
+ "width": 12,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_planck_mit": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3, "w":2},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/latin64ble/info.json b/keyboards/latin64ble/info.json
new file mode 100644
index 0000000000..de34b2bd17
--- /dev/null
+++ b/keyboards/latin64ble/info.json
@@ -0,0 +1,81 @@
+{
+ "keyboard_name": "Latin64ble",
+ "url": "",
+ "maintainer": "latincompass",
+ "width": 15,
+ "height": 5,
+ "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":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},
+ {"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":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/launchpad/rev1/info.json b/keyboards/launchpad/rev1/info.json
new file mode 100644
index 0000000000..f12eaba42d
--- /dev/null
+++ b/keyboards/launchpad/rev1/info.json
@@ -0,0 +1,24 @@
+{
+ "keyboard_name": "Launch Pad rev1",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 2,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/lets_split_eh/eh/info.json b/keyboards/lets_split_eh/eh/info.json
new file mode 100644
index 0000000000..f96477e6ee
--- /dev/null
+++ b/keyboards/lets_split_eh/eh/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "Let's Split",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 13,
+ "height": 4,
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechmini/v1/info.json b/keyboards/mechmini/v1/info.json
new file mode 100644
index 0000000000..d99f360942
--- /dev/null
+++ b/keyboards/mechmini/v1/info.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "MechMini",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 12,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_split_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},
+
+ {"x":0, "y":1, "w":1.25},
+ {"x":1.25, "y":1},
+ {"x":2.25, "y":1},
+ {"x":3.25, "y":1},
+ {"x":4.25, "y":1},
+ {"x":5.25, "y":1},
+ {"x":6.25, "y":1},
+ {"x":7.25, "y":1},
+ {"x":8.25, "y":1},
+ {"x":9.25, "y":1},
+ {"x":10.25, "y":1, "w":1.75},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2, "w":1.25},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "y":3},
+ {"x":2.25, "y":3, "w":1.25},
+ {"x":3.5, "y":3, "w":2.75},
+ {"x":6.25, "y":3, "w":2.25},
+ {"x":8.5, "y":3, "w":1.25},
+ {"x":9.75, "y":3},
+ {"x":10.75, "y":3, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/meira/info.json b/keyboards/meira/info.json
new file mode 100644
index 0000000000..ea48f0df19
--- /dev/null
+++ b/keyboards/meira/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "Meira",
+ "url": "",
+ "maintainer": "colemarkham",
+ "width": 12,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/meishi/info.json b/keyboards/meishi/info.json
new file mode 100644
index 0000000000..ec2a9cb631
--- /dev/null
+++ b/keyboards/meishi/info.json
@@ -0,0 +1,17 @@
+{
+ "keyboard_name": "Meishi",
+ "url": "",
+ "maintainer": "Biacco42",
+ "width": 4,
+ "height": 1,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/merge/iso_macro/info.json b/keyboards/merge/iso_macro/info.json
new file mode 100644
index 0000000000..6ec535ac2d
--- /dev/null
+++ b/keyboards/merge/iso_macro/info.json
@@ -0,0 +1,23 @@
+{
+ "keyboard_name": "ISO Macro",
+ "url": "",
+ "maintainer": "duoshock",
+ "width": 5.75,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.5, "y":0, "w":1.25, "h":2},
+
+ {"x":0, "y":1},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mschwingen/modelm/info.json b/keyboards/mschwingen/modelm/info.json
new file mode 100644
index 0000000000..f4e6ed1c14
--- /dev/null
+++ b/keyboards/mschwingen/modelm/info.json
@@ -0,0 +1,121 @@
+{
+ "keyboard_name": "atmega32U4 board for IBM Model M",
+ "url": "",
+ "maintainer": "mschwingen",
+ "width": 23,
+ "height": 7,
+ "layouts": {
+ "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":15.5, "y":0},
+ {"x":16.5, "y":0},
+ {"x":17.5, "y":0},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2, "w":2},
+ {"x":15.5, "y":2},
+ {"x":16.5, "y":2},
+ {"x":17.5, "y":2},
+ {"x":19, "y":2},
+ {"x":20, "y":2},
+ {"x":21, "y":2},
+ {"x":22, "y":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3},
+ {"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, "w":1.5},
+ {"x":15.5, "y":3},
+ {"x":16.5, "y":3},
+ {"x":17.5, "y":3},
+ {"x":19, "y":3},
+ {"x":20, "y":3},
+ {"x":21, "y":3},
+ {"x":22, "y":3, "h":2},
+
+ {"x":0, "y":4, "w":1.75},
+ {"x":1.75, "y":4},
+ {"x":2.75, "y":4},
+ {"x":3.75, "y":4},
+ {"x":4.75, "y":4},
+ {"x":5.75, "y":4},
+ {"x":6.75, "y":4},
+ {"x":7.75, "y":4},
+ {"x":8.75, "y":4},
+ {"x":9.75, "y":4},
+ {"x":10.75, "y":4},
+ {"x":11.75, "y":4},
+ {"x":12.75, "y":4},
+ {"x":13.75, "y":4, "w":1.25},
+ {"x":19, "y":4},
+ {"x":20, "y":4},
+ {"x":21, "y":4},
+
+ {"x":0, "y":5, "w":1.25},
+ {"x":1.25, "y":5},
+ {"x":2.25, "y":5},
+ {"x":3.25, "y":5},
+ {"x":4.25, "y":5},
+ {"x":5.25, "y":5},
+ {"x":6.25, "y":5},
+ {"x":7.25, "y":5},
+ {"x":8.25, "y":5},
+ {"x":9.25, "y":5},
+ {"x":10.25, "y":5},
+ {"x":11.25, "y":5},
+ {"x":12.25, "y":5, "w":2.75},
+ {"x":16.5, "y":5},
+ {"x":19, "y":5},
+ {"x":20, "y":5},
+ {"x":21, "y":5},
+ {"x":22, "y":5, "h":2},
+
+ {"x":0, "y":6, "w":1.5},
+ {"x":2.5, "y":6, "w":1.5},
+ {"x":4, "y":6, "w":7},
+ {"x":11, "y":6, "w":1.5},
+ {"x":13.5, "y":6, "w":1.5},
+ {"x":15.5, "y":6},
+ {"x":16.5, "y":6},
+ {"x":17.5, "y":6},
+ {"x":19, "y":6, "w":2},
+ {"x":21, "y":6}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json
new file mode 100644
index 0000000000..d1a63a9439
--- /dev/null
+++ b/keyboards/pabile/p20/info.json
@@ -0,0 +1,62 @@
+{
+ "keyboard_name": "P20",
+ "url": "",
+ "maintainer": "pabile",
+ "width": 4,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4}
+ ]
+ },
+ "LAYOUT_numpad_5x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":1, "h":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+
+ {"x":0, "y":4, "w":2},
+ {"x":2, "y":4},
+ {"x":3, "y":3, "h":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pimentoso/paddino02/rev1/info.json b/keyboards/pimentoso/paddino02/rev1/info.json
new file mode 100644
index 0000000000..cac61f71c1
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev1/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "Paddino02 rev1",
+ "url": "",
+ "maintainer": "Pimentoso",
+ "width": 4,
+ "height": 3.75,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.5},
+ {"x":1, "y":0.25},
+ {"x":2, "y":0},
+ {"x":3, "y":0.25},
+
+ {"x":0, "y":1.5},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1},
+ {"x":3, "y":1.25},
+
+ {"x":2, "y":2.75},
+ {"x":3, "y":2.75}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pimentoso/paddino02/rev2/left/info.json b/keyboards/pimentoso/paddino02/rev2/left/info.json
new file mode 100644
index 0000000000..ab5e306193
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev2/left/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "Paddino02 rev2 (left)",
+ "url": "",
+ "maintainer": "Pimentoso",
+ "width": 4,
+ "height": 3.75,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.5},
+ {"x":1, "y":0.25},
+ {"x":2, "y":0},
+ {"x":3, "y":0.25},
+
+ {"x":0, "y":1.5},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1},
+ {"x":3, "y":1.25},
+
+ {"x":2, "y":2.75},
+ {"x":3, "y":2.75}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pimentoso/paddino02/rev2/right/info.json b/keyboards/pimentoso/paddino02/rev2/right/info.json
new file mode 100644
index 0000000000..1ad6d32234
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev2/right/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "Paddino02 rev2 (right)",
+ "url": "",
+ "maintainer": "Pimentoso",
+ "width": 4,
+ "height": 3.75,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.25},
+ {"x":1, "y":0},
+ {"x":2, "y":0.25},
+ {"x":3, "y":0.5},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.5},
+
+ {"x":0, "y":2.75},
+ {"x":1, "y":2.75}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/3x6/info.json b/keyboards/runner3680/3x6/info.json
new file mode 100644
index 0000000000..b9a802349f
--- /dev/null
+++ b/keyboards/runner3680/3x6/info.json
@@ -0,0 +1,51 @@
+{
+ "keyboard_name": "runner3680 3x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 13,
+ "height": 3,
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/3x7/info.json b/keyboards/runner3680/3x7/info.json
new file mode 100644
index 0000000000..55b9e6dd02
--- /dev/null
+++ b/keyboards/runner3680/3x7/info.json
@@ -0,0 +1,57 @@
+{
+ "keyboard_name": "runner3680 3x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 15,
+ "height": 3,
+ "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":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},
+ {"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":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":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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/3x8/info.json b/keyboards/runner3680/3x8/info.json
new file mode 100644
index 0000000000..55a4da4bcf
--- /dev/null
+++ b/keyboards/runner3680/3x8/info.json
@@ -0,0 +1,63 @@
+{
+ "keyboard_name": "runner3680 3x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 17,
+ "height": 3,
+ "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":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":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":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":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":6, "y":2},
+ {"x":7, "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":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/4x6/info.json b/keyboards/runner3680/4x6/info.json
new file mode 100644
index 0000000000..2109d01aee
--- /dev/null
+++ b/keyboards/runner3680/4x6/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "runner3680 4x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 13,
+ "height": 4,
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/4x7/info.json b/keyboards/runner3680/4x7/info.json
new file mode 100644
index 0000000000..f066d85534
--- /dev/null
+++ b/keyboards/runner3680/4x7/info.json
@@ -0,0 +1,72 @@
+{
+ "keyboard_name": "runner3680 4x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 15,
+ "height": 4,
+ "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":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},
+ {"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":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":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":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":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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/4x8/info.json b/keyboards/runner3680/4x8/info.json
new file mode 100644
index 0000000000..6440493082
--- /dev/null
+++ b/keyboards/runner3680/4x8/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "runner3680 4x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 17,
+ "height": 4,
+ "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":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":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":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":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":6, "y":2},
+ {"x":7, "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":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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/5x6/info.json b/keyboards/runner3680/5x6/info.json
new file mode 100644
index 0000000000..5840556ffd
--- /dev/null
+++ b/keyboards/runner3680/5x6/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "runner3680 5x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 13,
+ "height": 5,
+ "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},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/5x7/info.json b/keyboards/runner3680/5x7/info.json
new file mode 100644
index 0000000000..6ccb246120
--- /dev/null
+++ b/keyboards/runner3680/5x7/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "runner3680 5x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 15,
+ "height": 5,
+ "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":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},
+ {"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":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":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":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":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":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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runner3680/5x8/info.json b/keyboards/runner3680/5x8/info.json
new file mode 100644
index 0000000000..6c2f386feb
--- /dev/null
+++ b/keyboards/runner3680/5x8/info.json
@@ -0,0 +1,97 @@
+{
+ "keyboard_name": "runner3680 5x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "width": 17,
+ "height": 5,
+ "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":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":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":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":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":6, "y":2},
+ {"x":7, "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":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":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":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4},
+ {"x":16, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/sck/gtm/info.json b/keyboards/sck/gtm/info.json
new file mode 100644
index 0000000000..7b6a6375cb
--- /dev/null
+++ b/keyboards/sck/gtm/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "Grand Theft Macro Pad",
+ "url": "",
+ "maintainer": "jrfhoutx",
+ "width": 6.5,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0},
+ {"label":"K01", "x":1, "y":0},
+ {"label":"K02", "x":2, "y":0},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K15", "x":4, "y":0},
+
+ {"label":"K10", "x":0, "y":1},
+ {"label":"K11", "x":1, "y":1},
+ {"label":"K12", "x":2, "y":1},
+ {"label":"K13", "x":3, "y":1},
+ {"label":"K14", "x":4, "y":1},
+ {"label":"K16", "x":5.5, "y":0.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/splitish/info.json b/keyboards/splitish/info.json
new file mode 100644
index 0000000000..4300950441
--- /dev/null
+++ b/keyboards/splitish/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "splitish",
+ "url": "",
+ "maintainer": "RSchneyer",
+ "width": 13,
+ "height": 4,
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/standaside/info.json b/keyboards/standaside/info.json
new file mode 100644
index 0000000000..b3be6c39ee
--- /dev/null
+++ b/keyboards/standaside/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "Stand Aside",
+ "url": "",
+ "maintainer": "fateeverywhere",
+ "width": 16,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x16": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"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":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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json
new file mode 100644
index 0000000000..b766c07211
--- /dev/null
+++ b/keyboards/ungodly/launch_pad/info.json
@@ -0,0 +1,37 @@
+{
+ "keyboard_name": "Launch Pad",
+ "url": "",
+ "maintainer": "luis-godinez",
+ "width": 4,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ortho_5x4": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/xelus/trinityxttkl/info.json b/keyboards/xelus/trinityxttkl/info.json
new file mode 100644
index 0000000000..de10202e7f
--- /dev/null
+++ b/keyboards/xelus/trinityxttkl/info.json
@@ -0,0 +1,118 @@
+{
+ "keyboard_name": "Trinity XT TKL",
+ "url": "",
+ "maintainer": "Xelus22",
+ "width": 20.5,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2.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.75, "y":0},
+ {"x":9.75, "y":0},
+ {"x":10.75, "y":0},
+ {"x":11.75, "y":0},
+ {"x":13.25, "y":0},
+ {"x":14.25, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.5, "y":0},
+ {"x":18.5, "y":0},
+ {"x":19.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "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":6.25, "y":1.25},
+ {"x":7.25, "y":1.25},
+ {"x":8.25, "y":1.25},
+ {"x":9.25, "y":1.25},
+ {"x":10.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},
+ {"x":17.5, "y":1.25},
+ {"x":18.5, "y":1.25},
+ {"x":19.5, "y":1.25},
+
+ {"x":0, "y":2.25},
+ {"x":1, "y":2.25},
+ {"x":2.25, "y":2.25, "w":1.5},
+ {"x":3.75, "y":2.25},
+ {"x":4.75, "y":2.25},
+ {"x":5.75, "y":2.25},
+ {"x":6.75, "y":2.25},
+ {"x":7.75, "y":2.25},
+ {"x":8.75, "y":2.25},
+ {"x":9.75, "y":2.25},
+ {"x":10.75, "y":2.25},
+ {"x":11.75, "y":2.25},
+ {"x":12.75, "y":2.25},
+ {"x":13.75, "y":2.25},
+ {"x":14.75, "y":2.25},
+ {"x":15.75, "y":2.25, "w":1.5},
+ {"x":17.5, "y":2.25},
+ {"x":18.5, "y":2.25},
+ {"x":19.5, "y":2.25},
+
+ {"x":0, "y":3.25},
+ {"x":1, "y":3.25},
+ {"x":2.25, "y":3.25, "w":1.75},
+ {"x":4, "y":3.25},
+ {"x":5, "y":3.25},
+ {"x":6, "y":3.25},
+ {"x":7, "y":3.25},
+ {"x":8, "y":3.25},
+ {"x":9, "y":3.25},
+ {"x":10, "y":3.25},
+ {"x":11, "y":3.25},
+ {"x":12, "y":3.25},
+ {"x":13, "y":3.25},
+ {"x":14, "y":3.25},
+ {"x":15, "y":3.25, "w":2.25},
+
+ {"x":0, "y":4.25},
+ {"x":1, "y":4.25},
+ {"x":2.25, "y":4.25, "w":2.25},
+ {"x":4.5, "y":4.25},
+ {"x":5.5, "y":4.25},
+ {"x":6.5, "y":4.25},
+ {"x":7.5, "y":4.25},
+ {"x":8.5, "y":4.25},
+ {"x":9.5, "y":4.25},
+ {"x":10.5, "y":4.25},
+ {"x":11.5, "y":4.25},
+ {"x":12.5, "y":4.25},
+ {"x":13.5, "y":4.25},
+ {"x":14.5, "y":4.25, "w":1.75},
+ {"x":16.25, "y":4.25},
+ {"x":18.5, "y":4.25},
+
+ {"x":0, "y":5.25},
+ {"x":1, "y":5.25},
+ {"x":2.25, "y":5.25, "w":1.5},
+ {"x":4.75, "y":5.25, "w":1.5},
+ {"x":6.25, "y":5.25, "w":3},
+ {"x":9.25, "y":5.25},
+ {"x":10.25, "y":5.25, "w":3},
+ {"x":13.25, "y":5.25, "w":1.5},
+ {"x":15.75, "y":5.25, "w":1.5},
+ {"x":17.5, "y":5.25},
+ {"x":18.5, "y":5.25},
+ {"x":19.5, "y":5.25}
+ ]
+ }
+ }
+}