From 48792b030b754c8b3983a97071db1b09ae6353d4 Mon Sep 17 00:00:00 2001
From: Ryan <fauxpark@gmail.com>
Date: Sat, 20 Aug 2022 10:31:48 +1000
Subject: [PATCH] Move keyboard USB IDs and strings to data driven, pass 2:
 handwired (#18079)

---
 keyboards/handwired/bento/rev1/config.h               |  7 -------
 keyboards/handwired/bento/{ => rev1}/info.json        |  8 +++++++-
 keyboards/handwired/co60/info.json                    |  6 +++++-
 keyboards/handwired/co60/rev1/config.h                |  7 -------
 keyboards/handwired/co60/rev1/info.json               |  6 ++++++
 keyboards/handwired/co60/rev6/config.h                |  7 -------
 keyboards/handwired/co60/rev6/info.json               |  6 ++++++
 keyboards/handwired/co60/rev7/config.h                |  7 -------
 keyboards/handwired/co60/rev7/info.json               |  6 ++++++
 keyboards/handwired/dactyl_manuform/3x5_3/config.h    |  8 --------
 keyboards/handwired/dactyl_manuform/3x5_3/info.json   |  8 +++++++-
 keyboards/handwired/dactyl_manuform/4x5/config.h      |  5 -----
 keyboards/handwired/dactyl_manuform/4x5/info.json     |  6 ++++++
 keyboards/handwired/dactyl_manuform/4x5_5/config.h    |  9 ---------
 keyboards/handwired/dactyl_manuform/4x5_5/info.json   |  6 ++++++
 keyboards/handwired/dactyl_manuform/4x6/config.h      |  4 ----
 keyboards/handwired/dactyl_manuform/4x6/info.json     |  6 ++++++
 keyboards/handwired/dactyl_manuform/4x6_5/config.h    |  4 ----
 keyboards/handwired/dactyl_manuform/4x6_5/info.json   |  6 ++++++
 keyboards/handwired/dactyl_manuform/5x6/config.h      |  4 ----
 keyboards/handwired/dactyl_manuform/5x6/info.json     |  8 +++++++-
 keyboards/handwired/dactyl_manuform/5x6_2_5/config.h  |  4 ----
 keyboards/handwired/dactyl_manuform/5x6_2_5/info.json |  8 +++++++-
 keyboards/handwired/dactyl_manuform/5x6_5/config.h    |  4 ----
 keyboards/handwired/dactyl_manuform/5x6_5/info.json   |  8 +++++++-
 keyboards/handwired/dactyl_manuform/5x7/config.h      |  4 ----
 keyboards/handwired/dactyl_manuform/5x7/info.json     |  8 +++++++-
 keyboards/handwired/dactyl_manuform/6x6/config.h      |  4 ----
 keyboards/handwired/dactyl_manuform/6x6/info.json     |  8 +++++++-
 keyboards/handwired/dactyl_manuform/6x6_4/config.h    |  4 ----
 keyboards/handwired/dactyl_manuform/6x6_4/info.json   |  8 +++++++-
 .../handwired/dactyl_manuform/6x6_kinesis/config.h    |  4 ----
 .../handwired/dactyl_manuform/6x6_kinesis/info.json   |  8 +++++++-
 keyboards/handwired/dactyl_manuform/6x7/config.h      |  4 ----
 keyboards/handwired/dactyl_manuform/6x7/info.json     |  8 +++++++-
 keyboards/handwired/dactyl_manuform/config.h          |  4 ----
 .../handwired/dactyl_manuform/dmote/62key/config.h    |  3 ---
 .../handwired/dactyl_manuform/dmote/62key/info.json   |  8 +++++++-
 keyboards/handwired/dygma/raise/ansi/info.json        |  3 ---
 keyboards/handwired/dygma/raise/config.h              |  7 -------
 keyboards/handwired/dygma/raise/info.json             | 11 +++++++++++
 keyboards/handwired/dygma/raise/iso/info.json         |  3 ---
 keyboards/handwired/ms_sculpt_mobile/astar/config.h   |  2 --
 keyboards/handwired/ms_sculpt_mobile/astar/info.json  |  3 +++
 keyboards/handwired/ms_sculpt_mobile/config.h         |  6 ------
 keyboards/handwired/ms_sculpt_mobile/info.json        |  7 ++++++-
 .../handwired/ms_sculpt_mobile/teensy2pp/config.h     |  2 --
 .../handwired/ms_sculpt_mobile/teensy2pp/info.json    |  3 +++
 keyboards/handwired/onekey/blackpill_f401/config.h    |  2 --
 keyboards/handwired/onekey/blackpill_f401/info.json   |  3 +++
 keyboards/handwired/onekey/blackpill_f411/config.h    |  2 --
 keyboards/handwired/onekey/blackpill_f411/info.json   |  3 +++
 .../handwired/onekey/blackpill_f411_tinyuf2/config.h  |  2 --
 .../handwired/onekey/blackpill_f411_tinyuf2/info.json |  3 +++
 keyboards/handwired/onekey/bluepill/config.h          |  2 --
 keyboards/handwired/onekey/bluepill/info.json         |  3 +++
 keyboards/handwired/onekey/config.h                   |  6 ------
 keyboards/handwired/onekey/elite_c/config.h           |  2 --
 keyboards/handwired/onekey/elite_c/info.json          |  3 +++
 keyboards/handwired/onekey/evb_wb32f3g71/config.h     |  2 --
 keyboards/handwired/onekey/evb_wb32f3g71/info.json    |  3 +++
 keyboards/handwired/onekey/evb_wb32fq95/config.h      |  2 --
 keyboards/handwired/onekey/evb_wb32fq95/info.json     |  3 +++
 keyboards/handwired/onekey/info.json                  |  7 ++++++-
 keyboards/handwired/onekey/nucleo_l432kc/config.h     |  2 --
 keyboards/handwired/onekey/nucleo_l432kc/info.json    |  3 +++
 keyboards/handwired/onekey/promicro/config.h          |  2 --
 keyboards/handwired/onekey/promicro/info.json         |  3 +++
 keyboards/handwired/onekey/proton_c/config.h          |  2 --
 keyboards/handwired/onekey/proton_c/info.json         |  3 +++
 .../handwired/onekey/sipeed_longan_nano/info.json     |  3 +++
 keyboards/handwired/onekey/stm32f0_disco/config.h     |  2 --
 keyboards/handwired/onekey/stm32f0_disco/info.json    |  3 +++
 keyboards/handwired/onekey/stm32f405_feather/config.h |  2 --
 .../handwired/onekey/stm32f405_feather/info.json      |  3 +++
 keyboards/handwired/onekey/teensy_2/config.h          |  2 --
 keyboards/handwired/onekey/teensy_2/info.json         |  3 +++
 keyboards/handwired/onekey/teensy_2pp/config.h        |  2 --
 keyboards/handwired/onekey/teensy_2pp/info.json       |  3 +++
 keyboards/handwired/onekey/teensy_32/config.h         |  2 --
 keyboards/handwired/onekey/teensy_32/info.json        |  3 +++
 keyboards/handwired/onekey/teensy_lc/config.h         |  2 --
 keyboards/handwired/onekey/teensy_lc/info.json        |  3 +++
 keyboards/handwired/postageboard/info.json            |  5 +++++
 keyboards/handwired/postageboard/mini/config.h        |  7 -------
 keyboards/handwired/postageboard/mini/info.json       |  5 +++++
 keyboards/handwired/postageboard/r1/config.h          |  7 -------
 keyboards/handwired/postageboard/r1/info.json         |  5 +++++
 keyboards/handwired/prkl30/feather/config.h           |  7 -------
 keyboards/handwired/prkl30/info.json                  |  8 +++++++-
 keyboards/handwired/prkl30/promicro/config.h          |  7 -------
 keyboards/handwired/sono1/config.h                    |  7 -------
 keyboards/handwired/sono1/info.json                   |  7 ++++++-
 keyboards/handwired/sono1/stm32f103/config.h          |  4 ----
 keyboards/handwired/sono1/stm32f103/info.json         |  5 +++++
 keyboards/handwired/sono1/t2pp/config.h               |  4 ----
 keyboards/handwired/sono1/t2pp/info.json              |  5 +++++
 keyboards/handwired/split65/info.json                 |  6 ++++++
 keyboards/handwired/split65/promicro/config.h         |  7 -------
 keyboards/handwired/split65/stm32/config.h            |  7 -------
 keyboards/handwired/splittest/config.h                |  7 -------
 keyboards/handwired/splittest/info.json               |  6 ++++++
 keyboards/handwired/steamvan/rev1/config.h            |  7 -------
 keyboards/handwired/steamvan/{ => rev1}/info.json     |  8 +++++++-
 keyboards/handwired/symmetric70_proto/info.json       |  7 ++++++-
 .../handwired/symmetric70_proto/promicro/config.h     |  7 -------
 .../handwired/symmetric70_proto/promicro/info.json    |  3 +++
 .../handwired/symmetric70_proto/proton_c/config.h     |  7 -------
 .../handwired/symmetric70_proto/proton_c/info.json    |  3 +++
 keyboards/handwired/unk/rev1/config.h                 |  7 -------
 keyboards/handwired/unk/{ => rev1}/info.json          |  6 ++++++
 keyboards/handwired/uthol/config.h                    |  4 ----
 keyboards/handwired/uthol/info.json                   |  6 +++++-
 keyboards/handwired/uthol/rev1/config.h               |  4 ----
 keyboards/handwired/uthol/rev1/info.json              |  6 ++++++
 keyboards/handwired/uthol/rev2/config.h               |  4 ----
 keyboards/handwired/uthol/rev2/info.json              |  6 ++++++
 keyboards/handwired/uthol/rev3/config.h               |  4 ----
 keyboards/handwired/uthol/rev3/info.json              |  6 ++++++
 keyboards/handwired/xealous/rev1/config.h             |  7 -------
 keyboards/handwired/xealous/{ => rev1}/info.json      |  8 +++++++-
 121 files changed, 309 insertions(+), 293 deletions(-)
 rename keyboards/handwired/bento/{ => rev1}/info.json (64%)
 create mode 100644 keyboards/handwired/co60/rev1/info.json
 create mode 100644 keyboards/handwired/co60/rev6/info.json
 create mode 100644 keyboards/handwired/co60/rev7/info.json
 create mode 100644 keyboards/handwired/dygma/raise/info.json
 create mode 100644 keyboards/handwired/ms_sculpt_mobile/astar/info.json
 create mode 100644 keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json
 create mode 100644 keyboards/handwired/onekey/blackpill_f401/info.json
 create mode 100644 keyboards/handwired/onekey/blackpill_f411/info.json
 create mode 100644 keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
 create mode 100644 keyboards/handwired/onekey/bluepill/info.json
 create mode 100644 keyboards/handwired/onekey/elite_c/info.json
 create mode 100644 keyboards/handwired/onekey/evb_wb32f3g71/info.json
 create mode 100644 keyboards/handwired/onekey/evb_wb32fq95/info.json
 create mode 100644 keyboards/handwired/onekey/nucleo_l432kc/info.json
 create mode 100644 keyboards/handwired/onekey/promicro/info.json
 create mode 100644 keyboards/handwired/onekey/proton_c/info.json
 create mode 100644 keyboards/handwired/onekey/sipeed_longan_nano/info.json
 create mode 100644 keyboards/handwired/onekey/stm32f0_disco/info.json
 create mode 100644 keyboards/handwired/onekey/stm32f405_feather/info.json
 create mode 100644 keyboards/handwired/onekey/teensy_2/info.json
 create mode 100644 keyboards/handwired/onekey/teensy_2pp/info.json
 create mode 100644 keyboards/handwired/onekey/teensy_32/info.json
 create mode 100644 keyboards/handwired/onekey/teensy_lc/info.json
 create mode 100644 keyboards/handwired/postageboard/mini/info.json
 create mode 100644 keyboards/handwired/postageboard/r1/info.json
 create mode 100644 keyboards/handwired/sono1/stm32f103/info.json
 create mode 100644 keyboards/handwired/sono1/t2pp/info.json
 rename keyboards/handwired/steamvan/{ => rev1}/info.json (97%)
 create mode 100644 keyboards/handwired/symmetric70_proto/promicro/info.json
 create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/info.json
 rename keyboards/handwired/unk/{ => rev1}/info.json (95%)
 create mode 100644 keyboards/handwired/uthol/rev1/info.json
 create mode 100644 keyboards/handwired/uthol/rev2/info.json
 create mode 100644 keyboards/handwired/uthol/rev3/info.json
 rename keyboards/handwired/xealous/{ => rev1}/info.json (94%)

diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h
index 9bb7ef666d..0eb7664878 100644
--- a/keyboards/handwired/bento/rev1/config.h
+++ b/keyboards/handwired/bento/rev1/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0xDAD3
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    GhostSeven
-#define PRODUCT         Bento Macropad Rev. 1
-
 /* key matrix size */
 #define MATRIX_ROWS 2
 #define MATRIX_COLS 3
diff --git a/keyboards/handwired/bento/info.json b/keyboards/handwired/bento/rev1/info.json
similarity index 64%
rename from keyboards/handwired/bento/info.json
rename to keyboards/handwired/bento/rev1/info.json
index cae2773de2..26aab3813a 100644
--- a/keyboards/handwired/bento/info.json
+++ b/keyboards/handwired/bento/rev1/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Bento Macropad",
+  "keyboard_name": "Bento Macropad Rev. 1",
+  "manufacturer": "GhostSeven",
   "url": "https://www.thingiverse.com/thing:4416966",
   "maintainer": "Ghostseven",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0xDAD3",
+    "device_version": "1.0.0"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/handwired/co60/info.json b/keyboards/handwired/co60/info.json
index 95fb155836..a6b2ae15dd 100644
--- a/keyboards/handwired/co60/info.json
+++ b/keyboards/handwired/co60/info.json
@@ -1,7 +1,11 @@
 {
-  "keyboard_name": "CO60",
+  "manufacturer": "John M Daly",
   "url": "https://github.com/jmdaly/CO60",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x0000"
+  },
   "layouts": {
     "LAYOUT_all": {
       "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"label":"LSpace", "x":3.75, "y":4, "w":2.25}, {"label":"Fn", "x":6, "y":4, "w":1.25}, {"label":"RSpace", "x":7.25, "y":4, "w":2.75}, {"label":"Alt", "x":10, "y":4, "w":1}, {"label":"Win", "x":11, "y":4, "w":1}, {"label":"Menu", "x":12, "y":4, "w":1}, {"label":"Ctrl", "x":13, "y":4, "w":1}, {"label":"Fn", "x":14, "y":4, "w":1}]
diff --git a/keyboards/handwired/co60/rev1/config.h b/keyboards/handwired/co60/rev1/config.h
index a41bde6fa2..ea2dfadffd 100644
--- a/keyboards/handwired/co60/rev1/config.h
+++ b/keyboards/handwired/co60/rev1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    John M Daly
-#define PRODUCT         CO60
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/handwired/co60/rev1/info.json b/keyboards/handwired/co60/rev1/info.json
new file mode 100644
index 0000000000..0b24f1e805
--- /dev/null
+++ b/keyboards/handwired/co60/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "CO60 rev 1",
+    "usb": {
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/handwired/co60/rev6/config.h b/keyboards/handwired/co60/rev6/config.h
index c142d10f29..3ab4305841 100644
--- a/keyboards/handwired/co60/rev6/config.h
+++ b/keyboards/handwired/co60/rev6/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    John M Daly
-#define PRODUCT         CO60 rev6
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/handwired/co60/rev6/info.json b/keyboards/handwired/co60/rev6/info.json
new file mode 100644
index 0000000000..f24eaa40e2
--- /dev/null
+++ b/keyboards/handwired/co60/rev6/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "CO60 rev 6",
+    "usb": {
+        "device_version": "6.0.0"
+    }
+}
diff --git a/keyboards/handwired/co60/rev7/config.h b/keyboards/handwired/co60/rev7/config.h
index 16fa7cb4c5..9475280267 100644
--- a/keyboards/handwired/co60/rev7/config.h
+++ b/keyboards/handwired/co60/rev7/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER	0x0001
-#define MANUFACTURER    John M Daly
-#define PRODUCT         CO60 rev7
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/handwired/co60/rev7/info.json b/keyboards/handwired/co60/rev7/info.json
new file mode 100644
index 0000000000..8befb8663c
--- /dev/null
+++ b/keyboards/handwired/co60/rev7/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "CO60 rev 7",
+    "usb": {
+        "device_version": "7.0.0"
+    }
+}
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/config.h
index e417599a40..804db6c7e3 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/config.h
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/config.h
@@ -18,14 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID      0x3536
-#define DEVICE_VER      0x0003
-#ifdef MANUFACTURER
- #undef MANUFACTURER
-#endif
-#define MANUFACTURER    DLFord
-#define PRODUCT         Dactyl Minidox (3x5+3)
-
 // Communication
 // #define USE_I2C
 #define USE_SERIAL
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json
index abf23aa45d..b7c2c99f09 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/info.json
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 3x5_3",
+    "keyboard_name": "Dactyl Minidox (3x5+3)",
+    "manufacturer": "DLFord",
     "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/",
     "maintainer": "dlford",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3536",
+        "device_version": "0.0.3"
+    },
     "layouts": {
         "LAYOUT_split_3x5_3": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h
index 8a06aeab8e..d6d568bf4e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/config.h
@@ -20,11 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID   0x3435
-#define DEVICE_VER   0x0001
-#define MANUFACTURER tshort
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json
index beeafd06e0..7dfe18c06e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x5/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dactyl Manuform 4x5",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3435",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/config.h b/keyboards/handwired/dactyl_manuform/4x5_5/config.h
index 23f3b358e1..baaab51614 100644
--- a/keyboards/handwired/dactyl_manuform/4x5_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/config.h
@@ -5,15 +5,6 @@
 
 #include "config_common.h"
 
-
-/* USB Device descriptor parameters */
-#define PRODUCT_ID 0x3435
-#define DEVICE_VER 0x0001
-
-#ifndef MANUFACTURER
-#define MANUFACTURER ssedrick
-#endif
-
 #define MATRIX_ROWS 10
 #define MATRIX_COLUMNS 5
 
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/info.json b/keyboards/handwired/dactyl_manuform/4x5_5/info.json
index 0df6a23192..10b938a5c9 100644
--- a/keyboards/handwired/dactyl_manuform/4x5_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dactyl Manuform 4x5 5 thumb keys",
+    "manufacturer": "ssedrick",
     "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/4x5_5",
     "maintainer": "ssedrick",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3435",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h
index 2e79517b25..9d2e3880ed 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x3436
-#define DEVICE_VER 0x0001
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json
index 4a5c8d5eeb..f2c26516eb 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x6/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dactyl Manuform 4x6",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3436",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
index 2e79517b25..9d2e3880ed 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x3436
-#define DEVICE_VER 0x0001
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/info.json b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
index 3534cc01a6..e62f9f5b07 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dactyl Manuform 4x6 5 thumb keys",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3436",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h
index 6b93da9588..fc3f00bbc4 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0001
-#define PRODUCT    Dactyl-Manuform (5x6)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json
index d5778f0455..81bf8b19e8 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 5x6",
+    "keyboard_name": "Dactyl-Manuform (5x6)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3536",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_5x6": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
index cb147654ba..031400fe0c 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
@@ -19,10 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0003
-#define PRODUCT    Dactyl-Manuform (5x6+2)
-
 /* key matrix size */
 #define MATRIX_ROWS 12
 #define MATRIX_COLS 6
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
index 6c4f6b2fca..efb791d63a 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 5x6 2 extra keys and 5 thumb keys",
+    "keyboard_name": "Dactyl-Manuform (5x6+2)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "jceb",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3536",
+        "device_version": "0.0.3"
+    },
     "layouts": {
         "LAYOUT_5x6_2_5": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
index 031ccf88d7..273f90c600 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0002
-#define PRODUCT    Dactyl-Manuform (5x6)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
index 7bcbf65812..82885646eb 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 5x6 5 thumb keys",
+    "keyboard_name": "Dactyl-Manuform (5x6)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "jceb",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3536",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT_5x6_5": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h
index 6b915d6118..b24d002006 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3537
-#define DEVICE_VER 0x0001
-#define PRODUCT    Dactyl-Manuform (5x7)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json
index 7280e90ca0..6a0b8f21ae 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x7/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 5x7",
+    "keyboard_name": "Dactyl-Manuform (5x7)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3537",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_5x7": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h
index 15682fcadf..3568b56143 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID  0x3636
-#define DEVICE_VER  0x0001
-#define PRODUCT     "Dactyl-Manuform (6x6)"
-
 /* USB Device descriptor parameter */
 
 /* key matrix size */
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index 1f4e7dc3a4..bfc65baf18 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 6x6",
+    "keyboard_name": "Dactyl-Manuform (6x6)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3636",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_6x6": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/config.h b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
index 8f965f6957..b7aeb2cc0d 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3636
-#define DEVICE_VER 0x0001
-#define PRODUCT    Dactyl-Manuform (6x6+4)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/info.json b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
index 470e775c0e..1ee5e566be 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 6x6 4 extra keys",
+    "keyboard_name": "Dactyl-Manuform (6x6+4)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "dmik",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3636",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_6x6_4": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
index 8f965f6957..b7aeb2cc0d 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3636
-#define DEVICE_VER 0x0001
-#define PRODUCT    Dactyl-Manuform (6x6+4)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
index e106a04c69..a78fe14fcd 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 6x6 Kinesis Advantage edition",
+    "keyboard_name": "Dactyl-Manuform (6x6+4)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "dmik",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3636",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_6x6_kinesis": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x7/config.h b/keyboards/handwired/dactyl_manuform/6x7/config.h
index f66f4b036f..5805496e2b 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x7/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3636
-#define DEVICE_VER 0x0001
-#define PRODUCT    Dactyl-Manuform (6x7)
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json
index 7b08dd8881..89548923b6 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x7/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Dactyl Manuform 6x7",
+    "keyboard_name": "Dactyl-Manuform (6x7)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3636",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_6x7": {
             "layout": [
diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h
index 18942f9e5f..b0745f8573 100644
--- a/keyboards/handwired/dactyl_manuform/config.h
+++ b/keyboards/handwired/dactyl_manuform/config.h
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x444D
-#define MANUFACTURER tshort
-
 /* mouse config */
 #define MOUSEKEY_INTERVAL    20
 #define MOUSEKEY_DELAY       0
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
index cb65d8c19c..8b256a86f1 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
@@ -2,9 +2,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT_ID 0x3632
-#define DEVICE_VER 0x0001
-#define PRODUCT    DMOTE (62-key)
 #define MATRIX_ROWS 12
 #define MATRIX_COLS 6
 
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
index 82b9738cd5..7860fe6c6a 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "DMOTE 62-key",
+    "keyboard_name": "DMOTE (62-key)",
+    "manufacturer": "tshort",
     "url": "",
     "maintainer": "veikman",
+    "usb": {
+        "vid": "0x444D",
+        "pid": "0x3632",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_62key": {
             "layout": [
diff --git a/keyboards/handwired/dygma/raise/ansi/info.json b/keyboards/handwired/dygma/raise/ansi/info.json
index f7f9a07c1c..34fae50a89 100644
--- a/keyboards/handwired/dygma/raise/ansi/info.json
+++ b/keyboards/handwired/dygma/raise/ansi/info.json
@@ -1,7 +1,4 @@
 {
-    "keyboard_name": "Dygma Raise",
-    "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
-    "maintainer": "ibash",
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h
index 674fd592cf..64c6bad8e8 100644
--- a/keyboards/handwired/dygma/raise/config.h
+++ b/keyboards/handwired/dygma/raise/config.h
@@ -17,13 +17,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2201
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dygma
-#define PRODUCT Raise
-
 /* key matrix size */
 // rows are doubled for split
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dygma/raise/info.json b/keyboards/handwired/dygma/raise/info.json
new file mode 100644
index 0000000000..9bf37d6d27
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/info.json
@@ -0,0 +1,11 @@
+{
+    "keyboard_name": "Raise",
+    "manufacturer": "Dygma",
+    "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
+    "maintainer": "ibash",
+    "usb": {
+        "vid": "0x1209",
+        "pid": "0x2201",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/handwired/dygma/raise/iso/info.json b/keyboards/handwired/dygma/raise/iso/info.json
index f7f9a07c1c..34fae50a89 100644
--- a/keyboards/handwired/dygma/raise/iso/info.json
+++ b/keyboards/handwired/dygma/raise/iso/info.json
@@ -1,7 +1,4 @@
 {
-    "keyboard_name": "Dygma Raise",
-    "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
-    "maintainer": "ibash",
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/config.h b/keyboards/handwired/ms_sculpt_mobile/astar/config.h
index c34b86acb2..aafa6953c7 100644
--- a/keyboards/handwired/ms_sculpt_mobile/astar/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/astar/config.h
@@ -1,6 +1,4 @@
 #pragma once
 
-#define PRODUCT sculpt mobile astar
-
 #define MATRIX_ROW_PINS { D7, C6, D4, D0, D1, D3, D2, E2 }
 #define MATRIX_COL_PINS { B4, B5, E6, B7, B6, D6, C7, F7, F6, F4, F5, F1, F0, D5, B0, B1, B2, B3 }
diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/info.json b/keyboards/handwired/ms_sculpt_mobile/astar/info.json
new file mode 100644
index 0000000000..bbdfe24cf3
--- /dev/null
+++ b/keyboards/handwired/ms_sculpt_mobile/astar/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "sculpt mobile astar"
+}
diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h
index df478e6d8a..54bc2689a2 100644
--- a/keyboards/handwired/ms_sculpt_mobile/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Microsoftplus
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 18
diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json
index 1c171af8f3..a66f43fadc 100644
--- a/keyboards/handwired/ms_sculpt_mobile/info.json
+++ b/keyboards/handwired/ms_sculpt_mobile/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "MS Sculpt Mobile",
+    "manufacturer": "Microsoftplus",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
index a69d3fd3b0..7a514a76cb 100644
--- a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
@@ -1,6 +1,4 @@
 #pragma once
 
-#define PRODUCT sculpt mobile teensypp
-
 #define MATRIX_ROW_PINS { F7, F6, F4, F5, F3, F2, F1, F0 }
 #define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0, E1, C1, C0, C3, C2, C5, C4, C7 }
diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json
new file mode 100644
index 0000000000..e94752a82d
--- /dev/null
+++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "sculpt mobile teensypp"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h
index 3825d3f7ec..467a2df729 100644
--- a/keyboards/handwired/onekey/blackpill_f401/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Blackpill STM32F401
-
 #define MATRIX_COL_PINS { B0 }
 #define MATRIX_ROW_PINS { A7 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/blackpill_f401/info.json b/keyboards/handwired/onekey/blackpill_f401/info.json
new file mode 100644
index 0000000000..50afb4b9b0
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f401/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Blackpill STM32F401"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h
index 3797217153..7447ef6e4c 100644
--- a/keyboards/handwired/onekey/blackpill_f411/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Blackpill STM32F411
-
 #define MATRIX_COL_PINS { B0 }
 #define MATRIX_ROW_PINS { A7 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/blackpill_f411/info.json b/keyboards/handwired/onekey/blackpill_f411/info.json
new file mode 100644
index 0000000000..0b2c14d5b9
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f411/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Blackpill STM32F411"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
index 44ec0bfc6e..defc092733 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Blackpill STM32F411 TinyUF2
-
 #define MATRIX_COL_PINS { B0 }
 #define MATRIX_ROW_PINS { A7 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
new file mode 100644
index 0000000000..59cdec59f7
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2"
+}
diff --git a/keyboards/handwired/onekey/bluepill/config.h b/keyboards/handwired/onekey/bluepill/config.h
index 3eb7699a8b..ba043fc8c1 100644
--- a/keyboards/handwired/onekey/bluepill/config.h
+++ b/keyboards/handwired/onekey/bluepill/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Bluepill STM32F103
-
 #define MATRIX_COL_PINS { B0 }
 #define MATRIX_ROW_PINS { A7 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/bluepill/info.json b/keyboards/handwired/onekey/bluepill/info.json
new file mode 100644
index 0000000000..2126c62b05
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Bluepill STM32F103"
+}
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
index f491d4d393..26ad3c95e0 100644
--- a/keyboards/handwired/onekey/config.h
+++ b/keyboards/handwired/onekey/config.h
@@ -17,12 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x6465
-#define DEVICE_VER   0x0001
-#define MANUFACTURER QMK
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 1
diff --git a/keyboards/handwired/onekey/elite_c/config.h b/keyboards/handwired/onekey/elite_c/config.h
index f495a1c38b..02c81ce743 100644
--- a/keyboards/handwired/onekey/elite_c/config.h
+++ b/keyboards/handwired/onekey/elite_c/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Elite-C
-
 #define MATRIX_COL_PINS { F4 }
 #define MATRIX_ROW_PINS { F5 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/elite_c/info.json b/keyboards/handwired/onekey/elite_c/info.json
new file mode 100644
index 0000000000..d86f8b4395
--- /dev/null
+++ b/keyboards/handwired/onekey/elite_c/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Elite-C"
+}
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
index 91ae8b8996..4668809198 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
@@ -4,8 +4,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey WB32F3G71
-
 #define MATRIX_COL_PINS { B12 }
 #define MATRIX_ROW_PINS { B13 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/info.json b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
new file mode 100644
index 0000000000..c4d9d317e5
--- /dev/null
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey WB32F3G71 Eval"
+}
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h
index 9014d08f52..4668809198 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/config.h
+++ b/keyboards/handwired/onekey/evb_wb32fq95/config.h
@@ -4,8 +4,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey WB32FQ95
-
 #define MATRIX_COL_PINS { B12 }
 #define MATRIX_ROW_PINS { B13 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/info.json b/keyboards/handwired/onekey/evb_wb32fq95/info.json
new file mode 100644
index 0000000000..ccc65b2e70
--- /dev/null
+++ b/keyboards/handwired/onekey/evb_wb32fq95/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey WB32FQ95 Eval"
+}
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
index 7455e9f362..46cdc82827 100644
--- a/keyboards/handwired/onekey/info.json
+++ b/keyboards/handwired/onekey/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "onekey handwired",
+    "manufacturer": "QMK",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6465",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_1x1": {
             "layout": [
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h
index 7aa74f6682..2deb30c34c 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/config.h
+++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h
@@ -4,8 +4,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey L432KC
-
 #define MATRIX_COL_PINS { A2 }
 #define MATRIX_ROW_PINS { A1 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/info.json b/keyboards/handwired/onekey/nucleo_l432kc/info.json
new file mode 100644
index 0000000000..3f497fc80a
--- /dev/null
+++ b/keyboards/handwired/onekey/nucleo_l432kc/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Nucleo L432KC"
+}
diff --git a/keyboards/handwired/onekey/promicro/config.h b/keyboards/handwired/onekey/promicro/config.h
index 9c8961d5ca..02c81ce743 100644
--- a/keyboards/handwired/onekey/promicro/config.h
+++ b/keyboards/handwired/onekey/promicro/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Pro Micro
-
 #define MATRIX_COL_PINS { F4 }
 #define MATRIX_ROW_PINS { F5 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/promicro/info.json b/keyboards/handwired/onekey/promicro/info.json
new file mode 100644
index 0000000000..6b35da4d75
--- /dev/null
+++ b/keyboards/handwired/onekey/promicro/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Pro Micro"
+}
diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h
index 5600ae33ae..a42672c616 100644
--- a/keyboards/handwired/onekey/proton_c/config.h
+++ b/keyboards/handwired/onekey/proton_c/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Proton-C
-
 #define MATRIX_COL_PINS { A2 }
 #define MATRIX_ROW_PINS { A1 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/proton_c/info.json b/keyboards/handwired/onekey/proton_c/info.json
new file mode 100644
index 0000000000..47ac089f7a
--- /dev/null
+++ b/keyboards/handwired/onekey/proton_c/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Proton-C"
+}
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/info.json b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
new file mode 100644
index 0000000000..10f661c3d9
--- /dev/null
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Sipeed Longan Nano"
+}
diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h
index e0f6d00050..105a0ea4b1 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f0_disco/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey STM32F072 Discovery
-
 #define MATRIX_COL_PINS { B4 }
 #define MATRIX_ROW_PINS { B5 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/stm32f0_disco/info.json b/keyboards/handwired/onekey/stm32f0_disco/info.json
new file mode 100644
index 0000000000..ef4312059b
--- /dev/null
+++ b/keyboards/handwired/onekey/stm32f0_disco/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey STM32F072 Discovery"
+}
diff --git a/keyboards/handwired/onekey/stm32f405_feather/config.h b/keyboards/handwired/onekey/stm32f405_feather/config.h
index 32d7807975..77546e7b41 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/config.h
+++ b/keyboards/handwired/onekey/stm32f405_feather/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Adafruit Feather STM32F405
-
 #define MATRIX_COL_PINS { C2 }
 #define MATRIX_ROW_PINS { C3 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/stm32f405_feather/info.json b/keyboards/handwired/onekey/stm32f405_feather/info.json
