aboutsummaryrefslogtreecommitdiff
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
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
-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 000000000..18f58daf2
--- /dev/null
+++ b/keyboards/2key2crawl/info.json
@@ -0,0 +1,25 @@
1{
2 "keyboard_name": "2Key2CrawlPad",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 6.5,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"K00", "x":0, "y":0},
11 {"label":"K01", "x":1, "y":0},
12 {"label":"K02", "x":2, "y":0},
13 {"label":"K03", "x":3, "y":0},
14 {"label":"K15", "x":4, "y":0},
15
16 {"label":"K10", "x":0, "y":1},
17 {"label":"K11", "x":1, "y":1},
18 {"label":"K12", "x":2, "y":1},
19 {"label":"K13", "x":3, "y":1},
20 {"label":"K14", "x":4, "y":1},
21 {"label":"K16", "x":5.5, "y":0.5}
22 ]
23 }
24 }
25}
diff --git a/keyboards/40percentclub/4x4/info.json b/keyboards/40percentclub/4x4/info.json
new file mode 100644
index 000000000..83012f013
--- /dev/null
+++ b/keyboards/40percentclub/4x4/info.json
@@ -0,0 +1,197 @@
1{
2 "keyboard_name": "40percent.club 4x4",
3 "url": "",
4 "maintainer": "qmk",
5 "height": 4,
6 "width": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3}
29 ]
30 },
31 "LAYOUT_ortho_4x8": {
32 "layout": [
33 {"x":0, "y":0},
34 {"x":1, "y":0},
35 {"x":2, "y":0},
36 {"x":3, "y":0},
37 {"x":4, "y":0},
38 {"x":5, "y":0},
39 {"x":6, "y":0},
40 {"x":7, "y":0},
41
42 {"x":0, "y":1},
43 {"x":1, "y":1},
44 {"x":2, "y":1},
45 {"x":3, "y":1},
46 {"x":4, "y":1},
47 {"x":5, "y":1},
48 {"x":6, "y":1},
49 {"x":7, "y":1},
50
51 {"x":0, "y":2},
52 {"x":1, "y":2},
53 {"x":2, "y":2},
54 {"x":3, "y":2},
55 {"x":4, "y":2},
56 {"x":5, "y":2},
57 {"x":6, "y":2},
58 {"x":7, "y":2},
59
60 {"x":0, "y":3},
61 {"x":1, "y":3},
62 {"x":2, "y":3},
63 {"x":3, "y":3},
64 {"x":4, "y":3},
65 {"x":5, "y":3},
66 {"x":6, "y":3},
67 {"x":7, "y":3}
68 ]
69 },
70 "LAYOUT_ortho_4x12": {
71 "layout": [
72 {"x":0, "y":0},
73 {"x":1, "y":0},
74 {"x":2, "y":0},
75 {"x":3, "y":0},
76 {"x":4, "y":0},
77 {"x":5, "y":0},
78 {"x":6, "y":0},
79 {"x":7, "y":0},
80 {"x":8, "y":0},
81 {"x":9, "y":0},
82 {"x":10, "y":0},
83 {"x":11, "y":0},
84
85 {"x":0, "y":1},
86 {"x":1, "y":1},
87 {"x":2, "y":1},
88 {"x":3, "y":1},
89 {"x":4, "y":1},
90 {"x":5, "y":1},
91 {"x":6, "y":1},
92 {"x":7, "y":1},
93 {"x":8, "y":1},
94 {"x":9, "y":1},
95 {"x":10, "y":1},
96 {"x":11, "y":1},
97
98 {"x":0, "y":2},
99 {"x":1, "y":2},
100 {"x":2, "y":2},
101 {"x":3, "y":2},
102 {"x":4, "y":2},
103 {"x":5, "y":2},
104 {"x":6, "y":2},
105 {"x":7, "y":2},
106 {"x":8, "y":2},
107 {"x":9, "y":2},
108 {"x":10, "y":2},
109 {"x":11, "y":2},
110
111 {"x":0, "y":3},
112 {"x":1, "y":3},
113 {"x":2, "y":3},
114 {"x":3, "y":3},
115 {"x":4, "y":3},
116 {"x":5, "y":3},
117 {"x":6, "y":3},
118 {"x":7, "y":3},
119 {"x":8, "y":3},
120 {"x":9, "y":3},
121 {"x":10, "y":3},
122 {"x":11, "y":3}
123 ]
124 },
125 "LAYOUT_ortho_4x16": {
126 "layout": [
127 {"x":0, "y":0},
128 {"x":1, "y":0},
129 {"x":2, "y":0},
130 {"x":3, "y":0},
131 {"x":4, "y":0},
132 {"x":5, "y":0},
133 {"x":6, "y":0},
134 {"x":7, "y":0},
135 {"x":8, "y":0},
136 {"x":9, "y":0},
137 {"x":10, "y":0},
138 {"x":11, "y":0},
139 {"x":12, "y":0},
140 {"x":13, "y":0},
141 {"x":14, "y":0},
142 {"x":15, "y":0},
143
144 {"x":0, "y":1},
145 {"x":1, "y":1},
146 {"x":2, "y":1},
147 {"x":3, "y":1},
148 {"x":4, "y":1},
149 {"x":5, "y":1},
150 {"x":6, "y":1},
151 {"x":7, "y":1},
152 {"x":8, "y":1},
153 {"x":9, "y":1},
154 {"x":10, "y":1},
155 {"x":11, "y":1},
156 {"x":12, "y":1},
157 {"x":13, "y":1},
158 {"x":14, "y":1},
159 {"x":15, "y":1},
160
161 {"x":0, "y":2},
162 {"x":1, "y":2},
163 {"x":2, "y":2},
164 {"x":3, "y":2},
165 {"x":4, "y":2},
166 {"x":5, "y":2},
167 {"x":6, "y":2},
168 {"x":7, "y":2},
169 {"x":8, "y":2},
170 {"x":9, "y":2},
171 {"x":10, "y":2},
172 {"x":11, "y":2},
173 {"x":12, "y":2},
174 {"x":13, "y":2},
175 {"x":14, "y":2},
176 {"x":15, "y":2},
177
178 {"x":0, "y":3},
179 {"x":1, "y":3},
180 {"x":2, "y":3},
181 {"x":3, "y":3},
182 {"x":4, "y":3},
183 {"x":5, "y":3},
184 {"x":6, "y":3},
185 {"x":7, "y":3},
186 {"x":8, "y":3},
187 {"x":9, "y":3},
188 {"x":10, "y":3},
189 {"x":11, "y":3},
190 {"x":12, "y":3},
191 {"x":13, "y":3},
192 {"x":14, "y":3},
193 {"x":15, "y":3}
194 ]
195 }
196 }
197}
diff --git a/keyboards/40percentclub/5x5/info.json b/keyboards/40percentclub/5x5/info.json
new file mode 100644
index 000000000..1c1df8eda
--- /dev/null
+++ b/keyboards/40percentclub/5x5/info.json
@@ -0,0 +1,183 @@
1{
2 "keyboard_name": "40percent.club 4x4",
3 "url": "",
4 "maintainer": "qmk",
5 "height": 4,
6 "width": 4,
7 "layouts": {
8 "LAYOUT_ortho_5x5": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15
16 {"x":0, "y":1},
17 {"x":1, "y":1},
18 {"x":2, "y":1},
19 {"x":3, "y":1},
20 {"x":4, "y":1},
21
22 {"x":0, "y":2},
23 {"x":1, "y":2},
24 {"x":2, "y":2},
25 {"x":3, "y":2},
26 {"x":4, "y":2},
27
28 {"x":0, "y":3},
29 {"x":1, "y":3},
30 {"x":2, "y":3},
31 {"x":3, "y":3},
32 {"x":4, "y":3},
33
34 {"x":0, "y":4},
35 {"x":1, "y":4},
36 {"x":2, "y":4},
37 {"x":3, "y":4},
38 {"x":4, "y":4}
39 ]
40 },
41 "LAYOUT_ortho_5x10": {
42 "layout": [
43 {"x":0, "y":0},
44 {"x":1, "y":0},
45 {"x":2, "y":0},
46 {"x":3, "y":0},
47 {"x":4, "y":0},
48 {"x":5, "y":0},
49 {"x":6, "y":0},
50 {"x":7, "y":0},
51 {"x":8, "y":0},
52 {"x":9, "y":0},
53
54 {"x":0, "y":1},
55 {"x":1, "y":1},
56 {"x":2, "y":1},
57 {"x":3, "y":1},
58 {"x":4, "y":1},
59 {"x":5, "y":1},
60 {"x":6, "y":1},
61 {"x":7, "y":1},
62 {"x":8, "y":1},
63 {"x":9, "y":1},
64
65 {"x":0, "y":2},
66 {"x":1, "y":2},
67 {"x":2, "y":2},
68 {"x":3, "y":2},
69 {"x":4, "y":2},
70 {"x":5, "y":2},
71 {"x":6, "y":2},
72 {"x":7, "y":2},
73 {"x":8, "y":2},
74 {"x":9, "y":2},
75
76 {"x":0, "y":3},
77 {"x":1, "y":3},
78 {"x":2, "y":3},
79 {"x":3, "y":3},
80 {"x":4, "y":3},
81 {"x":5, "y":3},
82 {"x":6, "y":3},
83 {"x":7, "y":3},
84 {"x":8, "y":3},
85 {"x":9, "y":3},
86
87 {"x":0, "y":4},
88 {"x":1, "y":4},
89 {"x":2, "y":4},
90 {"x":3, "y":4},
91 {"x":4, "y":4},
92 {"x":5, "y":4},
93 {"x":6, "y":4},
94 {"x":7, "y":4},
95 {"x":8, "y":4},
96 {"x":9, "y":4}
97 ]
98 },
99 "LAYOUT_ortho_5x15": {
100 "layout": [
101 {"x":0, "y":0},
102 {"x":1, "y":0},
103 {"x":2, "y":0},
104 {"x":3, "y":0},
105 {"x":4, "y":0},
106 {"x":5, "y":0},
107 {"x":6, "y":0},
108 {"x":7, "y":0},
109 {"x":8, "y":0},
110 {"x":9, "y":0},
111 {"x":10, "y":0},
112 {"x":11, "y":0},
113 {"x":12, "y":0},
114 {"x":13, "y":0},
115 {"x":14, "y":0},
116
117 {"x":0, "y":1},
118 {"x":1, "y":1},
119 {"x":2, "y":1},
120 {"x":3, "y":1},
121 {"x":4, "y":1},
122 {"x":5, "y":1},
123 {"x":6, "y":1},
124 {"x":7, "y":1},
125 {"x":8, "y":1},
126 {"x":9, "y":1},
127 {"x":10, "y":1},
128 {"x":11, "y":1},
129 {"x":12, "y":1},
130 {"x":13, "y":1},
131 {"x":14, "y":1},
132
133 {"x":0, "y":2},
134 {"x":1, "y":2},
135 {"x":2, "y":2},
136 {"x":3, "y":2},
137 {"x":4, "y":2},
138 {"x":5, "y":2},
139 {"x":6, "y":2},
140 {"x":7, "y":2},
141 {"x":8, "y":2},
142 {"x":9, "y":2},
143 {"x":10, "y":2},
144 {"x":11, "y":2},
145 {"x":12, "y":2},
146 {"x":13, "y":2},
147 {"x":14, "y":2},
148
149 {"x":0, "y":3},
150 {"x":1, "y":3},
151 {"x":2, "y":3},
152 {"x":3, "y":3},
153 {"x":4, "y":3},
154 {"x":5, "y":3},
155 {"x":6, "y":3},
156 {"x":7, "y":3},
157 {"x":8, "y":3},
158 {"x":9, "y":3},
159 {"x":10, "y":3},
160 {"x":11, "y":3},
161 {"x":12, "y":3},
162 {"x":13, "y":3},
163 {"x":14, "y":3},
164
165 {"x":0, "y":4},
166 {"x":1, "y":4},
167 {"x":2, "y":4},
168 {"x":3, "y":4},
169 {"x":4, "y":4},
170 {"x":5, "y":4},
171 {"x":6, "y":4},
172 {"x":7, "y":4},
173 {"x":8, "y":4},
174 {"x":9, "y":4},
175 {"x":10, "y":4},
176 {"x":11, "y":4},
177 {"x":12, "y":4},
178 {"x":13, "y":4},
179 {"x":14, "y":4}
180 ]
181 }
182 }
183}
diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json
new file mode 100644
index 000000000..7f5b09cdc
--- /dev/null
+++ b/keyboards/4pplet/aekiso60/rev_a/info.json
@@ -0,0 +1,81 @@
1{
2 "keyboard_name": "AEKISO60 Rev A",
3 "url": "",
4 "maintainer": "4pplet",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0, "w":1.25},
11 {"x":1.25, "y":0},
12 {"x":2.25, "y":0},
13 {"x":3.25, "y":0},
14 {"x":4.25, "y":0},
15 {"x":5.25, "y":0},
16 {"x":6.25, "y":0},
17 {"x":7.25, "y":0},
18 {"x":8.25, "y":0},
19 {"x":9.25, "y":0},
20 {"x":10.25, "y":0},
21 {"x":11.25, "y":0},
22 {"x":12.25, "y":0},
23 {"x":13.25, "y":0, "w":1.75},
24
25 {"x":0, "y":1, "w":1.75},
26 {"x":1.75, "y":1},
27 {"x":2.75, "y":1},
28 {"x":3.75, "y":1},
29 {"x":4.75, "y":1},
30 {"x":5.75, "y":1},
31 {"x":6.75, "y":1},
32 {"x":7.75, "y":1},
33 {"x":8.75, "y":1},
34 {"x":9.75, "y":1},
35 {"x":10.75, "y":1},
36 {"x":11.75, "y":1},
37 {"x":12.75, "y":1},
38
39 {"x":0, "y":2, "w":2},
40 {"x":2, "y":2},
41 {"x":3, "y":2},
42 {"x":4, "y":2},
43 {"x":5, "y":2},
44 {"x":6, "y":2},
45 {"x":7, "y":2},
46 {"x":8, "y":2},
47 {"x":9, "y":2},
48 {"x":10, "y":2},
49 {"x":11, "y":2},
50 {"x":12, "y":2},
51 {"x":13, "y":2},
52 {"x":14, "y":1, "h":2},
53
54 {"x":0, "y":3, "w":1.5},
55 {"x":1.5, "y":3},
56 {"x":2.5, "y":3},
57 {"x":3.5, "y":3},
58 {"x":4.5, "y":3},
59 {"x":5.5, "y":3},
60 {"x":6.5, "y":3},
61 {"x":7.5, "y":3},
62 {"x":8.5, "y":3},
63 {"x":9.5, "y":3},
64 {"x":10.5, "y":3},
65 {"x":11.5, "y":3},
66 {"x":12.5, "y":3, "w":1.5},
67 {"x":14, "y":3},
68
69 {"x":0, "y":4, "w":1.5},
70 {"x":1.5, "y":4, "w":1.25},
71 {"x":2.75, "y":4, "w":1.5},
72 {"x":4.25, "y":4, "w":2.75},
73 {"x":7, "y":4},
74 {"x":8, "y":4, "w":2.75},
75 {"x":10.75, "y":4, "w":1.5},
76 {"x":12.25, "y":4, "w":1.25},
77 {"x":13.5, "y":4, "w":1.5}
78 ]
79 }
80 }
81}
diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/info.json
new file mode 100644
index 000000000..194418713
--- /dev/null
+++ b/keyboards/4pplet/steezy60/rev_a/info.json
@@ -0,0 +1,87 @@
1{
2 "keyboard_name": "Steezy60 Rev A",
3 "url": "",
4 "maintainer": "4pplet",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25
26 {"x":0, "y":1, "w":1.5},
27 {"x":1.5, "y":1},
28 {"x":2.5, "y":1},
29 {"x":3.5, "y":1},
30 {"x":4.5, "y":1},
31 {"x":5.5, "y":1},
32 {"x":6.5, "y":1},
33 {"x":7.5, "y":1},
34 {"x":8.5, "y":1},
35 {"x":9.5, "y":1},
36 {"x":10.5, "y":1},
37 {"x":11.5, "y":1},
38 {"x":12.5, "y":1},
39 {"x":13.5, "y":1, "w":1.5},
40
41 {"x":0, "y":2, "w":1.75},
42 {"x":1.75, "y":2},
43 {"x":2.75, "y":2},
44 {"x":3.75, "y":2},
45 {"x":4.75, "y":2},
46 {"x":5.75, "y":2},
47 {"x":6.75, "y":2},
48 {"x":7.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"x":11.75, "y":2},
53 {"x":12.75, "y":2},
54 {"x":13.75, "y":2, "w":1.25},
55
56 {"x":0, "y":3},
57 {"x":1, "y":3},
58 {"x":2, "y":3},
59 {"x":3, "y":3},
60 {"x":4, "y":3},
61 {"x":5, "y":3},
62 {"x":6, "y":3},
63 {"x":7, "y":3},
64 {"x":8, "y":3},
65 {"x":9, "y":3},
66 {"x":10, "y":3},
67 {"x":11, "y":3},
68 {"x":12, "y":3},
69 {"x":13, "y":3},
70 {"x":14, "y":3},
71
72 {"x":0, "y":4},
73 {"x":1, "y":4},
74 {"x":2, "y":4},
75 {"x":3, "y":4},
76 {"x":4, "y":4, "w":2.25},
77 {"x":6.25, "y":4, "w":1.5},
78 {"x":7.75, "y":4, "w":2.25},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4}
84 ]
85 }
86 }
87}
diff --git a/keyboards/6ball/info.json b/keyboards/6ball/info.json
new file mode 100644
index 000000000..d06f3448c
--- /dev/null
+++ b/keyboards/6ball/info.json
@@ -0,0 +1,20 @@
1{
2 "keyboard_name": "6-Ball",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 3,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13
14 {"x":0, "y":1},
15 {"x":1, "y":1},
16 {"x":2, "y":1}
17 ]
18 }
19 }
20}
diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json
new file mode 100644
index 000000000..5be8d0937
--- /dev/null
+++ b/keyboards/7c8/framework/info.json
@@ -0,0 +1,210 @@
1{
2 "keyboard_name": "Framework",
3 "url": "",
4 "maintainer": "stevennguyen",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x12": {
9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 1, "y": 0},
12 {"x": 2, "y": 0},
13 {"x": 3, "y": 0},
14 {"x": 4, "y": 0},
15 {"x": 5, "y": 0},
16 {"x": 6, "y": 0},
17 {"x": 7, "y": 0},
18 {"x": 8, "y": 0},
19 {"x": 9, "y": 0},
20 {"x": 10, "y": 0},
21 {"x": 11, "y": 0},
22
23 {"x": 0, "y": 1},
24 {"x": 1, "y": 1},
25 {"x": 2, "y": 1},
26 {"x": 3, "y": 1},
27 {"x": 4, "y": 1},
28 {"x": 5, "y": 1},
29 {"x": 6, "y": 1},
30 {"x": 7, "y": 1},
31 {"x": 8, "y": 1},
32 {"x": 9, "y": 1},
33 {"x": 10, "y": 1},
34 {"x": 11, "y": 1},
35
36 {"x": 0, "y": 2},
37 {"x": 1, "y": 2},
38 {"x": 2, "y": 2},
39 {"x": 3, "y": 2},
40 {"x": 4, "y": 2},
41 {"x": 5, "y": 2},
42 {"x": 6, "y": 2},
43 {"x": 7, "y": 2},
44 {"x": 8, "y": 2},
45 {"x": 9, "y": 2},
46 {"x": 10, "y": 2},
47 {"x": 11, "y": 2},
48
49 {"x": 0, "y": 3},
50 {"x": 1, "y": 3},
51 {"x": 2, "y": 3},
52 {"x": 3, "y": 3},
53 {"x": 4, "y": 3},
54 {"x": 5, "y": 3},
55 {"x": 6, "y": 3},
56 {"x": 7, "y": 3},
57 {"x": 8, "y": 3},
58 {"x": 9, "y": 3},
59 {"x": 10, "y": 3},
60 {"x": 11, "y": 3},
61
62 {"x": 0, "y": 4},
63 {"x": 1, "y": 4},
64 {"x": 2, "y": 4},
65 {"x": 3, "y": 4},
66 {"x": 4, "y": 4},
67 {"x": 5, "y": 4},
68 {"x": 6, "y": 4},
69 {"x": 7, "y": 4},
70 {"x": 8, "y": 4},
71 {"x": 9, "y": 4},
72 {"x": 10, "y": 4},
73 {"x": 11, "y": 4}
74 ]
75 },
76 "LAYOUT_ortho_5x12_1x2uC": {
77 "layout": [
78 {"x": 0, "y": 0},
79 {"x": 1, "y": 0},
80 {"x": 2, "y": 0},
81 {"x": 3, "y": 0},
82 {"x": 4, "y": 0},
83 {"x": 5, "y": 0},
84 {"x": 6, "y": 0},
85 {"x": 7, "y": 0},
86 {"x": 8, "y": 0},
87 {"x": 9, "y": 0},
88 {"x": 10, "y": 0},
89 {"x": 11, "y": 0},
90
91 {"x": 0, "y": 1},
92 {"x": 1, "y": 1},
93 {"x": 2, "y": 1},
94 {"x": 3, "y": 1},
95 {"x": 4, "y": 1},
96 {"x": 5, "y": 1},
97 {"x": 6, "y": 1},
98 {"x": 7, "y": 1},
99 {"x": 8, "y": 1},
100 {"x": 9, "y": 1},
101 {"x": 10, "y": 1},
102 {"x": 11, "y": 1},
103
104 {"x": 0, "y": 2},
105 {"x": 1, "y": 2},
106 {"x": 2, "y": 2},
107 {"x": 3, "y": 2},
108 {"x": 4, "y": 2},
109 {"x": 5, "y": 2},
110 {"x": 6, "y": 2},
111 {"x": 7, "y": 2},
112 {"x": 8, "y": 2},
113 {"x": 9, "y": 2},
114 {"x": 10, "y": 2},
115 {"x": 11, "y": 2},
116
117 {"x": 0, "y": 3},
118 {"x": 1, "y": 3},
119 {"x": 2, "y": 3},
120 {"x": 3, "y": 3},
121 {"x": 4, "y": 3},
122 {"x": 5, "y": 3},
123 {"x": 6, "y": 3},
124 {"x": 7, "y": 3},
125 {"x": 8, "y": 3},
126 {"x": 9, "y": 3},
127 {"x": 10, "y": 3},
128 {"x": 11, "y": 3},
129
130 {"x": 0, "y": 4},
131 {"x": 1, "y": 4},
132 {"x": 2, "y": 4},
133 {"x": 3, "y": 4},
134 {"x": 4, "y": 4},
135 {"x": 5, "y": 4, "w": 2},
136 {"x": 7, "y": 4},
137 {"x": 8, "y": 4},
138 {"x": 9, "y": 4},
139 {"x": 10, "y": 4},
140 {"x": 11, "y": 4}
141 ]
142 },
143 "LAYOUT_preonic_2x2u": {
144 "layout": [
145 {"x": 0, "y": 0},
146 {"x": 1, "y": 0},
147 {"x": 2, "y": 0},
148 {"x": 3, "y": 0},
149 {"x": 4, "y": 0},
150 {"x": 5, "y": 0},
151 {"x": 6, "y": 0},
152 {"x": 7, "y": 0},
153 {"x": 8, "y": 0},
154 {"x": 9, "y": 0},
155 {"x": 10, "y": 0},
156 {"x": 11, "y": 0},
157
158 {"x": 0, "y": 1},
159 {"x": 1, "y": 1},
160 {"x": 2, "y": 1},
161 {"x": 3, "y": 1},
162 {"x": 4, "y": 1},
163 {"x": 5, "y": 1},
164 {"x": 6, "y": 1},
165 {"x": 7, "y": 1},
166 {"x": 8, "y": 1},
167 {"x": 9, "y": 1},
168 {"x": 10, "y": 1},
169 {"x": 11, "y": 1},
170
171 {"x": 0, "y": 2},
172 {"x": 1, "y": 2},
173 {"x": 2, "y": 2},
174 {"x": 3, "y": 2},
175 {"x": 4, "y": 2},
176 {"x": 5, "y": 2},
177 {"x": 6, "y": 2},
178 {"x": 7, "y": 2},
179 {"x": 8, "y": 2},
180 {"x": 9, "y": 2},
181 {"x": 10, "y": 2},
182 {"x": 11, "y": 2},
183
184 {"x": 0, "y": 3},
185 {"x": 1, "y": 3},
186 {"x": 2, "y": 3},
187 {"x": 3, "y": 3},
188 {"x": 4, "y": 3},
189 {"x": 5, "y": 3},
190 {"x": 6, "y": 3},
191 {"x": 7, "y": 3},
192 {"x": 8, "y": 3},
193 {"x": 9, "y": 3},
194 {"x": 10, "y": 3},
195 {"x": 11, "y": 3},
196
197 {"x": 0, "y": 4},
198 {"x": 1, "y": 4},
199 {"x": 2, "y": 4},
200 {"x": 3, "y": 4},
201 {"x": 4, "y": 4, "w": 2},
202 {"x": 6, "y": 4, "w": 2},
203 {"x": 8, "y": 4},
204 {"x": 9, "y": 4},
205 {"x": 10, "y": 4},
206 {"x": 11, "y": 4}
207 ]
208 }
209 }
210}
diff --git a/keyboards/aeboards/constellation/info.json b/keyboards/aeboards/constellation/info.json
new file mode 100644
index 000000000..172ac4dfa
--- /dev/null
+++ b/keyboards/aeboards/constellation/info.json
@@ -0,0 +1,85 @@
1{
2 "keyboard_name": "Constellation",
3 "url": "",
4 "maintainer": "Xelus22",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15, "y":0},
26
27 {"x":0, "y":1, "w":1.5},
28 {"x":1.5, "y":1},
29 {"x":2.5, "y":1},
30 {"x":3.5, "y":1},
31 {"x":4.5, "y":1},
32 {"x":5.5, "y":1},
33 {"x":6.5, "y":1},
34 {"x":7.5, "y":1},
35 {"x":8.5, "y":1},
36 {"x":9.5, "y":1},
37 {"x":10.5, "y":1},
38 {"x":11.5, "y":1},
39 {"x":12.5, "y":1},
40 {"x":13.5, "y":1, "w":1.5},
41 {"x":15, "y":1},
42
43 {"x":0, "y":2, "w":1.75},
44 {"x":1.75, "y":2},
45 {"x":2.75, "y":2},
46 {"x":3.75, "y":2},
47 {"x":4.75, "y":2},
48 {"x":5.75, "y":2},
49 {"x":6.75, "y":2},
50 {"x":7.75, "y":2},
51 {"x":8.75, "y":2},
52 {"x":9.75, "y":2},
53 {"x":10.75, "y":2},
54 {"label":"\"", "x":11.75, "y":2},
55 {"x":12.75, "y":2, "w":2.25},
56 {"x":15, "y":2},
57
58 {"x":0, "y":3, "w":2.25},
59 {"x":2.25, "y":3},
60 {"x":3.25, "y":3},
61 {"x":4.25, "y":3},
62 {"x":5.25, "y":3},
63 {"x":6.25, "y":3},
64 {"x":7.25, "y":3},
65 {"x":8.25, "y":3},
66 {"x":9.25, "y":3},
67 {"x":10.25, "y":3},
68 {"x":11.25, "y":3},
69 {"x":12.25, "y":3, "w":1.75},
70 {"x":14, "y":3},
71 {"x":15, "y":3},
72
73 {"x":0, "y":4, "w":1.25},
74 {"x":1.25, "y":4, "w":1.25},
75 {"x":2.5, "y":4, "w":1.25},
76 {"x":3.75, "y":4, "w":6.25},
77 {"x":10, "y":4, "w":1.5},
78 {"x":11.5, "y":4, "w":1.5},
79 {"x":13, "y":4},
80 {"x":14, "y":4},
81 {"x":15, "y":4}
82 ]
83 }
84 }
85}
diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json
new file mode 100644
index 000000000..5ecf6762a
--- /dev/null
+++ b/keyboards/alpine65/info.json
@@ -0,0 +1,84 @@
1{
2 "keyboard_name": "Alpine65",
3 "url": "",
4 "maintainer": "Gondolindrim",
5 "width": 16.25,
6 "height": 5.25,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0, "w":2},
24
25 {"x":0, "y":1, "w":1.5},
26 {"x":1.5, "y":1},
27 {"x":2.5, "y":1},
28 {"x":3.5, "y":1},
29 {"x":4.5, "y":1},
30 {"x":5.5, "y":1},
31 {"x":6.5, "y":1},
32 {"x":7.5, "y":1},
33 {"x":8.5, "y":1},
34 {"x":9.5, "y":1},
35 {"x":10.5, "y":1},
36 {"x":11.5, "y":1},
37 {"x":12.5, "y":1},
38 {"x":13.5, "y":1, "w":1.5},
39 {"x":15.25, "y":1.25},
40
41 {"x":0, "y":2, "w":1.75},
42 {"x":1.75, "y":2},
43 {"x":2.75, "y":2},
44 {"x":3.75, "y":2},
45 {"x":4.75, "y":2},
46 {"x":5.75, "y":2},
47 {"x":6.75, "y":2},
48 {"x":7.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"x":11.75, "y":2},
53 {"x":12.75, "y":2, "w":2.25},
54 {"x":15.25, "y":2.25},
55
56 {"x":0, "y":3, "w":2.25},
57 {"x":2.25, "y":3},
58 {"x":3.25, "y":3},
59 {"x":4.25, "y":3},
60 {"x":5.25, "y":3},
61 {"x":6.25, "y":3},
62 {"x":7.25, "y":3},
63 {"x":8.25, "y":3},
64 {"x":9.25, "y":3},
65 {"x":10.25, "y":3},
66 {"x":11.25, "y":3},
67 {"x":12.25, "y":3, "w":1.75},
68 {"x":14.25, "y":3.25},
69 {"x":15.25, "y":3.25},
70
71 {"x":0, "y":4, "w":1.25},
72 {"x":1.25, "y":4, "w":1.25},
73 {"x":2.5, "y":4, "w":1.25},
74 {"x":3.75, "y":4, "w":6.25},
75 {"x":10, "y":4},
76 {"x":11, "y":4},
77 {"x":12, "y":4},
78 {"x":13.25, "y":4.25},
79 {"x":14.25, "y":4.25},
80 {"x":15.25, "y":4.25}
81 ]
82 }
83 }
84}
diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json
new file mode 100644
index 000000000..97a9ac8d4
--- /dev/null
+++ b/keyboards/aplyard/aplx6/info.json
@@ -0,0 +1,20 @@
1{
2 "keyboard_name": "Aplx6",
3 "url": "",
4 "maintainer": "Aplyard",
5 "width": 3,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13
14 {"x":0, "y":1},
15 {"x":1, "y":1},
16 {"x":2, "y":1}
17 ]
18 }
19 }
20}
diff --git a/keyboards/arch_36/info.json b/keyboards/arch_36/info.json
new file mode 100644
index 000000000..aedc65816
--- /dev/null
+++ b/keyboards/arch_36/info.json
@@ -0,0 +1,52 @@
1{
2 "keyboard_name": "Arch-36",
3 "url": "",
4 "maintainer": "obosob",
5 "width": 14,
6 "height": 5.1,
7 "layouts": {
8 "LAYOUT_split_3x5_3": {
9 "layout": [
10 {"x":0, "y":1},
11 {"x":1, "y":0.25},
12 {"x":2, "y":0},
13 {"x":3, "y":0.375},
14 {"x":4, "y":0.5},
15 {"x":9, "y":0.5},
16 {"x":10, "y":0.375},
17 {"x":11, "y":0},
18 {"x":12, "y":0.25},
19 {"x":13, "y":1},
20
21 {"x":0, "y":2},
22 {"x":1, "y":1.25},
23 {"x":2, "y":1},
24 {"x":3, "y":1.375},
25 {"x":4, "y":1.5},
26 {"x":9, "y":1.5},
27 {"x":10, "y":1.375},
28 {"x":11, "y":1},
29 {"x":12, "y":1.25},
30 {"x":13, "y":2},
31
32 {"x":0, "y":3},
33 {"x":1, "y":2.25},
34 {"x":2, "y":2},
35 {"x":3, "y":2.375},
36 {"x":4, "y":2.5},
37 {"x":9, "y":2.5},
38 {"x":10, "y":2.375},
39 {"x":11, "y":2},
40 {"x":12, "y":2.25},
41 {"x":13, "y":3},
42
43 {"x":3.5, "y":3.5},
44 {"x":4.5, "y":3.7},
45 {"x":5.5, "y":4.1},
46 {"x":7.5, "y":4.1},
47 {"x":8.5, "y":3.7},
48 {"x":9.5, "y":3.5}
49 ]
50 }
51 }
52}
diff --git a/keyboards/arisu/info.json b/keyboards/arisu/info.json
new file mode 100644
index 000000000..213613d76
--- /dev/null
+++ b/keyboards/arisu/info.json
@@ -0,0 +1,84 @@
1{
2 "keyboard_name": "Arisu",
3 "url": "https://github.com/FateNozomi/arisu-pcb",
4 "maintainer": "FateNozomi",
5 "width": 18.3,
6 "height": 5.25,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":9, "y":0},
18 {"x":10, "y":0},
19 {"x":11, "y":0},
20 {"x":12, "y":0},
21 {"x":13, "y":0},
22 {"x":14, "y":0},
23 {"x":15, "y":0},
24 {"x":16, "y":0},
25 {"x":17.3, "y":0},
26
27 {"x":0, "y":1, "w":1.5},
28 {"x":1.5, "y":1},
29 {"x":2.5, "y":1},
30 {"x":3.5, "y":1},
31 {"x":4.5, "y":1},
32 {"x":5.5, "y":1},
33 {"x":8.5, "y":1},
34 {"x":9.5, "y":1},
35 {"x":10.5, "y":1},
36 {"x":11.5, "y":1},
37 {"x":12.5, "y":1},
38 {"x":13.5, "y":1},
39 {"x":14.5, "y":1},
40 {"x":15.5, "y":1, "w":1.5},
41 {"x":17.3, "y":1},
42
43 {"x":0, "y":2, "w":1.75},
44 {"x":1.75, "y":2},
45 {"x":2.75, "y":2},
46 {"x":3.75, "y":2},
47 {"x":4.75, "y":2},
48 {"x":5.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"x":11.75, "y":2},
53 {"x":12.75, "y":2},
54 {"x":13.75, "y":2},
55 {"x":14.75, "y":2, "w":2.25},
56 {"x":17.3, "y":2},
57
58 {"x":0, "y":3, "w":2.25},
59 {"x":2.25, "y":3},
60 {"x":3.25, "y":3},
61 {"x":4.25, "y":3},
62 {"x":5.25, "y":3},
63 {"x":6.25, "y":3},
64 {"x":9.25, "y":3},
65 {"x":10.25, "y":3},
66 {"x":11.25, "y":3},
67 {"x":12.25, "y":3},
68 {"x":13.25, "y":3},
69 {"x":14.25, "y":3, "w":1.75},
70 {"x":16.3, "y":3.25},
71
72 {"x":0, "y":4, "w":1.5},
73 {"x":3.25, "y":4, "w":1.5},
74 {"x":4.75, "y":4, "w":2},
75 {"x":6.75, "y":4, "w":1.25},
76 {"x":8.75, "y":4, "w":2.75},
77 {"x":11.5, "y":4, "w":1.5},
78 {"x":15.3, "y":4.25},
79 {"x":16.3, "y":4.25},
80 {"x":17.3, "y":4.25}
81 ]
82 }
83 }
84}
diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json
new file mode 100644
index 000000000..5eb72471e
--- /dev/null
+++ b/keyboards/box75/info.json
@@ -0,0 +1,101 @@
1{
2 "keyboard_name": "BOX75",
3 "url": "",
4 "maintainer": "Gondolindrim",
5 "width": 16.25,
6 "height": 6.375,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.25, "y":0},
12 {"x":2.25, "y":0},
13 {"x":3.25, "y":0},
14 {"x":4.25, "y":0},
15 {"x":5.5, "y":0},
16 {"x":6.5, "y":0},
17 {"x":7.5, "y":0},
18 {"x":8.5, "y":0},
19 {"x":9.75, "y":0},
20 {"x":10.75, "y":0},
21 {"x":11.75, "y":0},
22 {"x":12.75, "y":0},
23 {"x":14, "y":0},
24 {"x":15.25, "y":0},
25
26 {"x":0, "y":1.25},
27 {"x":1, "y":1.25},
28 {"x":2, "y":1.25},
29 {"x":3, "y":1.25},
30 {"x":4, "y":1.25},
31 {"x":5, "y":1.25},
32 {"x":6, "y":1.25},
33 {"x":7, "y":1.25},
34 {"x":8, "y":1.25},
35 {"x":9, "y":1.25},
36 {"x":10, "y":1.25},
37 {"x":11, "y":1.25},
38 {"x":12, "y":1.25},
39 {"x":13, "y":1.25, "w":2},
40 {"x":15.25, "y":1.25},
41
42 {"x":0, "y":2.25, "w":1.5},
43 {"x":1.5, "y":2.25},
44 {"x":2.5, "y":2.25},
45 {"x":3.5, "y":2.25},
46 {"x":4.5, "y":2.25},
47 {"x":5.5, "y":2.25},
48 {"x":6.5, "y":2.25},
49 {"x":7.5, "y":2.25},
50 {"x":8.5, "y":2.25},
51 {"x":9.5, "y":2.25},
52 {"x":10.5, "y":2.25},
53 {"x":11.5, "y":2.25},
54 {"x":12.5, "y":2.25},
55 {"x":13.5, "y":2.25, "w":1.5},
56 {"x":15.25, "y":2.25},
57
58 {"x":0, "y":3.25, "w":1.75},
59 {"x":1.75, "y":3.25},
60 {"x":2.75, "y":3.25},
61 {"x":3.75, "y":3.25},
62 {"x":4.75, "y":3.25},
63 {"x":5.75, "y":3.25},
64 {"x":6.75, "y":3.25},
65 {"x":7.75, "y":3.25},
66 {"x":8.75, "y":3.25},
67 {"x":9.75, "y":3.25},
68 {"x":10.75, "y":3.25},
69 {"x":11.75, "y":3.25},
70 {"x":12.75, "y":3.25, "w":2.25},
71 {"x":15.25, "y":3.25},
72
73 {"x":0, "y":4.25, "w":2.25},
74 {"x":2.25, "y":4.25},
75 {"x":3.25, "y":4.25},
76 {"x":4.25, "y":4.25},
77 {"x":5.25, "y":4.25},
78 {"x":6.25, "y":4.25},
79 {"x":7.25, "y":4.25},
80 {"x":8.25, "y":4.25},
81 {"x":9.25, "y":4.25},
82 {"x":10.25, "y":4.25},
83 {"x":11.25, "y":4.25},
84 {"x":12.25, "y":4.25, "w":1.75},
85 {"x":14.125, "y":4.375},
86 {"x":15.25, "y":4.25},
87
88 {"x":0, "y":5.25, "w":1.25},
89 {"x":1.25, "y":5.25, "w":1.25},
90 {"x":2.5, "y":5.25, "w":1.25},
91 {"x":3.75, "y":5.25, "w":6.25},
92 {"x":10, "y":5.25},
93 {"x":11, "y":5.25},
94 {"x":12, "y":5.25},
95 {"x":13.125, "y":5.375},
96 {"x":14.125, "y":5.375},
97 {"x":15.125, "y":5.375}
98 ]
99 }
100 }
101}
diff --git a/keyboards/butterstick/info.json b/keyboards/butterstick/info.json
new file mode 100644
index 000000000..6e3f16479
--- /dev/null
+++ b/keyboards/butterstick/info.json
@@ -0,0 +1,34 @@
1{
2 "keyboard_name": "Butter Stick",
3 "url": "",
4 "maintainer": "germ",
5 "width": 10,
6 "height": 2,
7 "layouts": {
8 "LAYOUT_butter": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20
21 {"x":0, "y":1},
22 {"x":1, "y":1},
23 {"x":2, "y":1},
24 {"x":3, "y":1},
25 {"x":4, "y":1},
26 {"x":5, "y":1},
27 {"x":6, "y":1},
28 {"x":7, "y":1},
29 {"x":8, "y":1},
30 {"x":9, "y":1}
31 ]
32 }
33 }
34}
diff --git a/keyboards/four_banger/info.json b/keyboards/four_banger/info.json
new file mode 100644
index 000000000..bb34a4787
--- /dev/null
+++ b/keyboards/four_banger/info.json
@@ -0,0 +1,18 @@
1{
2 "keyboard_name": "Four Banger",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 2,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12
13 {"x":0, "y":1},
14 {"x":1, "y":1}
15 ]
16 }
17 }
18}
diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json
new file mode 100644
index 000000000..874ce7d88
--- /dev/null
+++ b/keyboards/geekboards/tester/info.json
@@ -0,0 +1,22 @@
1{
2 "keyboard_name": "Geekboards 8-keys macropad",
3 "url": "",
4 "maintainer": "moyi4681",
5 "width": 4,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1}
19 ]
20 }
21 }
22}
diff --git a/keyboards/handwired/2x5keypad/info.json b/keyboards/handwired/2x5keypad/info.json
new file mode 100644
index 000000000..2cc66f366
--- /dev/null
+++ b/keyboards/handwired/2x5keypad/info.json
@@ -0,0 +1,24 @@
1{
2 "keyboard_name": "2x5keypad",
3 "url": "",
4 "maintainer": "jmcameron",
5 "width": 5,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15
16 {"x":0, "y":1},
17 {"x":1, "y":1},
18 {"x":2, "y":1},
19 {"x":3, "y":1},
20 {"x":4, "y":1}
21 ]
22 }
23 }
24}
diff --git a/keyboards/handwired/412_64/info.json b/keyboards/handwired/412_64/info.json
new file mode 100644
index 000000000..8d0d14ef9
--- /dev/null
+++ b/keyboards/handwired/412_64/info.json
@@ -0,0 +1,80 @@
1{
2 "keyboard_name": "412-64",
3 "url": "",
4 "maintainer": "fateeverywhere",
5 "width": 16,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x16": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15, "y":0},
26
27 {"x":0, "y":1},
28 {"x":1, "y":1},
29 {"x":2, "y":1},
30 {"x":3, "y":1},
31 {"x":4, "y":1},
32 {"x":5, "y":1},
33 {"x":6, "y":1},
34 {"x":7, "y":1},
35 {"x":8, "y":1},
36 {"x":9, "y":1},
37 {"x":10, "y":1},
38 {"x":11, "y":1},
39 {"x":12, "y":1},
40 {"x":13, "y":1},
41 {"x":14, "y":1},
42 {"x":15, "y":1},
43
44 {"x":0, "y":2},
45 {"x":1, "y":2},
46 {"x":2, "y":2},
47 {"x":3, "y":2},
48 {"x":4, "y":2},
49 {"x":5, "y":2},
50 {"x":6, "y":2},
51 {"x":7, "y":2},
52 {"x":8, "y":2},
53 {"x":9, "y":2},
54 {"x":10, "y":2},
55 {"x":11, "y":2},
56 {"x":12, "y":2},
57 {"x":13, "y":2},
58 {"x":14, "y":2},
59 {"x":15, "y":2},
60
61 {"x":0, "y":3},
62 {"x":1, "y":3},
63 {"x":2, "y":3},
64 {"x":3, "y":3},
65 {"x":4, "y":3},
66 {"x":5, "y":3},
67 {"x":6, "y":3},
68 {"x":7, "y":3},
69 {"x":8, "y":3},
70 {"x":9, "y":3},
71 {"x":10, "y":3},
72 {"x":11, "y":3},
73 {"x":12, "y":3},
74 {"x":13, "y":3},
75 {"x":14, "y":3},
76 {"x":15, "y":3}
77 ]
78 }
79 }
80}
diff --git a/keyboards/handwired/42/info.json b/keyboards/handwired/42/info.json
new file mode 100644
index 000000000..0d5b56561
--- /dev/null
+++ b/keyboards/handwired/42/info.json
@@ -0,0 +1,58 @@
1{
2 "keyboard_name": "42",
3 "url": "",
4 "maintainer": "nglgzz",
5 "width": 14.5,
6 "height": 5.417,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0.625},
11 {"x":1, "y":0.417},
12 {"x":2, "y":0.208},
13 {"x":3, "y":0},
14 {"x":4, "y":0.208},
15 {"x":5, "y":0.417},
16 {"x":8.5, "y":0.417},
17 {"x":9.5, "y":0.208},
18 {"x":10.5, "y":0},
19 {"x":11.5, "y":0.208},
20 {"x":12.5, "y":0.417},
21 {"x":13.5, "y":0.625},
22
23 {"x":0, "y":1.625},
24 {"x":1, "y":1.417},
25 {"x":2, "y":1.208},
26 {"x":3, "y":1},
27 {"x":4, "y":1.208},
28 {"x":5, "y":1.417},
29 {"x":8.5, "y":1.417},
30 {"x":9.5, "y":1.208},
31 {"x":10.5, "y":1},
32 {"x":11.5, "y":1.208},
33 {"x":12.5, "y":1.417},
34 {"x":13.5, "y":1.625},
35
36 {"x":0, "y":2.625},
37 {"x":1, "y":2.417},
38 {"x":2, "y":2.208},
39 {"x":3, "y":2},
40 {"x":4, "y":2.208},
41 {"x":5, "y":2.417},
42 {"x":8.5, "y":2.417},
43 {"x":9.5, "y":2.208},
44 {"x":10.5, "y":2},
45 {"x":11.5, "y":2.208},
46 {"x":12.5, "y":2.417},
47 {"x":13.5, "y":2.625},
48
49 {"x":4, "y":3.208},
50 {"x":5, "y":3.417},
51 {"x":5.75, "y":4.417},
52 {"x":7.75, "y":4.417},
53 {"x":8.5, "y":3.417},
54 {"x":9.5, "y":3.208}
55 ]
56 }
57 }
58}
diff --git a/keyboards/handwired/aplx2/info.json b/keyboards/handwired/aplx2/info.json
new file mode 100644
index 000000000..6ca10a44f
--- /dev/null
+++ b/keyboards/handwired/aplx2/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "Aplx2",
3 "url": "",
4 "maintainer": "Aplyard",
5 "width": 2,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0}
12 ]
13 }
14 }
15}
diff --git a/keyboards/handwired/brain/info.json b/keyboards/handwired/brain/info.json
new file mode 100644
index 000000000..37454b5bc
--- /dev/null
+++ b/keyboards/handwired/brain/info.json
@@ -0,0 +1,73 @@
1{
2 "keyboard_name": "Brain",
3 "url": "",
4 "maintainer": "Klackygears",
5 "width": 15,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":1, "y":1},
11 {"x":2, "y":0.5},
12 {"x":3, "y":0},
13 {"x":4, "y":0.5},
14 {"x":5, "y":0.75},
15 {"x":6, "y":1},
16 {"x":8, "y":1},
17 {"x":9, "y":0.75},
18 {"x":10, "y":0.5},
19 {"x":11, "y":0},
20 {"x":12, "y":0.5},
21 {"x":13, "y":1},
22
23 {"x":0, "y":2.25},
24 {"x":1, "y":2},
25 {"x":2, "y":1.5},
26 {"x":3, "y":1},
27 {"x":4, "y":1.5},
28 {"x":5, "y":1.75},
29 {"x":6, "y":2},
30 {"x":8, "y":2},
31 {"x":9, "y":1.75},
32 {"x":10, "y":1.5},
33 {"x":11, "y":1},
34 {"x":12, "y":1.5},
35 {"x":13, "y":2},
36 {"x":14, "y":2.25},
37
38 {"x":0, "y":3.25},
39 {"x":1, "y":3},
40 {"x":2, "y":2.5},
41 {"x":3, "y":2},
42 {"x":4, "y":2.5},
43 {"x":5, "y":2.75},
44 {"x":6, "y":3},
45 {"x":8, "y":3},
46 {"x":9, "y":2.75},
47 {"x":10, "y":2.5},
48 {"x":11, "y":2},
49 {"x":12, "y":2.5},
50 {"x":13, "y":3},
51 {"x":14, "y":3.25},
52
53 {"x":1, "y":4},
54 {"x":2, "y":3.5},
55 {"x":3.5, "y":4.25},
56 {"x":4.5, "y":4.25},
57 {"x":5.5, "y":4.25},
58 {"x":8.5, "y":4.25},
59 {"x":9.5, "y":4.25},
60 {"x":10.5, "y":4.25},
61 {"x":12, "y":3.5},
62 {"x":13, "y":4},
63
64 {"x":3.5, "y":5.25},
65 {"x":4.5, "y":5.25},
66 {"x":5.5, "y":5.25},
67 {"x":8.5, "y":5.25},
68 {"x":9.5, "y":5.25},
69 {"x":10.5, "y":5.25}
70 ]
71 }
72 }
73}
diff --git a/keyboards/handwired/cans12er/info.json b/keyboards/handwired/cans12er/info.json
new file mode 100644
index 000000000..640e6a447
--- /dev/null
+++ b/keyboards/handwired/cans12er/info.json
@@ -0,0 +1,27 @@
1{
2 "keyboard_name": "Cans12er",
3 "url": "",
4 "maintainer": "canbaytok",
5 "width": 4,
6 "height": 3,
7 "layouts": {
8 "LAYOUT_ortho_3x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2}
24 ]
25 }
26 }
27}
diff --git a/keyboards/handwired/ck4x4/info.json b/keyboards/handwired/ck4x4/info.json
new file mode 100644
index 000000000..e1f31582d
--- /dev/null
+++ b/keyboards/handwired/ck4x4/info.json
@@ -0,0 +1,32 @@
1{
2 "keyboard_name": "CK4x4",
3 "url": "",
4 "maintainer": "awkannan",
5 "width": 4,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3}
29 ]
30 }
31 }
32}
diff --git a/keyboards/handwired/d48/info.json b/keyboards/handwired/d48/info.json
new file mode 100644
index 000000000..540a9e322
--- /dev/null
+++ b/keyboards/handwired/d48/info.json
@@ -0,0 +1,67 @@
1{
2 "keyboard_name": "D48",
3 "url": "",
4 "maintainer": "and3rson",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":8, "y":0},
11 {"x":11, "y":0},
12
13 {"x":0, "y":1},
14 {"x":1, "y":1},
15 {"x":2, "y":1},
16 {"x":3, "y":1},
17 {"x":4, "y":1},
18 {"x":5, "y":1},
19 {"x":6, "y":1},
20 {"x":7, "y":1},
21 {"x":8, "y":1},
22 {"x":9, "y":1},
23 {"x":10, "y":1},
24 {"x":11, "y":1},
25
26 {"x":0, "y":2},
27 {"x":1, "y":2},
28 {"x":2, "y":2},
29 {"x":3, "y":2},
30 {"x":4, "y":2},
31 {"x":5, "y":2},
32 {"x":6, "y":2},
33 {"x":7, "y":2},
34 {"x":8, "y":2},
35 {"x":9, "y":2},
36 {"x":10, "y":2},
37 {"x":11, "y":2},
38
39 {"x":0, "y":3},
40 {"x":1, "y":3},
41 {"x":2, "y":3},
42 {"x":3, "y":3},
43 {"x":4, "y":3},
44 {"x":5, "y":3},
45 {"x":6, "y":3},
46 {"x":7, "y":3},
47 {"x":8, "y":3},
48 {"x":9, "y":3},
49 {"x":10, "y":3},
50 {"x":11, "y":3},
51
52 {"x":0, "y":4},
53 {"x":1, "y":4},
54 {"x":2, "y":4},
55 {"x":3, "y":4},
56 {"x":4, "y":4},
57 {"x":5, "y":4},
58 {"x":6, "y":4},
59 {"x":7, "y":4},
60 {"x":8, "y":4},
61 {"x":9, "y":4},
62 {"x":10, "y":4},
63 {"x":11, "y":4}
64 ]
65 }
66 }
67}
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 000000000..8e54b8db4
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
@@ -0,0 +1,90 @@
1{
2 "keyboard_name": "DMOTE 62-key",
3 "url": "",
4 "maintainer": "veikman",
5 "width": 15,
6 "height": 7.5,
7 "layouts": {
8 "LAYOUT_62key": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16
17 {"x":0, "y":1},
18 {"x":1, "y":1},
19 {"x":2, "y":1},
20 {"x":3, "y":1},
21 {"x":4, "y":1},
22 {"x":5, "y":1},
23
24 {"x":0, "y":2},
25 {"x":1, "y":2},
26 {"x":2, "y":2},
27 {"x":3, "y":2},
28 {"x":4, "y":2},
29 {"x":5, "y":2},
30
31 {"x":0, "y":3},
32 {"x":1, "y":3},
33 {"x":2, "y":3},
34 {"x":3, "y":3},
35 {"x":4, "y":3},
36
37 {"x":3, "y":4},
38 {"x":4.5, "y":4.5},
39 {"x":5.5, "y":4.5},
40
41 {"x":4, "y":5.5},
42 {"x":5, "y":5.5},
43 {"x":6, "y":5.5},
44
45 {"x":4.5, "y":6.5},
46 {"x":5.5, "y":6.5},
47
48
49 {"x":9, "y":0},
50 {"x":10, "y":0},
51 {"x":11, "y":0},
52 {"x":12, "y":0},
53 {"x":13, "y":0},
54 {"x":14, "y":0},
55
56 {"x":9, "y":1},
57 {"x":10, "y":1},
58 {"x":11, "y":1},
59 {"x":12, "y":1},
60 {"x":13, "y":1},
61 {"x":14, "y":1},
62
63 {"x":9, "y":2},
64 {"x":10, "y":2},
65 {"x":11, "y":2},
66 {"x":12, "y":2},
67 {"x":13, "y":2},
68 {"x":14, "y":2},
69
70 {"x":10, "y":3},
71 {"x":11, "y":3},
72 {"x":12, "y":3},
73 {"x":13, "y":3},
74 {"x":14, "y":3},
75
76 {"x":8.5, "y":4.5},
77 {"x":9.5, "y":4.5},
78 {"x":11, "y":4},
79
80 {"x":8, "y":5.5},
81 {"x":9, "y":5.5},
82 {"x":10, "y":5.5},
83
84 {"x":8.5, "y":6.5},
85 {"x":9.5, "y":6.5}
86 ]
87 }
88 }
89}
90
diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json
new file mode 100644
index 000000000..52a67b3de
--- /dev/null
+++ b/keyboards/handwired/daishi/info.json
@@ -0,0 +1,136 @@
1{
2 "keyboard_name": "Daishi",
3 "url": "",
4 "maintainer": "Croktopus",
5 "width": 19.5,
6 "height": 7.75,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.25, "y":0},
12 {"x":2.25, "y":0},
13 {"x":3.25, "y":0},
14 {"x":4.5, "y":0},
15 {"x":5.5, "y":0},
16 {"x":6.5, "y":0},
17 {"x":7.75, "y":0},
18 {"x":8.75, "y":0},
19 {"x":9.75, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14.25, "y":0},
24 {"x":15.25, "y":0},
25 {"x":16.25, "y":0},
26 {"x":17.25, "y":0},
27 {"x":18.5, "y":0},
28
29 {"x":0, "y":1.25},
30 {"x":1, "y":1.25},
31 {"x":2, "y":1.25},
32 {"x":3, "y":1.25},
33 {"x":4.33, "y":1.25},
34 {"x":5.33, "y":1.25},
35 {"x":6.33, "y":1.25},
36 {"x":7.33, "y":1.25},
37 {"x":8.67, "y":1.25},
38 {"x":9.67, "y":1.25},
39 {"x":10.67, "y":1.25},
40 {"x":11.67, "y":1.25},
41 {"x":13, "y":1.25},
42 {"x":14.25, "y":1.25},
43 {"x":15.25, "y":1.25},
44 {"x":16.25, "y":1.25},
45 {"x":17.5, "y":1.25},
46 {"x":18.5, "y":1.25},
47
48 {"x":0, "y":2.5},
49 {"x":1, "y":2.5},
50 {"x":2, "y":2.5},
51 {"x":3, "y":2.5},
52 {"x":4, "y":2.5},
53 {"x":5, "y":2.5},
54 {"x":6, "y":2.5},
55 {"x":7, "y":2.5},
56 {"x":8, "y":2.5},
57 {"x":9, "y":2.5},
58 {"x":10, "y":2.5},
59 {"x":11, "y":2.5},
60 {"x":12, "y":2.5},
61 {"x":13, "y":2.5, "w":2},
62 {"x":15.25, "y":2.25},
63 {"x":16.5, "y":2.5},
64 {"x":17.5, "y":2.5},
65 {"x":18.5, "y":2.5},
66
67 {"x":0, "y":3.5, "w":1.5},
68 {"x":1.5, "y":3.5},
69 {"x":2.5, "y":3.5},
70 {"x":3.5, "y":3.5},
71 {"x":4.5, "y":3.5},
72 {"x":5.5, "y":3.5},
73 {"x":6.5, "y":3.5},
74 {"x":7.5, "y":3.5},
75 {"x":8.5, "y":3.5},
76 {"x":9.5, "y":3.5},
77 {"x":10.5, "y":3.5},
78 {"x":11.5, "y":3.5},
79 {"x":12.5, "y":3.5},
80 {"x":13.5, "y":3.5, "w":1.5},
81 {"x":15.5, "y":3.5},
82 {"x":16.5, "y":3.5},
83 {"x":17.5, "y":3.5},
84 {"x":18.5, "y":3.5},
85
86 {"x":0, "y":4.5, "w":1.75},
87 {"x":1.75, "y":4.5},
88 {"x":2.75, "y":4.5},
89 {"x":3.75, "y":4.5},
90 {"x":4.75, "y":4.5},
91 {"x":5.75, "y":4.5},
92 {"x":6.75, "y":4.5},
93 {"x":7.75, "y":4.5},
94 {"x":8.75, "y":4.5},
95 {"x":9.75, "y":4.5},
96 {"x":10.75, "y":4.5},
97 {"x":11.75, "y":4.5},
98 {"x":12.75, "y":4.5, "w":2.25},
99 {"x":15.5, "y":4.5},
100 {"x":16.5, "y":4.5},
101 {"x":17.5, "y":4.5},
102 {"x":18.5, "y":4.5},
103
104 {"x":0, "y":5.5, "w":2.25},
105 {"x":2.25, "y":5.5},
106 {"x":3.25, "y":5.5},
107 {"x":4.25, "y":5.5},
108 {"x":5.25, "y":5.5},
109 {"x":6.25, "y":5.5},
110 {"x":7.25, "y":5.5},
111 {"x":8.25, "y":5.5},
112 {"x":9.25, "y":5.5},
113 {"x":10.25, "y":5.5},
114 {"x":11.25, "y":5.5},
115 {"x":12.25, "y":5.5, "w":1.75},
116 {"x":14.25, "y":5.75},
117 {"x":15.5, "y":5.5},
118 {"x":16.5, "y":5.5},
119 {"x":17.5, "y":5.5},
120 {"x":18.5, "y":5.5, "h":2},
121
122 {"x":0, "y":6.5, "w":1.25},
123 {"x":1.25, "y":6.5, "w":1.25},
124 {"x":2.5, "y":6.5, "w":1.25},
125 {"x":3.75, "y":6.5, "w":6.25},
126 {"x":10, "y":6.5, "w":1.5},
127 {"x":11.5, "y":6.5, "w":1.5},
128 {"x":13.25, "y":6.75},
129 {"x":14.25, "y":6.75},
130 {"x":15.25, "y":6.75},
131 {"x":16.5, "y":6.5},
132 {"x":17.5, "y":6.5}
133 ]
134 }
135 }
136}
diff --git a/keyboards/handwired/hexon38/info.json b/keyboards/handwired/hexon38/info.json
new file mode 100644
index 000000000..5c141ac65
--- /dev/null
+++ b/keyboards/handwired/hexon38/info.json
@@ -0,0 +1,54 @@
1{
2 "keyboard_name": "hexon38",
3 "url": "",
4 "maintainer": "cellularmitosis",
5 "width": 18,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":2, "y":0},
11 {"x":3, "y":0},
12 {"x":4, "y":0},
13 {"x":5, "y":0},
14 {"x":12, "y":0},
15 {"x":13, "y":0},
16 {"x":14, "y":0},
17 {"x":15, "y":0},
18
19 {"x":0, "y":1},
20 {"x":1, "y":1},
21 {"x":2, "y":1},
22 {"x":3, "y":1},
23 {"x":4, "y":1},
24 {"x":5, "y":1},
25 {"x":12, "y":1},
26 {"x":13, "y":1},
27 {"x":14, "y":1},
28 {"x":15, "y":1},
29 {"x":16, "y":1},
30 {"x":17, "y":1},
31
32 {"x":0, "y":2},
33 {"x":1, "y":2},
34 {"x":2, "y":2},
35 {"x":3, "y":2},
36 {"x":4, "y":2},
37 {"x":13, "y":2},
38 {"x":14, "y":2},
39 {"x":15, "y":2},
40 {"x":16, "y":2},
41 {"x":17, "y":2},
42
43 {"x":4.5, "y":3},
44 {"x":5.5, "y":3},
45 {"x":6.5, "y":3},
46 {"x":7.5, "y":3},
47 {"x":9.5, "y":3},
48 {"x":10.5, "y":3},
49 {"x":11.5, "y":3},
50 {"x":12.5, "y":3}
51 ]
52 }
53 }
54}
diff --git a/keyboards/handwired/jot50/info.json b/keyboards/handwired/jot50/info.json
new file mode 100644
index 000000000..c144d684c
--- /dev/null
+++ b/keyboards/handwired/jot50/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "Jot50",
3 "url": "",
4 "maintainer": "jotix",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x12": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":6, "y":1},
30 {"x":7, "y":1},
31 {"x":8, "y":1},
32 {"x":9, "y":1},
33 {"x":10, "y":1},
34 {"x":11, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":6, "y":2},
43 {"x":7, "y":2},
44 {"x":8, "y":2},
45 {"x":9, "y":2},
46 {"x":10, "y":2},
47 {"x":11, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":6, "y":3},
56 {"x":7, "y":3},
57 {"x":8, "y":3},
58 {"x":9, "y":3},
59 {"x":10, "y":3},
60 {"x":11, "y":3},
61
62 {"x":0, "y":4},
63 {"x":1, "y":4},
64 {"x":2, "y":4},
65 {"x":3, "y":4},
66 {"x":4, "y":4},
67 {"x":5, "y":4},
68 {"x":6, "y":4},
69 {"x":7, "y":4},
70 {"x":8, "y":4},
71 {"x":9, "y":4},
72 {"x":10, "y":4},
73 {"x":11, "y":4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/handwired/jotanck/info.json b/keyboards/handwired/jotanck/info.json
new file mode 100644
index 000000000..a5d13876e
--- /dev/null
+++ b/keyboards/handwired/jotanck/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "Jotanck",
3 "url": "",
4 "maintainer": "jotix",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x12": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":10, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":6, "y":1},
30 {"x":7, "y":1},
31 {"x":8, "y":1},
32 {"x":9, "y":1},
33 {"x":10, "y":1},
34 {"x":10, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":6, "y":2},
43 {"x":7, "y":2},
44 {"x":8, "y":2},
45 {"x":9, "y":2},
46 {"x":10, "y":2},
47 {"x":10, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":6, "y":3},
56 {"x":7, "y":3},
57 {"x":8, "y":3},
58 {"x":9, "y":3},
59 {"x":10, "y":3},
60 {"x":10, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/handwired/jotpad16/info.json b/keyboards/handwired/jotpad16/info.json
new file mode 100644
index 000000000..feea7575c
--- /dev/null
+++ b/keyboards/handwired/jotpad16/info.json
@@ -0,0 +1,32 @@
1{
2 "keyboard_name": "JotPad16",
3 "url": "",
4 "maintainer": "jotix",
5 "width": 4,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3}
29 ]
30 }
31 }
32}
diff --git a/keyboards/handwired/k8split/info.json b/keyboards/handwired/k8split/info.json
new file mode 100644
index 000000000..026edfe71
--- /dev/null
+++ b/keyboards/handwired/k8split/info.json
@@ -0,0 +1,66 @@
1{
2 "keyboard_name": "k8split",
3 "url": "",
4 "maintainer": "Ckath",
5 "width": 10,
6 "height": 6,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18
19 {"x":0, "y":1},
20 {"x":1, "y":1},
21 {"x":2, "y":1},
22 {"x":3, "y":1},
23 {"x":4, "y":1},
24 {"x":5, "y":1},
25 {"x":6, "y":1},
26 {"x":7, "y":1},
27
28 {"x":0, "y":2, "w":1.5},
29 {"x":1.5, "y":2},
30 {"x":2.5, "y":2},
31 {"x":3.5, "y":2},
32 {"x":4.5, "y":2},
33 {"x":5.5, "y":2},
34 {"x":6.5, "y":2},
35 {"x":7.5, "y":2},
36
37 {"x":0, "y":3, "w":1.75},
38 {"x":1.75, "y":3},
39 {"x":2.75, "y":3},
40 {"x":3.75, "y":3},
41 {"x":4.75, "y":3},
42 {"x":5.75, "y":3},
43 {"x":6.75, "y":3},
44 {"x":7.75, "y":3},
45
46 {"x":0, "y":4, "w":2.25},
47 {"x":2.25, "y":4},
48 {"x":3.25, "y":4},
49 {"x":4.25, "y":4},
50 {"x":5.25, "y":4},
51 {"x":6.25, "y":4},
52 {"x":7.25, "y":4},
53 {"x":8.25, "y":4},
54
55 {"x":0, "y":5, "w":1.5},
56 {"x":1.5, "y":5},
57 {"x":2.5, "y":5},
58 {"x":3.5, "y":5, "w":1.25},
59 {"x":4.75, "y":5, "w":2.25},
60 {"x":7, "y":5},
61 {"x":8, "y":5},
62 {"x":9, "y":5}
63 ]
64 }
65 }
66}
diff --git a/keyboards/handwired/myskeeb/info.json b/keyboards/handwired/myskeeb/info.json
new file mode 100644
index 000000000..617fbc441
--- /dev/null
+++ b/keyboards/handwired/myskeeb/info.json
@@ -0,0 +1,88 @@
1{
2 "keyboard_name": "myskeeb",
3 "url": "",
4 "maintainer": "su8044",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24
25 {"x":0, "y":1},
26 {"x":1, "y":1},
27 {"x":2, "y":1},
28 {"x":3, "y":1},
29 {"x":4, "y":1},
30 {"x":5, "y":1},
31 {"x":6, "y":1},
32 {"x":8, "y":1},
33 {"x":9, "y":1},
34 {"x":10, "y":1},
35 {"x":11, "y":1},
36 {"x":12, "y":1},
37 {"x":13, "y":1},
38 {"x":14, "y":1},
39
40 {"x":0, "y":2},
41 {"x":1, "y":2},
42 {"x":2, "y":2},
43 {"x":3, "y":2},
44 {"x":4, "y":2},
45 {"x":5, "y":2},
46 {"x":6, "y":2},
47 {"x":8, "y":2},
48 {"x":9, "y":2},
49 {"x":10, "y":2},
50 {"x":11, "y":2},
51 {"x":12, "y":2},
52 {"x":13, "y":2},
53 {"x":14, "y":2},
54
55 {"x":0, "y":3},
56 {"x":1, "y":3},
57 {"x":2, "y":3},
58 {"x":3, "y":3},
59 {"x":4, "y":3},
60 {"x":5, "y":3},
61 {"x":6, "y":3},
62 {"x":8, "y":3},
63 {"x":9, "y":3},
64 {"x":10, "y":3},
65 {"x":11, "y":3},
66 {"x":12, "y":3},
67 {"x":13, "y":3},
68 {"x":14, "y":3},
69
70 {"x":0, "y":4},
71 {"x":1, "y":4},
72 {"x":2, "y":4},
73 {"x":3, "y":4},
74 {"x":4, "y":4},
75 {"x":5, "y":4},
76 {"x":6, "y":4},
77 {"x":8, "y":4},
78 {"x":9, "y":4},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4}
84 ]
85 }
86 }
87}
88
diff --git a/keyboards/handwired/nicekey/info.json b/keyboards/handwired/nicekey/info.json
new file mode 100644
index 000000000..1f099534b
--- /dev/null
+++ b/keyboards/handwired/nicekey/info.json
@@ -0,0 +1,14 @@
1{
2 "keyboard_name": "nicekey handwired",
3 "url": "",
4 "maintainer": "spydon",
5 "width": 1,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0}
11 ]
12 }
13 }
14}
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
new file mode 100644
index 000000000..ac339ba19
--- /dev/null
+++ b/keyboards/handwired/onekey/info.json
@@ -0,0 +1,14 @@
1{
2 "keyboard_name": "onekey handwired",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 1,
6 "height": 1,
7 "layouts": {
8 "LAYOUT_ortho_1x1": {
9 "layout": [
10 {"x":0, "y":0}
11 ]
12 }
13 }
14}
diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json
new file mode 100644
index 000000000..638947086
--- /dev/null
+++ b/keyboards/handwired/postageboard/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "Postage Board",
3 "url": "",
4 "maintainer": "LifeIsOnTheWire",
5 "width": 1,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0}
13 ]
14 }
15 }
16}
diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json
new file mode 100644
index 000000000..ddf13abc9
--- /dev/null
+++ b/keyboards/handwired/riblee_f401/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "Handwired Preonic (Blackpill F401)",
3 "url": "",
4 "maintainer": "riblee",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x12": {
9 "layout": [
10 {"x": 0,"y": 0},
11 {"x": 1,"y": 0},
12 {"x": 2,"y": 0},
13 {"x": 3,"y": 0},
14 {"x": 4,"y": 0},
15 {"x": 5,"y": 0},
16 {"x": 6,"y": 0},
17 {"x": 7,"y": 0},
18 {"x": 8,"y": 0},
19 {"x": 9,"y": 0},
20 {"x": 10,"y": 0},
21 {"x": 11,"y": 0},
22
23 {"x": 0,"y": 1},
24 {"x": 1,"y": 1},
25 {"x": 2,"y": 1},
26 {"x": 3,"y": 1},
27 {"x": 4,"y": 1},
28 {"x": 5,"y": 1},
29 {"x": 6,"y": 1},
30 {"x": 7,"y": 1},
31 {"x": 8,"y": 1},
32 {"x": 9,"y": 1},
33 {"x": 10,"y": 1},
34 {"x": 11,"y": 1},
35
36 {"x": 0,"y": 2},
37 {"x": 1,"y": 2},
38 {"x": 2,"y": 2},
39 {"x": 3,"y": 2},
40 {"x": 4,"y": 2},
41 {"x": 5,"y": 2},
42 {"x": 6,"y": 2},
43 {"x": 7,"y": 2},
44 {"x": 8,"y": 2},
45 {"x": 9,"y": 2},
46 {"x": 10,"y": 2},
47 {"x": 11,"y": 2},
48
49 {"x": 0,"y": 3},
50 {"x": 1,"y": 3},
51 {"x": 2,"y": 3},
52 {"x": 3,"y": 3},
53 {"x": 4,"y": 3},
54 {"x": 5,"y": 3},
55 {"x": 6,"y": 3},
56 {"x": 7,"y": 3},
57 {"x": 8,"y": 3},
58 {"x": 9,"y": 3},
59 {"x": 10,"y": 3},
60 {"x": 11,"y": 3},
61
62 {"x": 0,"y": 4},
63 {"x": 1,"y": 4},
64 {"x": 2,"y": 4},
65 {"x": 3,"y": 4},
66 {"x": 4,"y": 4},
67 {"x": 5,"y": 4},
68 {"x": 6,"y": 4},
69 {"x": 7,"y": 4},
70 {"x": 8,"y": 4},
71 {"x": 9,"y": 4},
72 {"x": 10,"y": 4},
73 {"x": 11,"y": 4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/handwired/riblee_f411/info.json b/keyboards/handwired/riblee_f411/info.json
new file mode 100644
index 000000000..e318e8bd6
--- /dev/null
+++ b/keyboards/handwired/riblee_f411/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "Handwired Preonic (Blackpill F411)",
3 "url": "",
4 "maintainer": "riblee",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x12": {
9 "layout": [
10 {"x": 0,"y": 0},
11 {"x": 1,"y": 0},
12 {"x": 2,"y": 0},
13 {"x": 3,"y": 0},
14 {"x": 4,"y": 0},
15 {"x": 5,"y": 0},
16 {"x": 6,"y": 0},
17 {"x": 7,"y": 0},
18 {"x": 8,"y": 0},
19 {"x": 9,"y": 0},
20 {"x": 10,"y": 0},
21 {"x": 11,"y": 0},
22
23 {"x": 0,"y": 1},
24 {"x": 1,"y": 1},
25 {"x": 2,"y": 1},
26 {"x": 3,"y": 1},
27 {"x": 4,"y": 1},
28 {"x": 5,"y": 1},
29 {"x": 6,"y": 1},
30 {"x": 7,"y": 1},
31 {"x": 8,"y": 1},
32 {"x": 9,"y": 1},
33 {"x": 10,"y": 1},
34 {"x": 11,"y": 1},
35
36 {"x": 0,"y": 2},
37 {"x": 1,"y": 2},
38 {"x": 2,"y": 2},
39 {"x": 3,"y": 2},
40 {"x": 4,"y": 2},
41 {"x": 5,"y": 2},
42 {"x": 6,"y": 2},
43 {"x": 7,"y": 2},
44 {"x": 8,"y": 2},
45 {"x": 9,"y": 2},
46 {"x": 10,"y": 2},
47 {"x": 11,"y": 2},
48
49 {"x": 0,"y": 3},
50 {"x": 1,"y": 3},
51 {"x": 2,"y": 3},
52 {"x": 3,"y": 3},
53 {"x": 4,"y": 3},
54 {"x": 5,"y": 3},
55 {"x": 6,"y": 3},
56 {"x": 7,"y": 3},
57 {"x": 8,"y": 3},
58 {"x": 9,"y": 3},
59 {"x": 10,"y": 3},
60 {"x": 11,"y": 3},
61
62 {"x": 0,"y": 4},
63 {"x": 1,"y": 4},
64 {"x": 2,"y": 4},
65 {"x": 3,"y": 4},
66 {"x": 4,"y": 4},
67 {"x": 5,"y": 4},
68 {"x": 6,"y": 4},
69 {"x": 7,"y": 4},
70 {"x": 8,"y": 4},
71 {"x": 9,"y": 4},
72 {"x": 10,"y": 4},
73 {"x": 11,"y": 4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/handwired/rs60/info.json b/keyboards/handwired/rs60/info.json
new file mode 100644
index 000000000..a3b32aec1
--- /dev/null
+++ b/keyboards/handwired/rs60/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "rs60",
3 "url": "",
4 "maintainer": "rs",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x12": {
9 "layout": [
10 {"x": 0,"y": 0},
11 {"x": 1,"y": 0},
12 {"x": 2,"y": 0},
13 {"x": 3,"y": 0},
14 {"x": 4,"y": 0},
15 {"x": 5,"y": 0},
16 {"x": 6,"y": 0},
17 {"x": 7,"y": 0},
18 {"x": 8,"y": 0},
19 {"x": 9,"y": 0},
20 {"x": 10,"y": 0},
21 {"x": 11,"y": 0},
22
23 {"x": 0,"y": 1},
24 {"x": 1,"y": 1},
25 {"x": 2,"y": 1},
26 {"x": 3,"y": 1},
27 {"x": 4,"y": 1},
28 {"x": 5,"y": 1},
29 {"x": 6,"y": 1},
30 {"x": 7,"y": 1},
31 {"x": 8,"y": 1},
32 {"x": 9,"y": 1},
33 {"x": 10,"y": 1},
34 {"x": 11,"y": 1},
35
36 {"x": 0,"y": 2},
37 {"x": 1,"y": 2},
38 {"x": 2,"y": 2},
39 {"x": 3,"y": 2},
40 {"x": 4,"y": 2},
41 {"x": 5,"y": 2},
42 {"x": 6,"y": 2},
43 {"x": 7,"y": 2},
44 {"x": 8,"y": 2},
45 {"x": 9,"y": 2},
46 {"x": 10,"y": 2},
47 {"x": 11,"y": 2},
48
49 {"x": 0,"y": 3},
50 {"x": 1,"y": 3},
51 {"x": 2,"y": 3},
52 {"x": 3,"y": 3},
53 {"x": 4,"y": 3},
54 {"x": 5,"y": 3},
55 {"x": 6,"y": 3},
56 {"x": 7,"y": 3},
57 {"x": 8,"y": 3},
58 {"x": 9,"y": 3},
59 {"x": 10,"y": 3},
60 {"x": 11,"y": 3},
61
62 {"x": 0,"y": 4},
63 {"x": 1,"y": 4},
64 {"x": 2,"y": 4},
65 {"x": 3,"y": 4},
66 {"x": 4,"y": 4},
67 {"x": 5,"y": 4},
68 {"x": 6,"y": 4},
69 {"x": 7,"y": 4},
70 {"x": 8,"y": 4},
71 {"x": 9,"y": 4},
72 {"x": 10,"y": 4},
73 {"x": 11,"y": 4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json
new file mode 100644
index 000000000..fb7dce7b1
--- /dev/null
+++ b/keyboards/handwired/splittest/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "Split Tester",
3 "url": "",
4 "maintainer": "nooges",
5 "width": 2,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x": 0,"y": 0},
11 {"x": 1,"y": 0}
12 ]
13 }
14 }
15}
diff --git a/keyboards/handwired/trackpoint/info.json b/keyboards/handwired/trackpoint/info.json
new file mode 100644
index 000000000..d1dcb39d6
--- /dev/null
+++ b/keyboards/handwired/trackpoint/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "Trackpoint",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 3,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x": 0,"y": 0},
11 {"x": 1,"y": 0},
12 {"x": 2,"y": 0}
13 ]
14 }
15 }
16}
diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json
new file mode 100644
index 000000000..0a13fab77
--- /dev/null
+++ b/keyboards/handwired/traveller/info.json
@@ -0,0 +1,66 @@
1{
2 "keyboard_name": "traveller",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 1,
6 "height": 1,
7 "layouts": {
8 "KEYMAP": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":6, "y":2},
43 {"x":7, "y":2},
44 {"x":8, "y":2},
45 {"x":9, "y":2},
46 {"x":10, "y":2},
47 {"x":11, "y":2},
48 {"x":12, "y":2},
49
50 {"x":0, "y":3},
51 {"x":1, "y":3},
52 {"x":2, "y":3},
53 {"x":3, "y":3},
54 {"x":4, "y":3},
55 {"x":5, "y":3},
56 {"x":6, "y":3},
57 {"x":7, "y":3},
58 {"x":8, "y":3},
59 {"x":9, "y":3},
60 {"x":10, "y":3},
61 {"x":11, "y":3},
62 {"x":12, "y":3}
63 ]
64 }
65 }
66}
diff --git a/keyboards/hhkb_lite_2/info.json b/keyboards/hhkb_lite_2/info.json
new file mode 100644
index 000000000..4319320b1
--- /dev/null
+++ b/keyboards/hhkb_lite_2/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "HHKB Lite 2",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25
26 {"x":0, "y":1, "w":1.5},
27 {"x":1.5, "y":1},
28 {"x":2.5, "y":1},
29 {"x":3.5, "y":1},
30 {"x":4.5, "y":1},
31 {"x":5.5, "y":1},
32 {"x":6.5, "y":1},
33 {"x":7.5, "y":1},
34 {"x":8.5, "y":1},
35 {"x":9.5, "y":1},
36 {"x":10.5, "y":1},
37 {"x":11.5, "y":1},
38 {"x":12.5, "y":1},
39 {"x":13.5, "y":1, "w":1.5},
40
41 {"x":0, "y":2, "w":1.75},
42 {"x":1.75, "y":2},
43 {"x":2.75, "y":2},
44 {"x":3.75, "y":2},
45 {"x":4.75, "y":2},
46 {"x":5.75, "y":2},
47 {"x":6.75, "y":2},
48 {"x":7.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"x":11.75, "y":2},
53 {"x":12.75, "y":2, "w":2.25},
54
55 {"x":0, "y":3, "w":2.25},
56 {"x":2.25, "y":3},
57 {"x":3.25, "y":3},
58 {"x":4.25, "y":3},
59 {"x":5.25, "y":3},
60 {"x":6.25, "y":3},
61 {"x":7.25, "y":3},
62 {"x":8.25, "y":3},
63 {"x":9.25, "y":3},
64 {"x":10.25, "y":3},
65 {"x":11.25, "y":3},
66 {"x":12.25, "y":3, "w":1.75},
67 {"x":14, "y":3},
68
69 {"x":1.5, "y":4},
70 {"x":2.5, "y":4, "w":1.5},
71 {"x":4, "y":4, "w":6},
72 {"x":10, "y":4, "w":1.5},
73 {"x":11.5, "y":4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/honeycomb/info.json b/keyboards/honeycomb/info.json
new file mode 100644
index 000000000..1124a8b13
--- /dev/null
+++ b/keyboards/honeycomb/info.json
@@ -0,0 +1,32 @@
1{
2 "keyboard_name": "Honeycomb",
3 "url": "",
4 "maintainer": "filoxo",
5 "width": 4,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3}
29 ]
30 }
31 }
32}
diff --git a/keyboards/ivy/rev1/info.json b/keyboards/ivy/rev1/info.json
new file mode 100644
index 000000000..4e9db7903
--- /dev/null
+++ b/keyboards/ivy/rev1/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "IVY",
3 "url": "",
4 "maintainer": "That-Canadian",
5 "width": 3,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0}
13 ]
14 }
15 }
16}
diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json
new file mode 100644
index 000000000..c37d941f4
--- /dev/null
+++ b/keyboards/keebio/viterbi/info.json
@@ -0,0 +1,87 @@
1{
2 "keyboard_name": "Viterbi",
3 "url": "https://keeb.io",
4 "maintainer": "nooges",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24
25 {"x":0, "y":1},
26 {"x":1, "y":1},
27 {"x":2, "y":1},
28 {"x":3, "y":1},
29 {"x":4, "y":1},
30 {"x":5, "y":1},
31 {"x":6, "y":1},
32 {"x":8, "y":1},
33 {"x":9, "y":1},
34 {"x":10, "y":1},
35 {"x":11, "y":1},
36 {"x":12, "y":1},
37 {"x":13, "y":1},
38 {"x":14, "y":1},
39
40 {"x":0, "y":2},
41 {"x":1, "y":2},
42 {"x":2, "y":2},
43 {"x":3, "y":2},
44 {"x":4, "y":2},
45 {"x":5, "y":2},
46 {"x":6, "y":2},
47 {"x":8, "y":2},
48 {"x":9, "y":2},
49 {"x":10, "y":2},
50 {"x":11, "y":2},
51 {"x":12, "y":2},
52 {"x":13, "y":2},
53 {"x":14, "y":2},
54
55 {"x":0, "y":3},
56 {"x":1, "y":3},
57 {"x":2, "y":3},
58 {"x":3, "y":3},
59 {"x":4, "y":3},
60 {"x":5, "y":3},
61 {"x":6, "y":3},
62 {"x":8, "y":3},
63 {"x":9, "y":3},
64 {"x":10, "y":3},
65 {"x":11, "y":3},
66 {"x":12, "y":3},
67 {"x":13, "y":3},
68 {"x":14, "y":3},
69
70 {"x":0, "y":4},
71 {"x":1, "y":4},
72 {"x":2, "y":4},
73 {"x":3, "y":4},
74 {"x":4, "y":4},
75 {"x":5, "y":4},
76 {"x":6, "y":4},
77 {"x":8, "y":4},
78 {"x":9, "y":4},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4}
84 ]
85 }
86 }
87}
diff --git a/keyboards/laptreus/info.json b/keyboards/laptreus/info.json
new file mode 100644
index 000000000..adcfdf604
--- /dev/null
+++ b/keyboards/laptreus/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "Laptreus",
3 "url": "",
4 "maintainer": "vosechu",
5 "width": 14,
6 "height": 4.67,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0.67},
11 {"x":1, "y":0.67},
12 {"x":2, "y":0.33},
13 {"x":3, "y":0},
14 {"x":4, "y":0.33},
15 {"x":5, "y":0.33},
16 {"x":8, "y":0.33},
17 {"x":9, "y":0.33},
18 {"x":10, "y":0},
19 {"x":11, "y":0.33},
20 {"x":12, "y":0.67},
21 {"x":13, "y":0.67},
22
23 {"x":0, "y":1.67},
24 {"x":1, "y":1.67},
25 {"x":2, "y":1.33},
26 {"x":3, "y":1},
27 {"x":4, "y":1.33},
28 {"x":5, "y":1.33},
29 {"x":8, "y":1.33},
30 {"x":9, "y":1.33},
31 {"x":10, "y":1},
32 {"x":11, "y":1.33},
33 {"x":12, "y":1.67},
34 {"x":13, "y":1.67},
35
36 {"x":0, "y":2.67},
37 {"x":1, "y":2.67},
38 {"x":2, "y":2.33},
39 {"x":3, "y":2},
40 {"x":4, "y":2.33},
41 {"x":5, "y":2.33},
42 {"x":8, "y":2.33},
43 {"x":9, "y":2.33},
44 {"x":10, "y":2},
45 {"x":11, "y":2.33},
46 {"x":12, "y":2.67},
47 {"x":13, "y":2.67},
48
49 {"x":0, "y":3.67},
50 {"x":1, "y":3.67},
51 {"x":2, "y":3.67},
52 {"x":3, "y":3.67},
53 {"x":4.5, "y":3.42},
54 {"x":5.5, "y":3.67},
55 {"x":7.5, "y":3.67},
56 {"x":8.5, "y":3.42},
57 {"x":10, "y":3.67},
58 {"x":11, "y":3.67},
59 {"x":12, "y":3.67},
60 {"x":13, "y":3.67}
61 ]
62 }
63 }
64}
diff --git a/keyboards/latin47ble/info.json b/keyboards/latin47ble/info.json
new file mode 100644
index 000000000..8755e97f7
--- /dev/null
+++ b/keyboards/latin47ble/info.json
@@ -0,0 +1,63 @@
1{
2 "keyboard_name": "Latin47ble",
3 "url": "",
4 "maintainer": "latincompass",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_planck_mit": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":6, "y":1},
30 {"x":7, "y":1},
31 {"x":8, "y":1},
32 {"x":9, "y":1},
33 {"x":10, "y":1},
34 {"x":11, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":6, "y":2},
43 {"x":7, "y":2},
44 {"x":8, "y":2},
45 {"x":9, "y":2},
46 {"x":10, "y":2},
47 {"x":11, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3, "w":2},
55 {"x":7, "y":3},
56 {"x":8, "y":3},
57 {"x":9, "y":3},
58 {"x":10, "y":3},
59 {"x":11, "y":3}
60 ]
61 }
62 }
63}
diff --git a/keyboards/latin64ble/info.json b/keyboards/latin64ble/info.json
new file mode 100644
index 000000000..de34b2bd1
--- /dev/null
+++ b/keyboards/latin64ble/info.json
@@ -0,0 +1,81 @@
1{
2 "keyboard_name": "Latin64ble",
3 "url": "",
4 "maintainer": "latincompass",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0, "w":2},
24
25 {"x":0, "y":1, "w":1.5},
26 {"x":1.5, "y":1},
27 {"x":2.5, "y":1},
28 {"x":3.5, "y":1},
29 {"x":4.5, "y":1},
30 {"x":5.5, "y":1},
31 {"x":6.5, "y":1},
32 {"x":7.5, "y":1},
33 {"x":8.5, "y":1},
34 {"x":9.5, "y":1},
35 {"x":10.5, "y":1},
36 {"x":11.5, "y":1},
37 {"x":12.5, "y":1},
38 {"x":13.5, "y":1, "w":1.5},
39
40 {"x":0, "y":2, "w":1.75},
41 {"x":1.75, "y":2},
42 {"x":2.75, "y":2},
43 {"x":3.75, "y":2},
44 {"x":4.75, "y":2},
45 {"x":5.75, "y":2},
46 {"x":6.75, "y":2},
47 {"x":7.75, "y":2},
48 {"x":8.75, "y":2},
49 {"x":9.75, "y":2},
50 {"x":10.75, "y":2},
51 {"x":11.75, "y":2},
52 {"x":12.75, "y":2, "w":2.25},
53
54 {"x":0, "y":3, "w":2},
55 {"x":2, "y":3},
56 {"x":3, "y":3},
57 {"x":4, "y":3},
58 {"x":5, "y":3},
59 {"x":6, "y":3},
60 {"x":7, "y":3},
61 {"x":8, "y":3},
62 {"x":9, "y":3},
63 {"x":10, "y":3},
64 {"x":11, "y":3},
65 {"x":12, "y":3},
66 {"x":13, "y":3},
67 {"x":14, "y":3},
68
69 {"x":0, "y":4, "w":1.25},
70 {"x":1.25, "y":4, "w":1.25},
71 {"x":2.5, "y":4, "w":1.25},
72 {"x":3.75, "y":4, "w":6.25},
73 {"x":10, "y":4},
74 {"x":11, "y":4},
75 {"x":12, "y":4},
76 {"x":13, "y":4},
77 {"x":14, "y":4}
78 ]
79 }
80 }
81}
diff --git a/keyboards/launchpad/rev1/info.json b/keyboards/launchpad/rev1/info.json
new file mode 100644
index 000000000..f12eaba42
--- /dev/null
+++ b/keyboards/launchpad/rev1/info.json
@@ -0,0 +1,24 @@
1{
2 "keyboard_name": "Launch Pad rev1",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 2,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12
13 {"x":0, "y":1},
14 {"x":1, "y":1},
15
16 {"x":0, "y":2},
17 {"x":1, "y":2},
18
19 {"x":0, "y":3},
20 {"x":1, "y":3}
21 ]
22 }
23 }
24}
diff --git a/keyboards/lets_split_eh/eh/info.json b/keyboards/lets_split_eh/eh/info.json
new file mode 100644
index 000000000..f96477e6e
--- /dev/null
+++ b/keyboards/lets_split_eh/eh/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "Let's Split",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":7, "y":2},
43 {"x":8, "y":2},
44 {"x":9, "y":2},
45 {"x":10, "y":2},
46 {"x":11, "y":2},
47 {"x":12, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":7, "y":3},
56 {"x":8, "y":3},
57 {"x":9, "y":3},
58 {"x":10, "y":3},
59 {"x":11, "y":3},
60 {"x":12, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/mechmini/v1/info.json b/keyboards/mechmini/v1/info.json
new file mode 100644
index 000000000..d99f36094
--- /dev/null
+++ b/keyboards/mechmini/v1/info.json
@@ -0,0 +1,58 @@
1{
2 "keyboard_name": "MechMini",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_split_space": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22
23 {"x":0, "y":1, "w":1.25},
24 {"x":1.25, "y":1},
25 {"x":2.25, "y":1},
26 {"x":3.25, "y":1},
27 {"x":4.25, "y":1},
28 {"x":5.25, "y":1},
29 {"x":6.25, "y":1},
30 {"x":7.25, "y":1},
31 {"x":8.25, "y":1},
32 {"x":9.25, "y":1},
33 {"x":10.25, "y":1, "w":1.75},
34
35 {"x":0, "y":2, "w":1.75},
36 {"x":1.75, "y":2},
37 {"x":2.75, "y":2},
38 {"x":3.75, "y":2},
39 {"x":4.75, "y":2},
40 {"x":5.75, "y":2},
41 {"x":6.75, "y":2},
42 {"x":7.75, "y":2},
43 {"x":8.75, "y":2},
44 {"x":9.75, "y":2, "w":1.25},
45 {"x":11, "y":2},
46
47 {"x":0, "y":3, "w":1.25},
48 {"x":1.25, "y":3},
49 {"x":2.25, "y":3, "w":1.25},
50 {"x":3.5, "y":3, "w":2.75},
51 {"x":6.25, "y":3, "w":2.25},
52 {"x":8.5, "y":3, "w":1.25},
53 {"x":9.75, "y":3},
54 {"x":10.75, "y":3, "w":1.25}
55 ]
56 }
57 }
58}
diff --git a/keyboards/meira/info.json b/keyboards/meira/info.json
new file mode 100644
index 000000000..ea48f0df1
--- /dev/null
+++ b/keyboards/meira/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "Meira",
3 "url": "",
4 "maintainer": "colemarkham",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x12": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":6, "y":1},
30 {"x":7, "y":1},
31 {"x":8, "y":1},
32 {"x":9, "y":1},
33 {"x":10, "y":1},
34 {"x":11, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":6, "y":2},
43 {"x":7, "y":2},
44 {"x":8, "y":2},
45 {"x":9, "y":2},
46 {"x":10, "y":2},
47 {"x":11, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":6, "y":3},
56 {"x":7, "y":3},
57 {"x":8, "y":3},
58 {"x":9, "y":3},
59 {"x":10, "y":3},
60 {"x":11, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/meishi/info.json b/keyboards/meishi/info.json
new file mode 100644
index 000000000..ec2a9cb63
--- /dev/null
+++ b/keyboards/meishi/info.json
@@ -0,0 +1,17 @@
1{
2 "keyboard_name": "Meishi",
3 "url": "",
4 "maintainer": "Biacco42",
5 "width": 4,
6 "height": 1,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0}
14 ]
15 }
16 }
17}
diff --git a/keyboards/merge/iso_macro/info.json b/keyboards/merge/iso_macro/info.json
new file mode 100644
index 000000000..6ec535ac2
--- /dev/null
+++ b/keyboards/merge/iso_macro/info.json
@@ -0,0 +1,23 @@
1{
2 "keyboard_name": "ISO Macro",
3 "url": "",
4 "maintainer": "duoshock",
5 "width": 5.75,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.25, "y":0},
12 {"x":2.25, "y":0},
13 {"x":3.25, "y":0},
14 {"x":4.5, "y":0, "w":1.25, "h":2},
15
16 {"x":0, "y":1},
17 {"x":1.5, "y":1},
18 {"x":2.5, "y":1},
19 {"x":3.5, "y":1}
20 ]
21 }
22 }
23}
diff --git a/keyboards/mschwingen/modelm/info.json b/keyboards/mschwingen/modelm/info.json
new file mode 100644
index 000000000..f4e6ed1c1
--- /dev/null
+++ b/keyboards/mschwingen/modelm/info.json
@@ -0,0 +1,121 @@
1{
2 "keyboard_name": "atmega32U4 board for IBM Model M",
3 "url": "",
4 "maintainer": "mschwingen",
5 "width": 23,
6 "height": 7,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":2, "y":0},
12 {"x":3, "y":0},
13 {"x":4, "y":0},
14 {"x":5, "y":0},
15 {"x":6.5, "y":0},
16 {"x":7.5, "y":0},
17 {"x":8.5, "y":0},
18 {"x":9.5, "y":0},
19 {"x":11, "y":0},
20 {"x":12, "y":0},
21 {"x":13, "y":0},
22 {"x":14, "y":0},
23 {"x":15.5, "y":0},
24 {"x":16.5, "y":0},
25 {"x":17.5, "y":0},
26
27 {"x":0, "y":2},
28 {"x":1, "y":2},
29 {"x":2, "y":2},
30 {"x":3, "y":2},
31 {"x":4, "y":2},
32 {"x":5, "y":2},
33 {"x":6, "y":2},
34 {"x":7, "y":2},
35 {"x":8, "y":2},
36 {"x":9, "y":2},
37 {"x":10, "y":2},
38 {"x":11, "y":2},
39 {"x":12, "y":2},
40 {"x":13, "y":2, "w":2},
41 {"x":15.5, "y":2},
42 {"x":16.5, "y":2},
43 {"x":17.5, "y":2},
44 {"x":19, "y":2},
45 {"x":20, "y":2},
46 {"x":21, "y":2},
47 {"x":22, "y":2},
48
49 {"x":0, "y":3, "w":1.5},
50 {"x":1.5, "y":3},
51 {"x":2.5, "y":3},
52 {"x":3.5, "y":3},
53 {"x":4.5, "y":3},
54 {"x":5.5, "y":3},
55 {"x":6.5, "y":3},
56 {"x":7.5, "y":3},
57 {"x":8.5, "y":3},
58 {"x":9.5, "y":3},
59 {"x":10.5, "y":3},
60 {"x":11.5, "y":3},
61 {"x":12.5, "y":3},
62 {"x":13.5, "y":3, "w":1.5},
63 {"x":15.5, "y":3},
64 {"x":16.5, "y":3},
65 {"x":17.5, "y":3},
66 {"x":19, "y":3},
67 {"x":20, "y":3},
68 {"x":21, "y":3},
69 {"x":22, "y":3, "h":2},
70
71 {"x":0, "y":4, "w":1.75},
72 {"x":1.75, "y":4},
73 {"x":2.75, "y":4},
74 {"x":3.75, "y":4},
75 {"x":4.75, "y":4},
76 {"x":5.75, "y":4},
77 {"x":6.75, "y":4},
78 {"x":7.75, "y":4},
79 {"x":8.75, "y":4},
80 {"x":9.75, "y":4},
81 {"x":10.75, "y":4},
82 {"x":11.75, "y":4},
83 {"x":12.75, "y":4},
84 {"x":13.75, "y":4, "w":1.25},
85 {"x":19, "y":4},
86 {"x":20, "y":4},
87 {"x":21, "y":4},
88
89 {"x":0, "y":5, "w":1.25},
90 {"x":1.25, "y":5},
91 {"x":2.25, "y":5},
92 {"x":3.25, "y":5},
93 {"x":4.25, "y":5},
94 {"x":5.25, "y":5},
95 {"x":6.25, "y":5},
96 {"x":7.25, "y":5},
97 {"x":8.25, "y":5},
98 {"x":9.25, "y":5},
99 {"x":10.25, "y":5},
100 {"x":11.25, "y":5},
101 {"x":12.25, "y":5, "w":2.75},
102 {"x":16.5, "y":5},
103 {"x":19, "y":5},
104 {"x":20, "y":5},
105 {"x":21, "y":5},
106 {"x":22, "y":5, "h":2},
107
108 {"x":0, "y":6, "w":1.5},
109 {"x":2.5, "y":6, "w":1.5},
110 {"x":4, "y":6, "w":7},
111 {"x":11, "y":6, "w":1.5},
112 {"x":13.5, "y":6, "w":1.5},
113 {"x":15.5, "y":6},
114 {"x":16.5, "y":6},
115 {"x":17.5, "y":6},
116 {"x":19, "y":6, "w":2},
117 {"x":21, "y":6}
118 ]
119 }
120 }
121}
diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json
new file mode 100644
index 000000000..d1a63a943
--- /dev/null
+++ b/keyboards/pabile/p20/info.json
@@ -0,0 +1,62 @@
1{
2 "keyboard_name": "P20",
3 "url": "",
4 "maintainer": "pabile",
5 "width": 4,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3},
29
30 {"x":0, "y":4},
31 {"x":1, "y":4},
32 {"x":2, "y":4},
33 {"x":3, "y":4}
34 ]
35 },
36 "LAYOUT_numpad_5x4": {
37 "layout": [
38 {"x":0, "y":0},
39 {"x":1, "y":0},
40 {"x":2, "y":0},
41 {"x":3, "y":0},
42
43 {"x":0, "y":1},
44 {"x":1, "y":1},
45 {"x":2, "y":1},
46
47 {"x":0, "y":2},
48 {"x":1, "y":2},
49 {"x":2, "y":2},
50 {"x":3, "y":1, "h":2},
51
52 {"x":0, "y":3},
53 {"x":1, "y":3},
54 {"x":2, "y":3},
55
56 {"x":0, "y":4, "w":2},
57 {"x":2, "y":4},
58 {"x":3, "y":3, "h":2}
59 ]
60 }
61 }
62}
diff --git a/keyboards/pimentoso/paddino02/rev1/info.json b/keyboards/pimentoso/paddino02/rev1/info.json
new file mode 100644
index 000000000..cac61f71c
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev1/info.json
@@ -0,0 +1,25 @@
1{
2 "keyboard_name": "Paddino02 rev1",
3 "url": "",
4 "maintainer": "Pimentoso",
5 "width": 4,
6 "height": 3.75,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0.5},
11 {"x":1, "y":0.25},
12 {"x":2, "y":0},
13 {"x":3, "y":0.25},
14
15 {"x":0, "y":1.5},
16 {"x":1, "y":1.25},
17 {"x":2, "y":1},
18 {"x":3, "y":1.25},
19
20 {"x":2, "y":2.75},
21 {"x":3, "y":2.75}
22 ]
23 }
24 }
25}
diff --git a/keyboards/pimentoso/paddino02/rev2/left/info.json b/keyboards/pimentoso/paddino02/rev2/left/info.json
new file mode 100644
index 000000000..ab5e30619
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev2/left/info.json
@@ -0,0 +1,25 @@
1{
2 "keyboard_name": "Paddino02 rev2 (left)",
3 "url": "",
4 "maintainer": "Pimentoso",
5 "width": 4,
6 "height": 3.75,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0.5},
11 {"x":1, "y":0.25},
12 {"x":2, "y":0},
13 {"x":3, "y":0.25},
14
15 {"x":0, "y":1.5},
16 {"x":1, "y":1.25},
17 {"x":2, "y":1},
18 {"x":3, "y":1.25},
19
20 {"x":2, "y":2.75},
21 {"x":3, "y":2.75}
22 ]
23 }
24 }
25}
diff --git a/keyboards/pimentoso/paddino02/rev2/right/info.json b/keyboards/pimentoso/paddino02/rev2/right/info.json
new file mode 100644
index 000000000..1ad6d3223
--- /dev/null
+++ b/keyboards/pimentoso/paddino02/rev2/right/info.json
@@ -0,0 +1,25 @@
1{
2 "keyboard_name": "Paddino02 rev2 (right)",
3 "url": "",
4 "maintainer": "Pimentoso",
5 "width": 4,
6 "height": 3.75,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0.25},
11 {"x":1, "y":0},
12 {"x":2, "y":0.25},
13 {"x":3, "y":0.5},
14
15 {"x":0, "y":1.25},
16 {"x":1, "y":1},
17 {"x":2, "y":1.25},
18 {"x":3, "y":1.5},
19
20 {"x":0, "y":2.75},
21 {"x":1, "y":2.75}
22 ]
23 }
24 }
25}
diff --git a/keyboards/runner3680/3x6/info.json b/keyboards/runner3680/3x6/info.json
new file mode 100644
index 000000000..b9a802349
--- /dev/null
+++ b/keyboards/runner3680/3x6/info.json
@@ -0,0 +1,51 @@
1{
2 "keyboard_name": "runner3680 3x6",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 13,
6 "height": 3,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":7, "y":2},
43 {"x":8, "y":2},
44 {"x":9, "y":2},
45 {"x":10, "y":2},
46 {"x":11, "y":2},
47 {"x":12, "y":2}
48 ]
49 }
50 }
51}
diff --git a/keyboards/runner3680/3x7/info.json b/keyboards/runner3680/3x7/info.json
new file mode 100644
index 000000000..55b9e6dd0
--- /dev/null
+++ b/keyboards/runner3680/3x7/info.json
@@ -0,0 +1,57 @@
1{
2 "keyboard_name": "runner3680 3x7",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 15,
6 "height": 3,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24
25 {"x":0, "y":1},
26 {"x":1, "y":1},
27 {"x":2, "y":1},
28 {"x":3, "y":1},
29 {"x":4, "y":1},
30 {"x":5, "y":1},
31 {"x":6, "y":1},
32 {"x":8, "y":1},
33 {"x":9, "y":1},
34 {"x":10, "y":1},
35 {"x":11, "y":1},
36 {"x":12, "y":1},
37 {"x":13, "y":1},
38 {"x":14, "y":1},
39
40 {"x":0, "y":2},
41 {"x":1, "y":2},
42 {"x":2, "y":2},
43 {"x":3, "y":2},
44 {"x":4, "y":2},
45 {"x":5, "y":2},
46 {"x":6, "y":2},
47 {"x":8, "y":2},
48 {"x":9, "y":2},
49 {"x":10, "y":2},
50 {"x":11, "y":2},
51 {"x":12, "y":2},
52 {"x":13, "y":2},
53 {"x":14, "y":2}
54 ]
55 }
56 }
57}
diff --git a/keyboards/runner3680/3x8/info.json b/keyboards/runner3680/3x8/info.json
new file mode 100644
index 000000000..55a4da4bc
--- /dev/null
+++ b/keyboards/runner3680/3x8/info.json
@@ -0,0 +1,63 @@
1{
2 "keyboard_name": "runner3680 3x8",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 17,
6 "height": 3,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24 {"x":15, "y":0},
25 {"x":16, "y":0},
26
27 {"x":0, "y":1},
28 {"x":1, "y":1},
29 {"x":2, "y":1},
30 {"x":3, "y":1},
31 {"x":4, "y":1},
32 {"x":5, "y":1},
33 {"x":6, "y":1},
34 {"x":7, "y":1},
35 {"x":9, "y":1},
36 {"x":10, "y":1},
37 {"x":11, "y":1},
38 {"x":12, "y":1},
39 {"x":13, "y":1},
40 {"x":14, "y":1},
41 {"x":15, "y":1},
42 {"x":16, "y":1},
43
44 {"x":0, "y":2},
45 {"x":1, "y":2},
46 {"x":2, "y":2},
47 {"x":3, "y":2},
48 {"x":4, "y":2},
49 {"x":5, "y":2},
50 {"x":6, "y":2},
51 {"x":7, "y":2},
52 {"x":9, "y":2},
53 {"x":10, "y":2},
54 {"x":11, "y":2},
55 {"x":12, "y":2},
56 {"x":13, "y":2},
57 {"x":14, "y":2},
58 {"x":15, "y":2},
59 {"x":16, "y":2}
60 ]
61 }
62 }
63}
diff --git a/keyboards/runner3680/4x6/info.json b/keyboards/runner3680/4x6/info.json
new file mode 100644
index 000000000..2109d01ae
--- /dev/null
+++ b/keyboards/runner3680/4x6/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "runner3680 4x6",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":7, "y":2},
43 {"x":8, "y":2},
44 {"x":9, "y":2},
45 {"x":10, "y":2},
46 {"x":11, "y":2},
47 {"x":12, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":7, "y":3},
56 {"x":8, "y":3},
57 {"x":9, "y":3},
58 {"x":10, "y":3},
59 {"x":11, "y":3},
60 {"x":12, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/runner3680/4x7/info.json b/keyboards/runner3680/4x7/info.json
new file mode 100644
index 000000000..f066d8553
--- /dev/null
+++ b/keyboards/runner3680/4x7/info.json
@@ -0,0 +1,72 @@
1{
2 "keyboard_name": "runner3680 4x7",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 15,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24
25 {"x":0, "y":1},
26 {"x":1, "y":1},
27 {"x":2, "y":1},
28 {"x":3, "y":1},
29 {"x":4, "y":1},
30 {"x":5, "y":1},
31 {"x":6, "y":1},
32 {"x":8, "y":1},
33 {"x":9, "y":1},
34 {"x":10, "y":1},
35 {"x":11, "y":1},
36 {"x":12, "y":1},
37 {"x":13, "y":1},
38 {"x":14, "y":1},
39
40 {"x":0, "y":2},
41 {"x":1, "y":2},
42 {"x":2, "y":2},
43 {"x":3, "y":2},
44 {"x":4, "y":2},
45 {"x":5, "y":2},
46 {"x":6, "y":2},
47 {"x":8, "y":2},
48 {"x":9, "y":2},
49 {"x":10, "y":2},
50 {"x":11, "y":2},
51 {"x":12, "y":2},
52 {"x":13, "y":2},
53 {"x":14, "y":2},
54
55 {"x":0, "y":3},
56 {"x":1, "y":3},
57 {"x":2, "y":3},
58 {"x":3, "y":3},
59 {"x":4, "y":3},
60 {"x":5, "y":3},
61 {"x":6, "y":3},
62 {"x":8, "y":3},
63 {"x":9, "y":3},
64 {"x":10, "y":3},
65 {"x":11, "y":3},
66 {"x":12, "y":3},
67 {"x":13, "y":3},
68 {"x":14, "y":3}
69 ]
70 }
71 }
72}
diff --git a/keyboards/runner3680/4x8/info.json b/keyboards/runner3680/4x8/info.json
new file mode 100644
index 000000000..644049308
--- /dev/null
+++ b/keyboards/runner3680/4x8/info.json
@@ -0,0 +1,80 @@
1{
2 "keyboard_name": "runner3680 4x8",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 17,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24 {"x":15, "y":0},
25 {"x":16, "y":0},
26
27 {"x":0, "y":1},
28 {"x":1, "y":1},
29 {"x":2, "y":1},
30 {"x":3, "y":1},
31 {"x":4, "y":1},
32 {"x":5, "y":1},
33 {"x":6, "y":1},
34 {"x":7, "y":1},
35 {"x":9, "y":1},
36 {"x":10, "y":1},
37 {"x":11, "y":1},
38 {"x":12, "y":1},
39 {"x":13, "y":1},
40 {"x":14, "y":1},
41 {"x":15, "y":1},
42 {"x":16, "y":1},
43
44 {"x":0, "y":2},
45 {"x":1, "y":2},
46 {"x":2, "y":2},
47 {"x":3, "y":2},
48 {"x":4, "y":2},
49 {"x":5, "y":2},
50 {"x":6, "y":2},
51 {"x":7, "y":2},
52 {"x":9, "y":2},
53 {"x":10, "y":2},
54 {"x":11, "y":2},
55 {"x":12, "y":2},
56 {"x":13, "y":2},
57 {"x":14, "y":2},
58 {"x":15, "y":2},
59 {"x":16, "y":2},
60
61 {"x":0, "y":3},
62 {"x":1, "y":3},
63 {"x":2, "y":3},
64 {"x":3, "y":3},
65 {"x":4, "y":3},
66 {"x":5, "y":3},
67 {"x":6, "y":3},
68 {"x":7, "y":3},
69 {"x":9, "y":3},
70 {"x":10, "y":3},
71 {"x":11, "y":3},
72 {"x":12, "y":3},
73 {"x":13, "y":3},
74 {"x":14, "y":3},
75 {"x":15, "y":3},
76 {"x":16, "y":3}
77 ]
78 }
79 }
80}
diff --git a/keyboards/runner3680/5x6/info.json b/keyboards/runner3680/5x6/info.json
new file mode 100644
index 000000000..5840556ff
--- /dev/null
+++ b/keyboards/runner3680/5x6/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "runner3680 5x6",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 13,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":7, "y":2},
43 {"x":8, "y":2},
44 {"x":9, "y":2},
45 {"x":10, "y":2},
46 {"x":11, "y":2},
47 {"x":12, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":7, "y":3},
56 {"x":8, "y":3},
57 {"x":9, "y":3},
58 {"x":10, "y":3},
59 {"x":11, "y":3},
60 {"x":12, "y":3},
61
62 {"x":0, "y":4},
63 {"x":1, "y":4},
64 {"x":2, "y":4},
65 {"x":3, "y":4},
66 {"x":4, "y":4},
67 {"x":5, "y":4},
68 {"x":7, "y":4},
69 {"x":8, "y":4},
70 {"x":9, "y":4},
71 {"x":10, "y":4},
72 {"x":11, "y":4},
73 {"x":12, "y":4}
74 ]
75 }
76 }
77}
diff --git a/keyboards/runner3680/5x7/info.json b/keyboards/runner3680/5x7/info.json
new file mode 100644
index 000000000..6ccb24612
--- /dev/null
+++ b/keyboards/runner3680/5x7/info.json
@@ -0,0 +1,87 @@
1{
2 "keyboard_name": "runner3680 5x7",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24
25 {"x":0, "y":1},
26 {"x":1, "y":1},
27 {"x":2, "y":1},
28 {"x":3, "y":1},
29 {"x":4, "y":1},
30 {"x":5, "y":1},
31 {"x":6, "y":1},
32 {"x":8, "y":1},
33 {"x":9, "y":1},
34 {"x":10, "y":1},
35 {"x":11, "y":1},
36 {"x":12, "y":1},
37 {"x":13, "y":1},
38 {"x":14, "y":1},
39
40 {"x":0, "y":2},
41 {"x":1, "y":2},
42 {"x":2, "y":2},
43 {"x":3, "y":2},
44 {"x":4, "y":2},
45 {"x":5, "y":2},
46 {"x":6, "y":2},
47 {"x":8, "y":2},
48 {"x":9, "y":2},
49 {"x":10, "y":2},
50 {"x":11, "y":2},
51 {"x":12, "y":2},
52 {"x":13, "y":2},
53 {"x":14, "y":2},
54
55 {"x":0, "y":3},
56 {"x":1, "y":3},
57 {"x":2, "y":3},
58 {"x":3, "y":3},
59 {"x":4, "y":3},
60 {"x":5, "y":3},
61 {"x":6, "y":3},
62 {"x":8, "y":3},
63 {"x":9, "y":3},
64 {"x":10, "y":3},
65 {"x":11, "y":3},
66 {"x":12, "y":3},
67 {"x":13, "y":3},
68 {"x":14, "y":3},
69
70 {"x":0, "y":4},
71 {"x":1, "y":4},
72 {"x":2, "y":4},
73 {"x":3, "y":4},
74 {"x":4, "y":4},
75 {"x":5, "y":4},
76 {"x":6, "y":4},
77 {"x":8, "y":4},
78 {"x":9, "y":4},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4}
84 ]
85 }
86 }
87}
diff --git a/keyboards/runner3680/5x8/info.json b/keyboards/runner3680/5x8/info.json
new file mode 100644
index 000000000..6c2f386fe
--- /dev/null
+++ b/keyboards/runner3680/5x8/info.json
@@ -0,0 +1,97 @@
1{
2 "keyboard_name": "runner3680 5x8",
3 "url": "",
4 "maintainer": "omkbd",
5 "width": 17,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14, "y":0},
24 {"x":15, "y":0},
25 {"x":16, "y":0},
26
27 {"x":0, "y":1},
28 {"x":1, "y":1},
29 {"x":2, "y":1},
30 {"x":3, "y":1},
31 {"x":4, "y":1},
32 {"x":5, "y":1},
33 {"x":6, "y":1},
34 {"x":7, "y":1},
35 {"x":9, "y":1},
36 {"x":10, "y":1},
37 {"x":11, "y":1},
38 {"x":12, "y":1},
39 {"x":13, "y":1},
40 {"x":14, "y":1},
41 {"x":15, "y":1},
42 {"x":16, "y":1},
43
44 {"x":0, "y":2},
45 {"x":1, "y":2},
46 {"x":2, "y":2},
47 {"x":3, "y":2},
48 {"x":4, "y":2},
49 {"x":5, "y":2},
50 {"x":6, "y":2},
51 {"x":7, "y":2},
52 {"x":9, "y":2},
53 {"x":10, "y":2},
54 {"x":11, "y":2},
55 {"x":12, "y":2},
56 {"x":13, "y":2},
57 {"x":14, "y":2},
58 {"x":15, "y":2},
59 {"x":16, "y":2},
60
61 {"x":0, "y":3},
62 {"x":1, "y":3},
63 {"x":2, "y":3},
64 {"x":3, "y":3},
65 {"x":4, "y":3},
66 {"x":5, "y":3},
67 {"x":6, "y":3},
68 {"x":7, "y":3},
69 {"x":9, "y":3},
70 {"x":10, "y":3},
71 {"x":11, "y":3},
72 {"x":12, "y":3},
73 {"x":13, "y":3},
74 {"x":14, "y":3},
75 {"x":15, "y":3},
76 {"x":16, "y":3},
77
78 {"x":0, "y":4},
79 {"x":1, "y":4},
80 {"x":2, "y":4},
81 {"x":3, "y":4},
82 {"x":4, "y":4},
83 {"x":5, "y":4},
84 {"x":6, "y":4},
85 {"x":7, "y":4},
86 {"x":9, "y":4},
87 {"x":10, "y":4},
88 {"x":11, "y":4},
89 {"x":12, "y":4},
90 {"x":13, "y":4},
91 {"x":14, "y":4},
92 {"x":15, "y":4},
93 {"x":16, "y":4}
94 ]
95 }
96 }
97}
diff --git a/keyboards/sck/gtm/info.json b/keyboards/sck/gtm/info.json
new file mode 100644
index 000000000..7b6a6375c
--- /dev/null
+++ b/keyboards/sck/gtm/info.json
@@ -0,0 +1,25 @@
1{
2 "keyboard_name": "Grand Theft Macro Pad",
3 "url": "",
4 "maintainer": "jrfhoutx",
5 "width": 6.5,
6 "height": 2,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"K00", "x":0, "y":0},
11 {"label":"K01", "x":1, "y":0},
12 {"label":"K02", "x":2, "y":0},
13 {"label":"K03", "x":3, "y":0},
14 {"label":"K15", "x":4, "y":0},
15
16 {"label":"K10", "x":0, "y":1},
17 {"label":"K11", "x":1, "y":1},
18 {"label":"K12", "x":2, "y":1},
19 {"label":"K13", "x":3, "y":1},
20 {"label":"K14", "x":4, "y":1},
21 {"label":"K16", "x":5.5, "y":0.5}
22 ]
23 }
24 }
25}
diff --git a/keyboards/splitish/info.json b/keyboards/splitish/info.json
new file mode 100644
index 000000000..430095044
--- /dev/null
+++ b/keyboards/splitish/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "splitish",
3 "url": "",
4 "maintainer": "RSchneyer",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":7, "y":0},
17 {"x":8, "y":0},
18 {"x":9, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22
23 {"x":0, "y":1},
24 {"x":1, "y":1},
25 {"x":2, "y":1},
26 {"x":3, "y":1},
27 {"x":4, "y":1},
28 {"x":5, "y":1},
29 {"x":7, "y":1},
30 {"x":8, "y":1},
31 {"x":9, "y":1},
32 {"x":10, "y":1},
33 {"x":11, "y":1},
34 {"x":12, "y":1},
35
36 {"x":0, "y":2},
37 {"x":1, "y":2},
38 {"x":2, "y":2},
39 {"x":3, "y":2},
40 {"x":4, "y":2},
41 {"x":5, "y":2},
42 {"x":7, "y":2},
43 {"x":8, "y":2},
44 {"x":9, "y":2},
45 {"x":10, "y":2},
46 {"x":11, "y":2},
47 {"x":12, "y":2},
48
49 {"x":0, "y":3},
50 {"x":1, "y":3},
51 {"x":2, "y":3},
52 {"x":3, "y":3},
53 {"x":4, "y":3},
54 {"x":5, "y":3},
55 {"x":7, "y":3},
56 {"x":8, "y":3},
57 {"x":9, "y":3},
58 {"x":10, "y":3},
59 {"x":11, "y":3},
60 {"x":12, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/standaside/info.json b/keyboards/standaside/info.json
new file mode 100644
index 000000000..b3be6c39e
--- /dev/null
+++ b/keyboards/standaside/info.json
@@ -0,0 +1,80 @@
1{
2 "keyboard_name": "Stand Aside",
3 "url": "",
4 "maintainer": "fateeverywhere",
5 "width": 16,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x16": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15, "y":0},
26
27 {"x":0, "y":1},
28 {"x":1, "y":1},
29 {"x":2, "y":1},
30 {"x":3, "y":1},
31 {"x":4, "y":1},
32 {"x":5, "y":1},
33 {"x":6, "y":1},
34 {"x":7, "y":1},
35 {"x":8, "y":1},
36 {"x":9, "y":1},
37 {"x":10, "y":1},
38 {"x":11, "y":1},
39 {"x":12, "y":1},
40 {"x":13, "y":1},
41 {"x":14, "y":1},
42 {"x":15, "y":1},
43
44 {"x":0, "y":2},
45 {"x":1, "y":2},
46 {"x":2, "y":2},
47 {"x":3, "y":2},
48 {"x":4, "y":2},
49 {"x":5, "y":2},
50 {"x":6, "y":2},
51 {"x":7, "y":2},
52 {"x":8, "y":2},
53 {"x":9, "y":2},
54 {"x":10, "y":2},
55 {"x":11, "y":2},
56 {"x":12, "y":2},
57 {"x":13, "y":2},
58 {"x":14, "y":2},
59 {"x":15, "y":2},
60
61 {"x":0, "y":3},
62 {"x":1, "y":3},
63 {"x":2, "y":3},
64 {"x":3, "y":3},
65 {"x":4, "y":3},
66 {"x":5, "y":3},
67 {"x":6, "y":3},
68 {"x":7, "y":3},
69 {"x":8, "y":3},
70 {"x":9, "y":3},
71 {"x":10, "y":3},
72 {"x":11, "y":3},
73 {"x":12, "y":3},
74 {"x":13, "y":3},
75 {"x":14, "y":3},
76 {"x":15, "y":3}
77 ]
78 }
79 }
80}
diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json
new file mode 100644
index 000000000..b766c0721
--- /dev/null
+++ b/keyboards/ungodly/launch_pad/info.json
@@ -0,0 +1,37 @@
1{
2 "keyboard_name": "Launch Pad",
3 "url": "",
4 "maintainer": "luis-godinez",
5 "width": 4,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3},
29
30 {"x":0, "y":4},
31 {"x":1, "y":4},
32 {"x":2, "y":4},
33 {"x":3, "y":4}
34 ]
35 }
36 }
37}
diff --git a/keyboards/xelus/trinityxttkl/info.json b/keyboards/xelus/trinityxttkl/info.json
new file mode 100644
index 000000000..de10202e7
--- /dev/null
+++ b/keyboards/xelus/trinityxttkl/info.json
@@ -0,0 +1,118 @@
1{
2 "keyboard_name": "Trinity XT TKL",
3 "url": "",
4 "maintainer": "Xelus22",
5 "width": 20.5,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2.25, "y":0},
13 {"x":4.25, "y":0},
14 {"x":5.25, "y":0},
15 {"x":6.25, "y":0},
16 {"x":7.25, "y":0},
17 {"x":8.75, "y":0},
18 {"x":9.75, "y":0},
19 {"x":10.75, "y":0},
20 {"x":11.75, "y":0},
21 {"x":13.25, "y":0},
22 {"x":14.25, "y":0},
23 {"x":15.25, "y":0},
24 {"x":16.25, "y":0},
25 {"x":17.5, "y":0},
26 {"x":18.5, "y":0},
27 {"x":19.5, "y":0},
28
29 {"x":0, "y":1.25},
30 {"x":1, "y":1.25},
31 {"x":2.25, "y":1.25},
32 {"x":3.25, "y":1.25},
33 {"x":4.25, "y":1.25},
34 {"x":5.25, "y":1.25},
35 {"x":6.25, "y":1.25},
36 {"x":7.25, "y":1.25},
37 {"x":8.25, "y":1.25},
38 {"x":9.25, "y":1.25},
39 {"x":10.25, "y":1.25},
40 {"x":11.25, "y":1.25},
41 {"x":12.25, "y":1.25},
42 {"x":13.25, "y":1.25},
43 {"x":14.25, "y":1.25},
44 {"x":15.25, "y":1.25},
45 {"x":16.25, "y":1.25},
46 {"x":17.5, "y":1.25},
47 {"x":18.5, "y":1.25},
48 {"x":19.5, "y":1.25},
49
50 {"x":0, "y":2.25},
51 {"x":1, "y":2.25},
52 {"x":2.25, "y":2.25, "w":1.5},
53 {"x":3.75, "y":2.25},
54 {"x":4.75, "y":2.25},
55 {"x":5.75, "y":2.25},
56 {"x":6.75, "y":2.25},
57 {"x":7.75, "y":2.25},
58 {"x":8.75, "y":2.25},
59 {"x":9.75, "y":2.25},
60 {"x":10.75, "y":2.25},
61 {"x":11.75, "y":2.25},
62 {"x":12.75, "y":2.25},
63 {"x":13.75, "y":2.25},
64 {"x":14.75, "y":2.25},
65 {"x":15.75, "y":2.25, "w":1.5},
66 {"x":17.5, "y":2.25},
67 {"x":18.5, "y":2.25},
68 {"x":19.5, "y":2.25},
69
70 {"x":0, "y":3.25},
71 {"x":1, "y":3.25},
72 {"x":2.25, "y":3.25, "w":1.75},
73 {"x":4, "y":3.25},
74 {"x":5, "y":3.25},
75 {"x":6, "y":3.25},
76 {"x":7, "y":3.25},
77 {"x":8, "y":3.25},
78 {"x":9, "y":3.25},
79 {"x":10, "y":3.25},
80 {"x":11, "y":3.25},
81 {"x":12, "y":3.25},
82 {"x":13, "y":3.25},
83 {"x":14, "y":3.25},
84 {"x":15, "y":3.25, "w":2.25},
85
86 {"x":0, "y":4.25},
87 {"x":1, "y":4.25},
88 {"x":2.25, "y":4.25, "w":2.25},
89 {"x":4.5, "y":4.25},
90 {"x":5.5, "y":4.25},
91 {"x":6.5, "y":4.25},
92 {"x":7.5, "y":4.25},
93 {"x":8.5, "y":4.25},
94 {"x":9.5, "y":4.25},
95 {"x":10.5, "y":4.25},
96 {"x":11.5, "y":4.25},
97 {"x":12.5, "y":4.25},
98 {"x":13.5, "y":4.25},
99 {"x":14.5, "y":4.25, "w":1.75},
100 {"x":16.25, "y":4.25},
101 {"x":18.5, "y":4.25},
102
103 {"x":0, "y":5.25},
104 {"x":1, "y":5.25},
105 {"x":2.25, "y":5.25, "w":1.5},
106 {"x":4.75, "y":5.25, "w":1.5},
107 {"x":6.25, "y":5.25, "w":3},
108 {"x":9.25, "y":5.25},
109 {"x":10.25, "y":5.25, "w":3},
110 {"x":13.25, "y":5.25, "w":1.5},
111 {"x":15.75, "y":5.25, "w":1.5},
112 {"x":17.5, "y":5.25},
113 {"x":18.5, "y":5.25},
114 {"x":19.5, "y":5.25}
115 ]
116 }
117 }
118}