diff --git a/keyboards/ferris/0_1/config.h b/keyboards/ferris/0_1/config.h
index 6cd5c91621..79a74ae9bb 100644
--- a/keyboards/ferris/0_1/config.h
+++ b/keyboards/ferris/0_1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see .
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pierre
-#define PRODUCT Ferris the keeb
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
diff --git a/keyboards/ferris/0_1/info.json b/keyboards/ferris/0_1/info.json
new file mode 100644
index 0000000000..354545b3bd
--- /dev/null
+++ b/keyboards/ferris/0_1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Ferris the keeb",
+ "manufacturer": "Pierre",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/ferris/0_2/base/info.json b/keyboards/ferris/0_2/base/info.json
new file mode 100644
index 0000000000..d0d22b8047
--- /dev/null
+++ b/keyboards/ferris/0_2/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2",
+ "usb": {
+ "pid": "0x0001"
+ }
+}
diff --git a/keyboards/ferris/0_2/base/rules.mk b/keyboards/ferris/0_2/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h
index 4b2efd378d..ceb02e737b 100644
--- a/keyboards/ferris/0_2/bling/config.h
+++ b/keyboards/ferris/0_2/bling/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see .
#pragma once
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0002
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Bling
-
-
-
/* LED Drivers */
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101
diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json
new file mode 100644
index 0000000000..5473c33295
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Bling",
+ "usb": {
+ "pid": "0x0002"
+ }
+}
diff --git a/keyboards/ferris/0_2/compact/config.h b/keyboards/ferris/0_2/compact/config.h
deleted file mode 100644
index ee465b9acd..0000000000
--- a/keyboards/ferris/0_2/compact/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0003
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Compact
diff --git a/keyboards/ferris/0_2/compact/info.json b/keyboards/ferris/0_2/compact/info.json
new file mode 100644
index 0000000000..4ca1555776
--- /dev/null
+++ b/keyboards/ferris/0_2/compact/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Compact",
+ "usb": {
+ "pid": "0x0003"
+ }
+}
diff --git a/keyboards/ferris/0_2/config.h b/keyboards/ferris/0_2/config.h
index f51e5dd8f1..c573517037 100644
--- a/keyboards/ferris/0_2/config.h
+++ b/keyboards/ferris/0_2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see .
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Cuddly Keyboards Ltd.
-#define PRODUCT Ferris 0.2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
diff --git a/keyboards/ferris/0_2/high/config.h b/keyboards/ferris/0_2/high/config.h
deleted file mode 100644
index 67786241b4..0000000000
--- a/keyboards/ferris/0_2/high/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0005
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - High
diff --git a/keyboards/ferris/0_2/high/info.json b/keyboards/ferris/0_2/high/info.json
new file mode 100644
index 0000000000..adb9d07af3
--- /dev/null
+++ b/keyboards/ferris/0_2/high/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - High",
+ "usb": {
+ "pid": "0x0005"
+ }
+}
diff --git a/keyboards/ferris/0_2/info.json b/keyboards/ferris/0_2/info.json
new file mode 100644
index 0000000000..9ab2ffbdfb
--- /dev/null
+++ b/keyboards/ferris/0_2/info.json
@@ -0,0 +1,7 @@
+{
+ "manufacturer": "Cuddly Keyboards Ltd.",
+ "usb": {
+ "vid": "0xC2AB",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/ferris/0_2/mini/config.h b/keyboards/ferris/0_2/mini/config.h
deleted file mode 100644
index e357cabe0b..0000000000
--- a/keyboards/ferris/0_2/mini/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0004
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Mini
diff --git a/keyboards/ferris/0_2/mini/info.json b/keyboards/ferris/0_2/mini/info.json
new file mode 100644
index 0000000000..0ab5db559a
--- /dev/null
+++ b/keyboards/ferris/0_2/mini/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Mini",
+ "usb": {
+ "pid": "0x0004"
+ }
+}
diff --git a/keyboards/ferris/0_2/rules.mk b/keyboards/ferris/0_2/rules.mk
index 2d406f5c1d..c5a44ca9ef 100644
--- a/keyboards/ferris/0_2/rules.mk
+++ b/keyboards/ferris/0_2/rules.mk
@@ -25,3 +25,5 @@ SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
LAYOUTS = split_3x5_2
+
+DEFAULT_FOLDER = ferris/0_2/base
diff --git a/keyboards/ferris/info.json b/keyboards/ferris/info.json
index 93470c7253..52485bd9e9 100644
--- a/keyboards/ferris/info.json
+++ b/keyboards/ferris/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Ferris",
"url": "https://github.com/pierrechevalier83/ferris/",
"maintainer": "@pierrec83",
"layouts": {
diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h
index 4d4d7d309f..c7d5bcf91d 100644
--- a/keyboards/ferris/sweep/config.h
+++ b/keyboards/ferris/sweep/config.h
@@ -21,13 +21,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x3939
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DPB
-#define PRODUCT Ferris sweep
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
diff --git a/keyboards/ferris/sweep/info.json b/keyboards/ferris/sweep/info.json
new file mode 100644
index 0000000000..fc53028c34
--- /dev/null
+++ b/keyboards/ferris/sweep/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Ferris sweep",
+ "manufacturer": "DPB",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x3939",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h
index c0f73366a7..2e711ce3a0 100644
--- a/keyboards/flehrad/bigswitch/config.h
+++ b/keyboards/flehrad/bigswitch/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0xB195
-#define DEVICE_VER 0x0001
-#define MANUFACTURER flehrad
-#define PRODUCT BigSwitch PCB
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/keyboards/flehrad/bigswitch/info.json b/keyboards/flehrad/bigswitch/info.json
index 8b1411775a..9e600672f8 100644
--- a/keyboards/flehrad/bigswitch/info.json
+++ b/keyboards/flehrad/bigswitch/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Bigswitch PCB",
+ "keyboard_name": "BigSwitch PCB",
+ "manufacturer": "flehrad",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xB195",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0, "w":4, "h":4}]
diff --git a/keyboards/flehrad/downbubble/config.h b/keyboards/flehrad/downbubble/config.h
index fa13006a97..8492b97240 100644
--- a/keyboards/flehrad/downbubble/config.h
+++ b/keyboards/flehrad/downbubble/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT downbubble
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
diff --git a/keyboards/flehrad/downbubble/info.json b/keyboards/flehrad/downbubble/info.json
index 6314e4f966..4e3ab26bb6 100644
--- a/keyboards/flehrad/downbubble/info.json
+++ b/keyboards/flehrad/downbubble/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "downbubble",
+ "manufacturer": "Flehrad",
"maintainer": "flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_standard": {
"layout": [
diff --git a/keyboards/flehrad/numbrero/config.h b/keyboards/flehrad/numbrero/config.h
index 8360dfb3f9..50a714cb2e 100644
--- a/keyboards/flehrad/numbrero/config.h
+++ b/keyboards/flehrad/numbrero/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Numbrero
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
diff --git a/keyboards/flehrad/numbrero/info.json b/keyboards/flehrad/numbrero/info.json
index f0bce2bda2..30c93d035c 100644
--- a/keyboards/flehrad/numbrero/info.json
+++ b/keyboards/flehrad/numbrero/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Numbrero",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numbrero_numpad": {
"layout": [
diff --git a/keyboards/flehrad/snagpad/config.h b/keyboards/flehrad/snagpad/config.h
index 946534ebb8..4b4e10b866 100644
--- a/keyboards/flehrad/snagpad/config.h
+++ b/keyboards/flehrad/snagpad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443 // "DC" = Don Chiou
-#define PRODUCT_ID 0x5350 // "SP" = Snagpad
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Snagpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/flehrad/snagpad/info.json b/keyboards/flehrad/snagpad/info.json
index 785eaa6a93..c2c8bdadfc 100644
--- a/keyboards/flehrad/snagpad/info.json
+++ b/keyboards/flehrad/snagpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Snagpad",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x5350",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
diff --git a/keyboards/flehrad/tradestation/config.h b/keyboards/flehrad/tradestation/config.h
index 6b8f021ebc..6531ef6b3b 100644
--- a/keyboards/flehrad/tradestation/config.h
+++ b/keyboards/flehrad/tradestation/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Trade Station
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/flehrad/tradestation/info.json b/keyboards/flehrad/tradestation/info.json
index cf0344c01b..f61ccb7d2f 100644
--- a/keyboards/flehrad/tradestation/info.json
+++ b/keyboards/flehrad/tradestation/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Tradestation",
+ "keyboard_name": "Trade Station",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tradestation": {
"layout": [
diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h
index e4366f959f..7d9cfab899 100644
--- a/keyboards/fortitude60/rev1/config.h
+++ b/keyboards/fortitude60/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1156
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Pekaso
-#define PRODUCT Fortitude60
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/fortitude60/info.json b/keyboards/fortitude60/rev1/info.json
similarity index 94%
rename from keyboards/fortitude60/info.json
rename to keyboards/fortitude60/rev1/info.json
index db8959706f..f8c7f0a995 100644
--- a/keyboards/fortitude60/info.json
+++ b/keyboards/fortitude60/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Fortitude60",
+ "manufacturer": "Pekaso",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1156",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"L00", "x":0, "y":0}, {"label":"L01", "x":1, "y":0}, {"label":"L02", "x":2, "y":0}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0}, {"label":"L05", "x":5, "y":0}, {"label":"R00", "x":9, "y":0}, {"label":"R01", "x":10, "y":0}, {"label":"R02", "x":11, "y":0}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0}, {"label":"R05", "x":14, "y":0}, {"label":"L10", "x":0, "y":1}, {"label":"L11", "x":1, "y":1}, {"label":"L12", "x":2, "y":1}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1}, {"label":"L15", "x":5, "y":1}, {"label":"R10", "x":9, "y":1}, {"label":"R11", "x":10, "y":1}, {"label":"R12", "x":11, "y":1}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1}, {"label":"R15", "x":14, "y":1}, {"label":"L20", "x":0, "y":2}, {"label":"L21", "x":1, "y":2}, {"label":"L22", "x":2, "y":2}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2}, {"label":"L25", "x":5, "y":2}, {"label":"R20", "x":9, "y":2}, {"label":"R21", "x":10, "y":2}, {"label":"R22", "x":11, "y":2}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2}, {"label":"R25", "x":14, "y":2}, {"label":"L30", "x":0, "y":3}, {"label":"L31", "x":1, "y":3}, {"label":"L32", "x":2, "y":3}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3}, {"label":"L35", "x":5, "y":3}, {"label":"LT5", "x":6, "y":3}, {"label":"RT5", "x":8, "y":3}, {"label":"R30", "x":9, "y":3}, {"label":"R31", "x":10, "y":3}, {"label":"R32", "x":11, "y":3}, {"label":"R33", "x":12, "y":3}, {"label":"R34", "x":13, "y":3}, {"label":"R35", "x":14, "y":3}, {"label":"LT0", "x":2, "y":4}, {"label":"LT1", "x":3, "y":4}, {"label":"LT2", "x":4, "y":4}, {"label":"LT3", "x":5, "y":4}, {"label":"LT4", "x":6, "y":4}, {"label":"RT4", "x":8, "y":4}, {"label":"RT3", "x":9, "y":4}, {"label":"RT2", "x":10, "y":4}, {"label":"RT1", "x":11, "y":4}, {"label":"RT0", "x":12, "y":4}]
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index aba69c8872..670c72c00b 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0001
-#define VENDOR_ID 0x320F
-#define PRODUCT_ID 0x5044
-#define MANUFACTURER Glorious
-#define PRODUCT GMMK Pro
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 8
diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json
index c3e76391d1..64f63e9593 100644
--- a/keyboards/gmmk/pro/rev1/ansi/info.json
+++ b/keyboards/gmmk/pro/rev1/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GMMK Pro (ANSI)",
+ "keyboard_name": "GMMK Pro ANSI",
+ "manufacturer": "Glorious",
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
"maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json
index 32fac89336..3638e9d684 100644
--- a/keyboards/gmmk/pro/rev1/iso/info.json
+++ b/keyboards/gmmk/pro/rev1/iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GMMK Pro (ISO)",
+ "keyboard_name": "GMMK Pro ISO",
+ "manufacturer": "Glorious",
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
"maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hadron/config.h b/keyboards/hadron/config.h
index 3281984d19..5fd8c70482 100644
--- a/keyboards/hadron/config.h
+++ b/keyboards/hadron/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB30
-#define PRODUCT_ID 0x5F37
-#define MANUFACTURER ishtob
-#define PRODUCT Hadron Keyboard
-
//#define AUDIO_VOICES
//#define BACKLIGHT_PIN B7
diff --git a/keyboards/hadron/info.json b/keyboards/hadron/info.json
index 7fb7d41cf2..c5a19a2e14 100644
--- a/keyboards/hadron/info.json
+++ b/keyboards/hadron/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Hadron",
+ "manufacturer": "ishtob",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFB30",
+ "pid": "0x5F37"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K14", "x":4, "y":1}, {"label":"K15", "x":5, "y":1}, {"label":"K16", "x":6, "y":1}, {"label":"K17", "x":7, "y":1}, {"label":"K18", "x":8, "y":1}, {"label":"K19", "x":9, "y":1}, {"label":"K1A", "x":10, "y":1}, {"label":"K1B", "x":11, "y":1}, {"label":"K1C", "x":12, "y":1}, {"label":"K1D", "x":13, "y":1}, {"label":"K1E", "x":14, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K24", "x":4, "y":2}, {"label":"K25", "x":5, "y":2}, {"label":"K26", "x":6, "y":2}, {"label":"K27", "x":7, "y":2}, {"label":"K28", "x":8, "y":2}, {"label":"K29", "x":9, "y":2}, {"label":"K2A", "x":10, "y":2}, {"label":"K2B", "x":11, "y":2}, {"label":"K2C", "x":12, "y":2}, {"label":"K2D", "x":13, "y":2}, {"label":"K2E", "x":14, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}, {"label":"K34", "x":4, "y":3}, {"label":"K35", "x":5, "y":3}, {"label":"K36", "x":6, "y":3}, {"label":"K37", "x":7, "y":3}, {"label":"K38", "x":8, "y":3}, {"label":"K39", "x":9, "y":3}, {"label":"K3A", "x":10, "y":3}, {"label":"K3B", "x":11, "y":3}, {"label":"K3C", "x":12, "y":3}, {"label":"K3D", "x":13, "y":3}, {"label":"K3E", "x":14, "y":3}, {"label":"K40", "x":0, "y":4}, {"label":"K41", "x":1, "y":4}, {"label":"K42", "x":2, "y":4}, {"label":"K43", "x":3, "y":4}, {"label":"K44", "x":4, "y":4}, {"label":"K45", "x":5, "y":4}, {"label":"K46", "x":6, "y":4}, {"label":"K47", "x":7, "y":4}, {"label":"K48", "x":8, "y":4}, {"label":"K49", "x":9, "y":4}, {"label":"K4A", "x":10, "y":4}, {"label":"K4B", "x":11, "y":4}, {"label":"K4C", "x":12, "y":4}, {"label":"K4D", "x":13, "y":4}, {"label":"K4E", "x":14, "y":4}]
diff --git a/keyboards/hadron/ver2/config.h b/keyboards/hadron/ver2/config.h
index c992f7fe33..58c1f3dbd1 100644
--- a/keyboards/hadron/ver2/config.h
+++ b/keyboards/hadron/ver2/config.h
@@ -16,9 +16,6 @@ along with this program. If not, see .
*/
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0002
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/hadron/ver2/info.json b/keyboards/hadron/ver2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/hadron/ver2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h
index c61cc9a1e0..e52508b89e 100644
--- a/keyboards/hadron/ver3/config.h
+++ b/keyboards/hadron/ver3/config.h
@@ -17,9 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/hadron/ver3/info.json b/keyboards/hadron/ver3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/hadron/ver3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
index df30e84aca..529fa9c3e7 100644
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBM/Purdea Andrei
-#define PRODUCT IBM Model M (4th generation)
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
diff --git a/keyboards/ibm/model_m_4th_gen/info.json b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
similarity index 97%
rename from keyboards/ibm/model_m_4th_gen/info.json
rename to keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
index 932bfb8d73..b6cecf4309 100644
--- a/keyboards/ibm/model_m_4th_gen/info.json
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ibm/model_m_4th_gen",
+ "keyboard_name": "IBM Model M (4th generation)",
+ "manufacturer": "IBM/Purdea Andrei",
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
"maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":6}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
diff --git a/keyboards/ibnuda/squiggle/config.h b/keyboards/ibnuda/squiggle/config.h
index d9a144aca7..9e4c4f71bc 100644
--- a/keyboards/ibnuda/squiggle/config.h
+++ b/keyboards/ibnuda/squiggle/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x6969
-#define MANUFACTURER ibnuda
-#define PRODUCT squiggle
-
#define USE_SERIAL
/*
diff --git a/keyboards/ibnuda/squiggle/rev1/config.h b/keyboards/ibnuda/squiggle/rev1/config.h
index 9dec7e30f5..3d2752c8d4 100644
--- a/keyboards/ibnuda/squiggle/rev1/config.h
+++ b/keyboards/ibnuda/squiggle/rev1/config.h
@@ -1,7 +1,5 @@
#pragma once
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
diff --git a/keyboards/ibnuda/squiggle/rev1/info.json b/keyboards/ibnuda/squiggle/rev1/info.json
index 754164e5d7..0b32e42620 100644
--- a/keyboards/ibnuda/squiggle/rev1/info.json
+++ b/keyboards/ibnuda/squiggle/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "squiggle",
+ "manufacturer": "ibnuda",
"url": "https://github.com/ibnuda/squiggle",
"maintainer": "Ibnu D. Aji",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x6969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/idobao/id80/v1/ansi/config.h b/keyboards/idobao/id80/v1/ansi/config.h
deleted file mode 100644
index 253c0757b8..0000000000
--- a/keyboards/idobao/id80/v1/ansi/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 /* "id" */
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID80
diff --git a/keyboards/idobao/id80/v1/ansi/info.json b/keyboards/idobao/id80/v1/ansi/info.json
new file mode 100644
index 0000000000..e44e5f8b00
--- /dev/null
+++ b/keyboards/idobao/id80/v1/ansi/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ID80 ANSI",
+ "usb": {
+ "pid": "0x0080",
+ }
+}
diff --git a/keyboards/idobao/id80/v1/info.json b/keyboards/idobao/id80/v1/info.json
index 072b4ca4db..a4c11f4719 100644
--- a/keyboards/idobao/id80/v1/info.json
+++ b/keyboards/idobao/id80/v1/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "ID80",
+ "manufacturer": "IDOBAO",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6964",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/idobao/id80/v1/iso/config.h b/keyboards/idobao/id80/v1/iso/config.h
deleted file mode 100644
index cd9c497442..0000000000
--- a/keyboards/idobao/id80/v1/iso/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 /* "id" */
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID80 ISO
diff --git a/keyboards/idobao/id80/v1/iso/info.json b/keyboards/idobao/id80/v1/iso/info.json
new file mode 100644
index 0000000000..7512d696e2
--- /dev/null
+++ b/keyboards/idobao/id80/v1/iso/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ID80 ISO",
+ "usb": {
+ "pid": "0x0081",
+ }
+}