new file mode 100644
index 0000000000..410ddbdd32
--- /dev/null
+++ b/keyboards/handwired/onekey/stm32f405_feather/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Adafruit Feather STM32F405"
+}
diff --git a/keyboards/handwired/onekey/teensy_2/config.h b/keyboards/handwired/onekey/teensy_2/config.h
index b83262ef05..167373cd39 100644
--- a/keyboards/handwired/onekey/teensy_2/config.h
+++ b/keyboards/handwired/onekey/teensy_2/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Teensy 2.0
-
 #define MATRIX_COL_PINS { F4 }
 #define MATRIX_ROW_PINS { F5 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/teensy_2/info.json b/keyboards/handwired/onekey/teensy_2/info.json
new file mode 100644
index 0000000000..f081d3a25c
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_2/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Teensy 2.0"
+}
diff --git a/keyboards/handwired/onekey/teensy_2pp/config.h b/keyboards/handwired/onekey/teensy_2pp/config.h
index 886ad70cbf..167373cd39 100644
--- a/keyboards/handwired/onekey/teensy_2pp/config.h
+++ b/keyboards/handwired/onekey/teensy_2pp/config.h
@@ -18,8 +18,6 @@
 
 #include "config_common.h"
 
-#define PRODUCT Onekey Teensy 2++
-
 #define MATRIX_COL_PINS { F4 }
 #define MATRIX_ROW_PINS { F5 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/teensy_2pp/info.json b/keyboards/handwired/onekey/teensy_2pp/info.json
new file mode 100644
index 0000000000..bec94fa3dc
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_2pp/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Teensy 2.0++"
+}
diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h
index e388b01af8..1a730a6d46 100644
--- a/keyboards/handwired/onekey/teensy_32/config.h
+++ b/keyboards/handwired/onekey/teensy_32/config.h
@@ -19,8 +19,6 @@
 // TODO: including this causes "error: expected identifier before '(' token" errors
 //#include "config_common.h"
 
-#define PRODUCT Onekey Teensy 3.2
-
 #define MATRIX_COL_PINS { D5 }
 #define MATRIX_ROW_PINS { B2 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/teensy_32/info.json b/keyboards/handwired/onekey/teensy_32/info.json
new file mode 100644
index 0000000000..213b4ea153
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_32/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Teensy 3.2"
+}
diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h
index 4e594e7d7e..1a730a6d46 100644
--- a/keyboards/handwired/onekey/teensy_lc/config.h
+++ b/keyboards/handwired/onekey/teensy_lc/config.h
@@ -19,8 +19,6 @@
 // TODO: including this causes "error: expected identifier before '(' token" errors
 //#include "config_common.h"
 
-#define PRODUCT Onekey Teensy LC
-
 #define MATRIX_COL_PINS { D5 }
 #define MATRIX_ROW_PINS { B2 }
 #define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/teensy_lc/info.json b/keyboards/handwired/onekey/teensy_lc/info.json
new file mode 100644
index 0000000000..68eea92235
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_lc/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Onekey Teensy LC"
+}
diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json
index c4489c3c80..d15d6ef750 100644
--- a/keyboards/handwired/postageboard/info.json
+++ b/keyboards/handwired/postageboard/info.json
@@ -1,7 +1,12 @@
 {
     "keyboard_name": "Postage Board",
+    "manufacturer": "LifeIsOnTheWire",
     "url": "",
     "maintainer": "LifeIsOnTheWire",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0xB07D"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/postageboard/mini/config.h b/keyboards/handwired/postageboard/mini/config.h
index d4f654a7a4..c32c79dd85 100644
--- a/keyboards/handwired/postageboard/mini/config.h
+++ b/keyboards/handwired/postageboard/mini/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB07D
-#define DEVICE_VER 0x0002
-#define MANUFACTURER LifeIsOnTheWire
-#define PRODUCT PostageBoard
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 3
diff --git a/keyboards/handwired/postageboard/mini/info.json b/keyboards/handwired/postageboard/mini/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/handwired/postageboard/mini/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/handwired/postageboard/r1/config.h b/keyboards/handwired/postageboard/r1/config.h
index 078e66dd75..466955154c 100644
--- a/keyboards/handwired/postageboard/r1/config.h
+++ b/keyboards/handwired/postageboard/r1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB07D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LifeIsOnTheWire
-#define PRODUCT PostageBoard
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 3
diff --git a/keyboards/handwired/postageboard/r1/info.json b/keyboards/handwired/postageboard/r1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/handwired/postageboard/r1/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/handwired/prkl30/feather/config.h b/keyboards/handwired/prkl30/feather/config.h
index 875b3d7401..e54944ccc6 100644
--- a/keyboards/handwired/prkl30/feather/config.h
+++ b/keyboards/handwired/prkl30/feather/config.h
@@ -16,13 +16,6 @@
 #pragma once
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xE0E0
-#define PRODUCT_ID      0x0030
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Ergorius & Tooni Skyy
-#define PRODUCT         PRKL30
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 10
diff --git a/keyboards/handwired/prkl30/info.json b/keyboards/handwired/prkl30/info.json
index c558d21794..b122fe3328 100644
--- a/keyboards/handwired/prkl30/info.json
+++ b/keyboards/handwired/prkl30/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "prkl30",
+    "keyboard_name": "PRKL30",
+    "manufacturer": "Ergorius & Tooni Skyy",
     "url": "https://github.com/ErkHal/prkl30",
     "maintainer": "ErkHal",
+    "usb": {
+        "vid": "0xE0E0",
+        "pid": "0x0030",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0, "w":1.5}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12.25, "y":1, "w":1.25, "h":2}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2, "w":1.25}]
diff --git a/keyboards/handwired/prkl30/promicro/config.h b/keyboards/handwired/prkl30/promicro/config.h
index d9ccb00314..fd1c3dbe34 100644
--- a/keyboards/handwired/prkl30/promicro/config.h
+++ b/keyboards/handwired/prkl30/promicro/config.h
@@ -16,13 +16,6 @@
 #pragma once
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xE0E0
-#define PRODUCT_ID      0x0030
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Ergorius & Tooni Skyy
-#define PRODUCT         PRKL30
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 10
diff --git a/keyboards/handwired/sono1/config.h b/keyboards/handwired/sono1/config.h
index 91519e884a..f20b77b231 100644
--- a/keyboards/handwired/sono1/config.h
+++ b/keyboards/handwired/sono1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x515A // "QZ"
-#define PRODUCT_ID   0x5331 // "S1"
-#define DEVICE_VER   0x0001
-#define MANUFACTURER ASKeyboard
-#define PRODUCT      Sono1
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS 8
diff --git a/keyboards/handwired/sono1/info.json b/keyboards/handwired/sono1/info.json
index 4d35c67b19..519ed121ed 100644
--- a/keyboards/handwired/sono1/info.json
+++ b/keyboards/handwired/sono1/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "sono1", 
+    "keyboard_name": "Sono1", 
+    "manufacturer": "ASKeyboard",
     "url": "", 
     "maintainer": "DmNosachev", 
+    "usb": {
+        "vid": "0x515A",
+        "pid": "0x5331"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/sono1/stm32f103/config.h b/keyboards/handwired/sono1/stm32f103/config.h
index 8da1256900..33563c3cf7 100644
--- a/keyboards/handwired/sono1/stm32f103/config.h
+++ b/keyboards/handwired/sono1/stm32f103/config.h
@@ -19,10 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#undef DEVICE_VER
-
-#define DEVICE_VER 0x0001
-
 #define MATRIX_ROW_PINS { A5, B3, A9, A10, B13, B14, B15, A8, B7, B8, B9, C13, A15, A0, A1 }
 #define MATRIX_COL_PINS { A4, A3, B11, B10, B1, B0, A7, A6 }
 
diff --git a/keyboards/handwired/sono1/stm32f103/info.json b/keyboards/handwired/sono1/stm32f103/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/handwired/sono1/stm32f103/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/handwired/sono1/t2pp/config.h b/keyboards/handwired/sono1/t2pp/config.h
index 8a20aeeb1d..3ecf674050 100644
--- a/keyboards/handwired/sono1/t2pp/config.h
+++ b/keyboards/handwired/sono1/t2pp/config.h
@@ -19,10 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#undef DEVICE_VER
-
-#define DEVICE_VER 0x0002
-
 #define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2, F1, F0, D7, B7, D0, D1, D2, D3, D4 }
 #define MATRIX_COL_PINS { C6, C5, C4, C3, C2, C1, C0, E1 }
 
diff --git a/keyboards/handwired/sono1/t2pp/info.json b/keyboards/handwired/sono1/t2pp/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/handwired/sono1/t2pp/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/handwired/split65/info.json b/keyboards/handwired/split65/info.json
index 34d9a21205..c766f894e1 100644
--- a/keyboards/handwired/split65/info.json
+++ b/keyboards/handwired/split65/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "split65",
+    "manufacturer": "percyjw",
     "url": "https://github.com/PercyJW-2/Split65",
     "maintainer": "PercyJW-2",
+    "usb": {
+        "vid": "0x4A57",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h
index e700578e08..3284c5e0d3 100644
--- a/keyboards/handwired/split65/promicro/config.h
+++ b/keyboards/handwired/split65/promicro/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define VENDOR_ID     0x4A57 // JW
-#define PRODUCT_ID    0x0000 // first keeb
-#define DEVICE_VER    0x0000 // first revision
-#define MANUFACTURER  percyjw
-#define PRODUCT       split65
-
 // Matrix Assignments
 #define MATRIX_ROWS 10 //Rows are doubled-up
 #define MATRIX_COLS 8
diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h
index b173481280..6c3d653d1d 100644
--- a/keyboards/handwired/split65/stm32/config.h
+++ b/keyboards/handwired/split65/stm32/config.h
@@ -17,13 +17,6 @@
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define VENDOR_ID     0x4A57 // JW
-#define PRODUCT_ID    0x0000 // first keeb
-#define DEVICE_VER    0x0000 // first revision
-#define MANUFACTURER  percyjw
-#define PRODUCT       split65
-
 // Audio
 #define AUDIO_PIN A5
 #define AUDIO_PIN_ALT A4
diff --git a/keyboards/handwired/splittest/config.h b/keyboards/handwired/splittest/config.h
index d4816e4355..eecffe3803 100644
--- a/keyboards/handwired/splittest/config.h
+++ b/keyboards/handwired/splittest/config.h
@@ -20,13 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x1111
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Split Tester
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 2
diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json
index 9c7412ad82..973eebd1f9 100644
--- a/keyboards/handwired/splittest/info.json
+++ b/keyboards/handwired/splittest/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Split Tester",
+    "manufacturer": "Keebio",
     "url": "",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10",
+        "pid": "0x1111",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h
index 18a6690c25..acccb1e7c6 100644
--- a/keyboards/handwired/steamvan/rev1/config.h
+++ b/keyboards/handwired/steamvan/rev1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    John M Daly
-#define PRODUCT         SteamVan rev1
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 12
diff --git a/keyboards/handwired/steamvan/info.json b/keyboards/handwired/steamvan/rev1/info.json
similarity index 97%
rename from keyboards/handwired/steamvan/info.json
rename to keyboards/handwired/steamvan/rev1/info.json
index 165fa0a38f..e84a73ab8e 100644
--- a/keyboards/handwired/steamvan/info.json
+++ b/keyboards/handwired/steamvan/rev1/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "steamvan",
+  "keyboard_name": "SteamVan rev1",
+  "manufacturer": "John M Daly",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x0000",
+    "device_version": "0.0.1"
+  },
   "layouts": {
       "LAYOUT_standard": {
           "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Win", "x":9.5, "y":3, "w":1.5}, {"label":"Menu", "x":11, "y":3, "w":1.75}]
diff --git a/keyboards/handwired/symmetric70_proto/info.json b/keyboards/handwired/symmetric70_proto/info.json
index 6c70b9d963..36828784c4 100644
--- a/keyboards/handwired/symmetric70_proto/info.json
+++ b/keyboards/handwired/symmetric70_proto/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "symmetric70_proto",
+    "manufacturer": "mtei",
     "url": "",
     "maintainer": "mtei",
+    "usb": {
+    	"vid": "0xFEED",
+    	"pid": "0x2BE5",
+    	"device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/symmetric70_proto/promicro/config.h b/keyboards/handwired/symmetric70_proto/promicro/config.h
index 570de7039d..d0126a0b81 100644
--- a/keyboards/handwired/symmetric70_proto/promicro/config.h
+++ b/keyboards/handwired/symmetric70_proto/promicro/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x2BE5
-#define DEVICE_VER   0x0001
-#define MANUFACTURER mtei
-#define PRODUCT      Symmetric70 prototype promicro
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/handwired/symmetric70_proto/promicro/info.json b/keyboards/handwired/symmetric70_proto/promicro/info.json
new file mode 100644
index 0000000000..8ee579cd60
--- /dev/null
+++ b/keyboards/handwired/symmetric70_proto/promicro/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Symmetric70 prototype promicro"
+}
diff --git a/keyboards/handwired/symmetric70_proto/proton_c/config.h b/keyboards/handwired/symmetric70_proto/proton_c/config.h
index 92716a21f6..5f1880d3fc 100644
--- a/keyboards/handwired/symmetric70_proto/proton_c/config.h
+++ b/keyboards/handwired/symmetric70_proto/proton_c/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x2BE5
-#define DEVICE_VER   0x0001
-#define MANUFACTURER mtei
-#define PRODUCT      Symmetric70 prototype proton-c
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/handwired/symmetric70_proto/proton_c/info.json b/keyboards/handwired/symmetric70_proto/proton_c/info.json
new file mode 100644
index 0000000000..a105f39be6
--- /dev/null
+++ b/keyboards/handwired/symmetric70_proto/proton_c/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Symmetric70 prototype proton-c"
+}
diff --git a/keyboards/handwired/unk/rev1/config.h b/keyboards/handwired/unk/rev1/config.h
index 65a02ff7ca..611b415d7a 100644
--- a/keyboards/handwired/unk/rev1/config.h
+++ b/keyboards/handwired/unk/rev1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x3060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    herpiko
-#define PRODUCT         UNK
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/unk/info.json b/keyboards/handwired/unk/rev1/info.json
similarity index 95%
rename from keyboards/handwired/unk/info.json
rename to keyboards/handwired/unk/rev1/info.json
index f3445a3859..ec0927a0d3 100644
--- a/keyboards/handwired/unk/info.json
+++ b/keyboards/handwired/unk/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "UNK",
+    "manufacturer": "herpiko",
     "url": "https://github.com/herpiko/unk",
     "maintainer": "herpiko",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x3060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/handwired/uthol/config.h b/keyboards/handwired/uthol/config.h
index 1e0b533386..de93efe186 100644
--- a/keyboards/handwired/uthol/config.h
+++ b/keyboards/handwired/uthol/config.h
@@ -19,10 +19,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define MANUFACTURER Uthol
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 12
diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json
index 40f99dbade..f8891331ed 100644
--- a/keyboards/handwired/uthol/info.json
+++ b/keyboards/handwired/uthol/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "Uthol",
+    "manufacturer": "Uthol",
     "url": "",
     "maintainer": "uthol",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x67F3"
+    },
     "layouts": {
         "LAYOUT_uthol": {
             "layout": [
diff --git a/keyboards/handwired/uthol/rev1/config.h b/keyboards/handwired/uthol/rev1/config.h
index dbda8e90ed..dea45c7698 100644
--- a/keyboards/handwired/uthol/rev1/config.h
+++ b/keyboards/handwired/uthol/rev1/config.h
@@ -19,10 +19,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholOne
-
 /* Uthol PCB default pin-out */
 #define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
 #define MATRIX_COL_PINS { D3, B6, B2, B3, B1, F7, F6, F5, F4, B5, B4, D2 }
diff --git a/keyboards/handwired/uthol/rev1/info.json b/keyboards/handwired/uthol/rev1/info.json
new file mode 100644
index 0000000000..44de6469f5
--- /dev/null
+++ b/keyboards/handwired/uthol/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "UtholOne",
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/handwired/uthol/rev2/config.h b/keyboards/handwired/uthol/rev2/config.h
index 3ef6fc172c..c7ae53c20b 100644
--- a/keyboards/handwired/uthol/rev2/config.h
+++ b/keyboards/handwired/uthol/rev2/config.h
@@ -19,10 +19,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholTwo
-
 /* Uthol PCB default pin-out */
 #define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
 #define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, B5, B4, B6, B2, B3 }
diff --git a/keyboards/handwired/uthol/rev2/info.json b/keyboards/handwired/uthol/rev2/info.json
new file mode 100644
index 0000000000..fbb7309629
--- /dev/null
+++ b/keyboards/handwired/uthol/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "UtholTwo",
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h
index 90880998b7..87f3935e65 100644
--- a/keyboards/handwired/uthol/rev3/config.h
+++ b/keyboards/handwired/uthol/rev3/config.h
@@ -19,10 +19,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholThree
-
 /* key matrix size */
 // A11 and A12 dont work. They are reserved for USB. B2 is reserved for BOOT1
 #define MATRIX_COL_PINS \
diff --git a/keyboards/handwired/uthol/rev3/info.json b/keyboards/handwired/uthol/rev3/info.json
new file mode 100644
index 0000000000..44078b4ab1
--- /dev/null
+++ b/keyboards/handwired/uthol/rev3/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "UtholThree",
+    "usb": {
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h
index cbb4648d19..40fe502340 100644
--- a/keyboards/handwired/xealous/rev1/config.h
+++ b/keyboards/handwired/xealous/rev1/config.h
@@ -20,13 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4131
-#define PRODUCT_ID      0x5141
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    XeaLouS
-#define PRODUCT         XeaL60
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/handwired/xealous/info.json b/keyboards/handwired/xealous/rev1/info.json
similarity index 94%
rename from keyboards/handwired/xealous/info.json
rename to keyboards/handwired/xealous/rev1/info.json
index 9cd634a210..59865e9321 100644
--- a/keyboards/handwired/xealous/info.json
+++ b/keyboards/handwired/xealous/rev1/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Xealous",
+  "keyboard_name": "XeaL60",
+  "manufacturer": "XeaLouS",
   "url": "",
   "maintainer": "alex-ong",
+  "usb": {
+    "vid": "0x4131",
+    "pid": "0x5141",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [