diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h
index e7f78123d9..301597df08 100644
--- a/keyboards/p3d/glitch/config.h
+++ b/keyboards/p3d/glitch/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x7033
-#define PRODUCT_ID      0x3568
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    P3D Store
-#define PRODUCT         Glitch
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 8
diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json
index 6445e200f8..5015a2e28f 100644
--- a/keyboards/p3d/glitch/info.json
+++ b/keyboards/p3d/glitch/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Glitch",
+    "manufacturer": "P3D Store",
     "url": "https://p3dstore.com/products/p3d-glitch-group-buy",
     "maintainer": "matthewdias",
+    "usb": {
+        "vid": "0x7033",
+        "pid": "0x3568",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{
diff --git a/keyboards/pabile/p18/config.h b/keyboards/pabile/p18/config.h
index 77351ca556..73c17b676a 100644
--- a/keyboards/pabile/p18/config.h
+++ b/keyboards/pabile/p18/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       0x6666
-#define PRODUCT_ID      0x6668
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pabile
-#define PRODUCT         P18 Macro Pad
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 5
diff --git a/keyboards/pabile/p18/info.json b/keyboards/pabile/p18/info.json
index 57d734ab3d..d6338182c6 100644
--- a/keyboards/pabile/p18/info.json
+++ b/keyboards/pabile/p18/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Pabile 18", 
+    "keyboard_name": "P18 Macro Pad", 
+    "manufacturer": "Pabile",
     "url": "https://pabileonline.blogspot.com/", 
     "maintainer": "Pabile", 
+    "usb": {
+        "vid": "0x6666",
+        "pid": "0x6668",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pabile/p40/config.h b/keyboards/pabile/p40/config.h
index f05ef6eb26..7a15886a44 100644
--- a/keyboards/pabile/p40/config.h
+++ b/keyboards/pabile/p40/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       0x6666
-#define PRODUCT_ID      0x6666
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pabile
-#define PRODUCT         P40 Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 10
diff --git a/keyboards/pabile/p40/info.json b/keyboards/pabile/p40/info.json
index 8a6c1327eb..ee7534c071 100644
--- a/keyboards/pabile/p40/info.json
+++ b/keyboards/pabile/p40/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Pabile 40", 
+    "keyboard_name": "P40", 
+    "manufacturer": "Pabile",
     "url": "https://pabileonline.blogspot.com/", 
     "maintainer": "Pabile", 
+    "usb": {
+    	"vid": "0x6666",
+    	"pid": "0x6666",
+    	"device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_4x10": {
             "layout": [
diff --git a/keyboards/pabile/p40_ortho/config.h b/keyboards/pabile/p40_ortho/config.h
index 4fd8e7a533..176072f022 100644
--- a/keyboards/pabile/p40_ortho/config.h
+++ b/keyboards/pabile/p40_ortho/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       0x6666
-#define PRODUCT_ID      0x6669
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pabile
-#define PRODUCT         P40 Ortho Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 10
diff --git a/keyboards/pabile/p40_ortho/info.json b/keyboards/pabile/p40_ortho/info.json
index 38eb5bdb70..a630973622 100644
--- a/keyboards/pabile/p40_ortho/info.json
+++ b/keyboards/pabile/p40_ortho/info.json
@@ -1,5 +1,12 @@
 {
+    "keyboard_name": "P40 Ortho",
+    "manufacturer": "Pabile",
     "maintainer": "qmk", 
+    "usb": {
+        "vid": "0x6666",
+        "pid": "0x6669",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_4x10": {
             "layout": [
diff --git a/keyboards/pabile/p42/config.h b/keyboards/pabile/p42/config.h
index 2f7c5ce30a..e66f14c854 100644
--- a/keyboards/pabile/p42/config.h
+++ b/keyboards/pabile/p42/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       0x6666
-#define PRODUCT_ID      0x6670
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pabile
-#define PRODUCT         P42 Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 11
diff --git a/keyboards/pabile/p42/info.json b/keyboards/pabile/p42/info.json
index 7cc34266d2..5c1c2c8589 100644
--- a/keyboards/pabile/p42/info.json
+++ b/keyboards/pabile/p42/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "P42", 
+    "manufacturer": "Pabile",
     "url": "https://pabileonline.blogspot.com/", 
     "maintainer": "Pabile", 
+    "usb": {
+        "vid": "0x6666",
+        "pid": "0x6670",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/palette1202/config.h b/keyboards/palette1202/config.h
index e0be3bd6c7..c4d231d298 100644
--- a/keyboards/palette1202/config.h
+++ b/keyboards/palette1202/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   0x1202
-#define DEVICE_VER   0x0001
-#define MANUFACTURER niltea
-#define PRODUCT      Palette1202
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 5
diff --git a/keyboards/palette1202/info.json b/keyboards/palette1202/info.json
index e58f2fbb77..318a4c565c 100644
--- a/keyboards/palette1202/info.json
+++ b/keyboards/palette1202/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Palette1202",
+  "manufacturer": "niltea",
   "url": "https://github.com/niltea/Palette1202",
   "maintainer": "niltea",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x1202",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/panc40/config.h b/keyboards/panc40/config.h
index e363b76dad..6472195394 100644
--- a/keyboards/panc40/config.h
+++ b/keyboards/panc40/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    Panc Interactive
-#define PRODUCT         Panc40
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 12
diff --git a/keyboards/panc40/info.json b/keyboards/panc40/info.json
index 834fef0a5d..57989732c4 100644
--- a/keyboards/panc40/info.json
+++ b/keyboards/panc40/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Panc40",
+    "manufacturer": "Panc Interactive",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/panc60/config.h b/keyboards/panc60/config.h
index 495f5a2d4d..ad48909009 100644
--- a/keyboards/panc60/config.h
+++ b/keyboards/panc60/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x20A0
-#define PRODUCT_ID      0x422D
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Panc Interactive
-#define PRODUCT         Panc60
-
 #define RGBLED_NUM 12
 
 #define MATRIX_ROWS 5
diff --git a/keyboards/panc60/info.json b/keyboards/panc60/info.json
index 1d949b3be6..f3a1be6454 100644
--- a/keyboards/panc60/info.json
+++ b/keyboards/panc60/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "panc60",
+  "keyboard_name": "Panc60",
+  "manufacturer": "Panc Interactive",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0x20A0",
+    "pid": "0x422D",
+    "device_version": "2.0.0"
+  },
   "layouts": {
       "LAYOUT_all": {
         "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/papercranekeyboards/gerald65/config.h b/keyboards/papercranekeyboards/gerald65/config.h
index 9e795b1501..aedb9083bd 100644
--- a/keyboards/papercranekeyboards/gerald65/config.h
+++ b/keyboards/papercranekeyboards/gerald65/config.h
@@ -5,13 +5,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x5012 // 
-#define PRODUCT_ID   0x1501 // '21 keyboard 1
-#define DEVICE_VER   0x0001
-#define MANUFACTURER PaperCraneKeyboards
-#define PRODUCT      gerald65
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/papercranekeyboards/gerald65/info.json b/keyboards/papercranekeyboards/gerald65/info.json
index c9b08304b3..8de08c41bd 100644
--- a/keyboards/papercranekeyboards/gerald65/info.json
+++ b/keyboards/papercranekeyboards/gerald65/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "gerald65",
+    "manufacturer": "PaperCraneKeyboards",
     "url": "",
     "maintainer": "PaperCraneKeyboards",
+    "usb": {
+        "vid": "0x5012",
+        "pid": "0x1501",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h
index 37a211726e..862f82ea54 100644
--- a/keyboards/paprikman/albacore/config.h
+++ b/keyboards/paprikman/albacore/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    0x736D
-#define PRODUCT_ID   0x000A
-#define DEVICE_VER   0x0001
-#define MANUFACTURER paprikman
-#define PRODUCT      Albacore
-
 /* key matrix size */
 #define MATRIX_ROWS 2
 #define MATRIX_COLS 4
diff --git a/keyboards/paprikman/albacore/info.json b/keyboards/paprikman/albacore/info.json
index 494f228a32..5761467ac6 100644
--- a/keyboards/paprikman/albacore/info.json
+++ b/keyboards/paprikman/albacore/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Albacore",
+    "manufacturer": "paprikman",
     "url": "https://github.com/paprikman/qmk_firmware/tree/master/keyboards/paprikman/albacore",
     "maintainer": "paprikman",
+    "usb": {
+        "vid": "0x736D",
+        "pid": "0x000A",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/parallel/parallel_65/hotswap/config.h b/keyboards/parallel/parallel_65/hotswap/config.h
index ae730c3c9f..c953d92e64 100644
--- a/keyboards/parallel/parallel_65/hotswap/config.h
+++ b/keyboards/parallel/parallel_65/hotswap/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    0x504C
-#define PRODUCT_ID   0x5069
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT      Parallel 65% Hotswap PCB
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/parallel/parallel_65/hotswap/info.json b/keyboards/parallel/parallel_65/hotswap/info.json
index 28b1dda23e..ff15ff15df 100644
--- a/keyboards/parallel/parallel_65/hotswap/info.json
+++ b/keyboards/parallel/parallel_65/hotswap/info.json
@@ -1,6 +1,12 @@
 {
     "keyboard_name": "Parallel 65% Hotswap PCB",
+    "manufacturer": "Parallel Limited",
     "maintainer": "matthewdias",
+    "usb": {
+        "vid": "0x504C",
+        "pid": "0x5069",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_65_ansi_blocker": {
             "layout": [
diff --git a/keyboards/parallel/parallel_65/soldered/config.h b/keyboards/parallel/parallel_65/soldered/config.h
index 2ff2492ad4..c953d92e64 100644
--- a/keyboards/parallel/parallel_65/soldered/config.h
+++ b/keyboards/parallel/parallel_65/soldered/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    0x504C
-#define PRODUCT_ID   0x5068
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT      Parallel 65% PCB
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/parallel/parallel_65/soldered/info.json b/keyboards/parallel/parallel_65/soldered/info.json
index 4b0ae27b00..182593f430 100644
--- a/keyboards/parallel/parallel_65/soldered/info.json
+++ b/keyboards/parallel/parallel_65/soldered/info.json
@@ -1,6 +1,12 @@
 {
     "keyboard_name": "Parallel 65% PCB",
+    "manufacturer": "Parallel Limited",
     "maintainer": "matthewdias",
+    "usb": {
+        "vid": "0x504C",
+        "pid": "0x5068",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_65_ansi_blocker_split_bs": {
             "layout": [
diff --git a/keyboards/pdxkbc/config.h b/keyboards/pdxkbc/config.h
index ce6c79bc32..7215b481c9 100644
--- a/keyboards/pdxkbc/config.h
+++ b/keyboards/pdxkbc/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       0x5044 // PD
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Franklin Harding
-#define PRODUCT         pdxkbc
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 2
diff --git a/keyboards/pdxkbc/info.json b/keyboards/pdxkbc/info.json
index 21631ccc2a..5b1e1e6684 100644
--- a/keyboards/pdxkbc/info.json
+++ b/keyboards/pdxkbc/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pdxkbc", 
+    "manufacturer": "Franklin Harding",
     "url": "", 
     "maintainer": "qmk", 
+    "usb": {
+        "vid": "0x5044",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"reddit", "x":0, "y":0}, {"label":"discord", "x":1, "y":0}, {"label":"badge", "x":0, "y":1}, {"label":"hack", "x":1, "y":1}, {"label":"volu", "x":0, "y":2}, {"label":"vold", "x":1, "y":2}]
diff --git a/keyboards/pearl/config.h b/keyboards/pearl/config.h
index 2e9a2faf1d..5b93f4d28c 100644
--- a/keyboards/pearl/config.h
+++ b/keyboards/pearl/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x0348
-#define DEVICE_VER   0x0200
-#define MANUFACTURER Pearl Boards
-#define PRODUCT      Pearl
-
 #define LED_NUM_LOCK_PIN D0
 #define LED_CAPS_LOCK_PIN D1
 #define LED_SCROLL_LOCK_PIN D6
diff --git a/keyboards/pearl/info.json b/keyboards/pearl/info.json
index 6b4cb0a5ac..e812245ef5 100644
--- a/keyboards/pearl/info.json
+++ b/keyboards/pearl/info.json
@@ -1,6 +1,12 @@
 {
   "keyboard_name": "Pearl",
+  "manufacturer": "Pearl Boards",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x0348",
+    "device_version": "2.0.0"
+  },
   "layouts": {
     "LAYOUT_all": {
       "layout": [{"label":"Esc", "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}, {"label":"Backspace", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"A", "x":1.5, "y":1}, {"label":"S", "x":2.5, "y":1}, {"label":"D", "x":3.5, "y":1}, {"label":"F", "x":4.5, "y":1}, {"label":"G", "x":5.5, "y":1}, {"label":"H", "x":6.5, "y":1}, {"label":"J", "x":7.5, "y":1}, {"label":"K", "x":8.5, "y":1}, {"label":"L", "x":9.5, "y":1}, {"label":":", "x":10.5, "y":1}, {"label":"\\", "x":11.5, "y":1, "w":1.5}, {"label":"Caps Lock", "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}, {"label":"Shift", "x":11.75, "y":2, "w":1.25}, {"label":"Alt", "x":1.13, "y":3}, {"label":"Ctrl", "x":2.13, "y":3, "w":1.25}, {"label":"Win", "x":3.375, "y":3, "w":1.25}, {"label":"Shift", "x":4.625, "y":3, "w":2.25}, {"x":6.875, "y":3, "w":1.25}, {"x":8.125, "y":3, "w":1.5}, {"label":"Menu", "x":9.625, "y":3}, {"label":"Fn", "x":10.63, "y":3, "w":1.25}]
diff --git a/keyboards/pearlboards/atlas/config.h b/keyboards/pearlboards/atlas/config.h
index e35c7d0a90..2ec131f0f0 100644
--- a/keyboards/pearlboards/atlas/config.h
+++ b/keyboards/pearlboards/atlas/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 0x6963
-#define PRODUCT_ID 0x6964
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Atlas
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/pearlboards/atlas/info.json b/keyboards/pearlboards/atlas/info.json
index c3a924d0e4..2d5abf5b91 100644
--- a/keyboards/pearlboards/atlas/info.json
+++ b/keyboards/pearlboards/atlas/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Atlas",
-    "maintainer": "Koobaczech",
+    "manufacturer": "Koobaczech",
     "url": "",
+    "maintainer": "Koobaczech",
+    "usb": {
+        "vid": "0x6963",
+        "pid": "0x6964",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/pearlboards/pandora/config.h b/keyboards/pearlboards/pandora/config.h
index 5a9a997be5..46a887c6ab 100644
--- a/keyboards/pearlboards/pandora/config.h
+++ b/keyboards/pearlboards/pandora/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 0x6963
-#define PRODUCT_ID 0x6963
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Koobaczech
-#define PRODUCT Pandora
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/pearlboards/pandora/info.json b/keyboards/pearlboards/pandora/info.json
index 9e26364553..10c3bba7ed 100644
--- a/keyboards/pearlboards/pandora/info.json
+++ b/keyboards/pearlboards/pandora/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pandora",
+    "manufacturer": "Koobaczech",
     "url": "",
     "maintainer": "Koobaczech",
+    "usb": {
+        "vid": "0x6963",
+        "pid": "0x6963",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2, "w":1.25}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":12.5, "y":4, "w":1.25}, {"label":"4,13", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/pearlboards/pearl/config.h b/keyboards/pearlboards/pearl/config.h
index 002c2a5f5f..ff114094a1 100644
--- a/keyboards/pearlboards/pearl/config.h
+++ b/keyboards/pearlboards/pearl/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 0x6963
-#define PRODUCT_ID 0x6965
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Pearl
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 13
diff --git a/keyboards/pearlboards/pearl/info.json b/keyboards/pearlboards/pearl/info.json
index 4a6619f394..a00c7b3cf9 100644
--- a/keyboards/pearlboards/pearl/info.json
+++ b/keyboards/pearlboards/pearl/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pearl",
-    "maintainer": "Koobaczech",
+    "manufacturer": "Koobaczech",
     "url": "",
+    "maintainer": "Koobaczech",
+    "usb": {
+        "vid": "0x6963",
+        "pid": "0x6965",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/pearlboards/zeus/config.h b/keyboards/pearlboards/zeus/config.h
index 7de94efcc2..19d14f701b 100644
--- a/keyboards/pearlboards/zeus/config.h
+++ b/keyboards/pearlboards/zeus/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 0x6963
-#define PRODUCT_ID 0x6966
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Zeus
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 18
diff --git a/keyboards/pearlboards/zeus/info.json b/keyboards/pearlboards/zeus/info.json
index 1938a7ef6d..41a72b5fb6 100644
--- a/keyboards/pearlboards/zeus/info.json
+++ b/keyboards/pearlboards/zeus/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Zeus",
-    "maintainer": "Koobaczech",
+    "manufacturer": "Koobaczech",
     "url": "",
+    "maintainer": "Koobaczech",
+    "usb": {
+        "vid": "0x6963",
+        "pid": "0x6966",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/pearlboards/zeuspad/config.h b/keyboards/pearlboards/zeuspad/config.h
index 3c12bfae18..e4182d05ed 100644
--- a/keyboards/pearlboards/zeuspad/config.h
+++ b/keyboards/pearlboards/zeuspad/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 0x6963
-#define PRODUCT_ID 0x6967
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Zeuspad
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 4
diff --git a/keyboards/pearlboards/zeuspad/info.json b/keyboards/pearlboards/zeuspad/info.json
index 840d1a5b24..3ef471818a 100644
--- a/keyboards/pearlboards/zeuspad/info.json
+++ b/keyboards/pearlboards/zeuspad/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Zeuspad",
-    "maintainer": "Koobaczech",
+    "manufacturer": "Koobaczech",
     "url": "",
+    "maintainer": "Koobaczech",
+    "usb": {
+        "vid": "0x6963",
+        "pid": "0x6967",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/peej/lumberjack/config.h b/keyboards/peej/lumberjack/config.h
index ee993e9c99..3142738330 100644
--- a/keyboards/peej/lumberjack/config.h
+++ b/keyboards/peej/lumberjack/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706A
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT Lumberjack
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 10
diff --git a/keyboards/peej/lumberjack/info.json b/keyboards/peej/lumberjack/info.json
index 8550b996b6..acc7e11fc3 100644
--- a/keyboards/peej/lumberjack/info.json
+++ b/keyboards/peej/lumberjack/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Lumberjack",
+  "manufacturer": "Peej",
   "url": "https://github.com/peej/lumberjack-keyboard",
   "maintainer": "Peej",
+  "usb": {
+    "vid": "0x706A",
+    "pid": "0x0002",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT_ortho_5x12": {
       "layout": [
diff --git a/keyboards/peej/rosaline/config.h b/keyboards/peej/rosaline/config.h
index 603cad792f..9efd6c0ff7 100644
--- a/keyboards/peej/rosaline/config.h
+++ b/keyboards/peej/rosaline/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706A
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT Rosaline
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 8
diff --git a/keyboards/peej/rosaline/ortho/info.json b/keyboards/peej/rosaline/ortho/info.json
index cb07d3e083..be47e6431d 100644
--- a/keyboards/peej/rosaline/ortho/info.json
+++ b/keyboards/peej/rosaline/ortho/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Rosaline",
+  "keyboard_name": "Rosaline Ortho",
+  "manufacturer": "Peej",
   "url": "https://github.com/peej/rosaline-keyboard",
   "maintainer": "Peej",
+  "usb": {
+    "vid": "0x706A",
+    "pid": "0x0003",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT_ortho_4x15": {
       "layout": [
diff --git a/keyboards/peej/rosaline/staggered/info.json b/keyboards/peej/rosaline/staggered/info.json
index ba886865a5..cd842ecaed 100644
--- a/keyboards/peej/rosaline/staggered/info.json
+++ b/keyboards/peej/rosaline/staggered/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Rosaline",
+    "keyboard_name": "Rosaline Staggered",
+    "manufacturer": "Peej",
     "url": "https://github.com/peej/rosaline-keyboard",
     "maintainer": "Peej",
+    "usb": {
+        "vid": "0x706A",
+        "pid": "0x0003",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT_staggered_40": "LAYOUT_all"
     },
diff --git a/keyboards/peej/tripel/config.h b/keyboards/peej/tripel/config.h
index 50b0cc8829..6f11bfb405 100644
--- a/keyboards/peej/tripel/config.h
+++ b/keyboards/peej/tripel/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x706A
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Peej
-#define PRODUCT         Tripel
-
 /* key matrix size */
 #define MATRIX_ROWS 9
 #define MATRIX_COLS 8
diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json
index 97d50880c4..01beef6aae 100644
--- a/keyboards/peej/tripel/info.json
+++ b/keyboards/peej/tripel/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Tripel",
+    "manufacturer": "Peej",
     "url": "https://github.com/peej/tripel-keyboard",
     "maintainer": "Peej",
+    "usb": {
+        "vid": "0x706A",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_7u": {
             "layout": [
diff --git a/keyboards/pegasus/config.h b/keyboards/pegasus/config.h
index 6f773da966..cf71fdab68 100644
--- a/keyboards/pegasus/config.h
+++ b/keyboards/pegasus/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 melonbred
-#define PRODUCT Pegasus
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 12
diff --git a/keyboards/pegasus/info.json b/keyboards/pegasus/info.json
index 238442b821..00faec71ec 100644
--- a/keyboards/pegasus/info.json
+++ b/keyboards/pegasus/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "pegasus",
+    "keyboard_name": "Pegasus",
+    "manufacturer": "melonbred",
     "url": "",
     "maintainer": "melonbred",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_default": {
             "layout": [
diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h
index 38bfd6259c..fa69ad2a3f 100644
--- a/keyboards/peranekofactory/tone/rev1/config.h
+++ b/keyboards/peranekofactory/tone/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 PeranekoFactory
-#define PRODUCT      tone
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 8
diff --git a/keyboards/peranekofactory/tone/rev1/info.json b/keyboards/peranekofactory/tone/rev1/info.json
index d877d5135e..29ee59e390 100644
--- a/keyboards/peranekofactory/tone/rev1/info.json
+++ b/keyboards/peranekofactory/tone/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "tone", 
+    "manufacturer": "PeranekoFactory",
     "url": "https://shop.yushakobo.jp/collections/keyboard-1/products/consign_tone-note", 
     "maintainer": "PeranekoFactory", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h
index 38bfd6259c..fa69ad2a3f 100644
--- a/keyboards/peranekofactory/tone/rev2/config.h
+++ b/keyboards/peranekofactory/tone/rev2/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 PeranekoFactory
-#define PRODUCT      tone
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 8
diff --git a/keyboards/peranekofactory/tone/rev2/info.json b/keyboards/peranekofactory/tone/rev2/info.json
index d877d5135e..29ee59e390 100644
--- a/keyboards/peranekofactory/tone/rev2/info.json
+++ b/keyboards/peranekofactory/tone/rev2/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "tone", 
+    "manufacturer": "PeranekoFactory",
     "url": "https://shop.yushakobo.jp/collections/keyboard-1/products/consign_tone-note", 
     "maintainer": "PeranekoFactory", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/percent/booster/config.h b/keyboards/percent/booster/config.h
index ecb1c9ec82..c70d73d313 100644
--- a/keyboards/percent/booster/config.h
+++ b/keyboards/percent/booster/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       0x5053 /* PS */
-#define PRODUCT_ID      0x4253
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Percent Studio
-#define PRODUCT         Booster
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 4
diff --git a/keyboards/percent/booster/info.json b/keyboards/percent/booster/info.json
index 2f5edb1d5f..5700e4ab7a 100644
--- a/keyboards/percent/booster/info.json
+++ b/keyboards/percent/booster/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "booster",
+    "keyboard_name": "Booster",
+    "manufacturer": "Percent Studio",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x5053",
+        "pid": "0x4253",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_numpad_5x4": {
             "layout": [
diff --git a/keyboards/percent/canoe/config.h b/keyboards/percent/canoe/config.h
index 56793bab41..ebaaae28d9 100644
--- a/keyboards/percent/canoe/config.h
+++ b/keyboards/percent/canoe/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x5053 /* PS */
-#define PRODUCT_ID      0x434E
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Percent Studios
-#define PRODUCT         CANOE
-
 #define RGBLED_NUM 2
 
 #define MATRIX_ROWS 5
diff --git a/keyboards/percent/canoe/info.json b/keyboards/percent/canoe/info.json
index ca1bec5b89..b61cc7db5f 100644
--- a/keyboards/percent/canoe/info.json
+++ b/keyboards/percent/canoe/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Canoe",
-  "maintainer": "qmk",
+  "keyboard_name": "CANOE",
+  "manufacturer": "Percent Studios",
   "url": "",
+  "maintainer": "qmk",
+  "usb": {
+    "vid": "0x5053",
+    "pid": "0x434E",
+    "device_version": "2.0.0"
+  },
   "layouts": {
     "LAYOUT_65_iso_blocker": {
       "layout": [{"label":"K0D", "x":0, "y":0}, {"label":"K0C", "x":1, "y":0}, {"label":"K0B", "x":2, "y":0}, {"label":"K0A", "x":3, "y":0}, {"label":"K09", "x":4, "y":0}, {"label":"K08", "x":5, "y":0}, {"label":"K07", "x":6, "y":0}, {"label":"K06", "x":7, "y":0}, {"label":"K05", "x":8, "y":0}, {"label":"K04", "x":9, "y":0}, {"label":"K03", "x":10, "y":0}, {"label":"K02", "x":11, "y":0}, {"label":"K01", "x":12, "y":0}, {"label":"K00", "x":13, "y":0, "w":2}, {"label":"K0E", "x":15, "y":0}, {"label":"K1D", "x":0, "y":1, "w":1.5}, {"label":"K1C", "x":1.5, "y":1}, {"label":"K1B", "x":2.5, "y":1}, {"label":"K1A", "x":3.5, "y":1}, {"label":"K19", "x":4.5, "y":1}, {"label":"K18", "x":5.5, "y":1}, {"label":"K17", "x":6.5, "y":1}, {"label":"K16", "x":7.5, "y":1}, {"label":"K15", "x":8.5, "y":1}, {"label":"K14", "x":9.5, "y":1}, {"label":"K13", "x":10.5, "y":1}, {"label":"K12", "x":11.5, "y":1}, {"label":"K11", "x":12.5, "y":1}, {"label":"K1E", "x":15, "y":1}, {"label":"K2D", "x":0, "y":2, "w":1.75}, {"label":"K2C", "x":1.75, "y":2}, {"label":"K2B", "x":2.75, "y":2}, {"label":"K2A", "x":3.75, "y":2}, {"label":"K29", "x":4.75, "y":2}, {"label":"K28", "x":5.75, "y":2}, {"label":"K27", "x":6.75, "y":2}, {"label":"K26", "x":7.75, "y":2}, {"label":"K25", "x":8.75, "y":2}, {"label":"K24", "x":9.75, "y":2}, {"label":"K23", "x":10.75, "y":2}, {"label":"K22", "x":11.75, "y":2}, {"label":"K10", "x":12.75, "y":2}, {"label":"K21", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"K2E", "x":15, "y":2}, {"label":"K3D", "x":0, "y":3, "w":1.25}, {"label":"K4A", "x":1.25, "y":3}, {"label":"K3C", "x":2.25, "y":3}, {"label":"K3B", "x":3.25, "y":3}, {"label":"K3A", "x":4.25, "y":3}, {"label":"K39", "x":5.25, "y":3}, {"label":"K38", "x":6.25, "y":3}, {"label":"K37", "x":7.25, "y":3}, {"label":"K36", "x":8.25, "y":3}, {"label":"K35", "x":9.25, "y":3}, {"label":"K34", "x":10.25, "y":3}, {"label":"K33", "x":11.25, "y":3}, {"label":"K32", "x":12.25, "y":3, "w":1.75}, {"label":"K30", "x":14, "y":3}, {"label":"K3E", "x":15, "y":3}, {"label":"K4D", "x":0, "y":4, "w":1.25}, {"label":"K4C", "x":1.25, "y":4, "w":1.25}, {"label":"K4B", "x":2.5, "y":4, "w":1.25}, {"label":"K48", "x":3.75, "y":4, "w":6.25}, {"label":"K44", "x":10, "y":4, "w":1.25}, {"label":"K43", "x":11.25, "y":4, "w":1.25}, {"label":"K42", "x":13, "y":4}, {"label":"K40", "x":14, "y":4}, {"label":"K4E", "x":15, "y":4}]
diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h
index 2188d9b41c..d7df79cebe 100644
--- a/keyboards/percent/canoe_gen2/config.h
+++ b/keyboards/percent/canoe_gen2/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       0x9C12
-#define PRODUCT_ID      0x89F0
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Percent Studio
-#define PRODUCT         Canoe Gen2
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/info.json
index b72b84beee..e24eab5be0 100644
--- a/keyboards/percent/canoe_gen2/info.json
+++ b/keyboards/percent/canoe_gen2/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Canoe Gen2", 
+    "manufacturer": "Percent Studio",
     "url": "", 
     "maintainer": "evyd13", 
+    "usb": {
+        "vid": "0x9C12",
+        "pid": "0x89F0",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_65_ansi_blocker_split_bs": {
             "layout": [
diff --git a/keyboards/percent/skog/config.h b/keyboards/percent/skog/config.h
index 524fdc5ccf..65c9a65802 100644
--- a/keyboards/percent/skog/config.h
+++ b/keyboards/percent/skog/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define VENDOR_ID       0x5053 /* PS */
-#define PRODUCT_ID      0x422D
-#define DEVICE_VER      0x0200
-
-#define MANUFACTURER    Percent Studios
-#define PRODUCT         Skog TKL
-
 /* matrix size */
 #define MATRIX_ROWS 7
 #define MATRIX_COLS 14
diff --git a/keyboards/percent/skog/info.json b/keyboards/percent/skog/info.json
index de5655118a..9f7c86cdd8 100644
--- a/keyboards/percent/skog/info.json
+++ b/keyboards/percent/skog/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "skog",
+    "keyboard_name": "Skog TKL",
+    "manufacturer": "Percent Studios",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+      "vid": "0x5053",
+      "pid": "0x422D",
+      "device_version": "2.0.0"
+    },
     "layouts": {
       "LAYOUT": {
         "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.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, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "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":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/percent/skog_lite/config.h b/keyboards/percent/skog_lite/config.h
index 15de9bbb89..2966a84aed 100644
--- a/keyboards/percent/skog_lite/config.h
+++ b/keyboards/percent/skog_lite/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x5053 /* PS */
-#define PRODUCT_ID      0x422D
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Percent Studios
-#define PRODUCT         Skog Lite
-
 #define RGBLED_NUM 18
 
 #define MATRIX_ROWS 7
diff --git a/keyboards/percent/skog_lite/info.json b/keyboards/percent/skog_lite/info.json
index 09bcdc4381..fb3a71f01d 100644
--- a/keyboards/percent/skog_lite/info.json
+++ b/keyboards/percent/skog_lite/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Skog Lite",
+    "manufacturer": "Percent Studios",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x5053",
+        "pid": "0x422D",
+        "device_version": "2.0.0"
+    },
     "layouts": {
         "LAYOUT_tkl_ansi": {
             "layout": [
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h
index b30adef9dd..35f2131fc5 100644
--- a/keyboards/phantom/config.h
+++ b/keyboards/phantom/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   0x5B50
-#define DEVICE_VER   0x0003
-#define MANUFACTURER bpiphany
-#define PRODUCT      PHANTOM
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 17
diff --git a/keyboards/phantom/info.json b/keyboards/phantom/info.json
index 419ce4f491..1fbbdb73a4 100644
--- a/keyboards/phantom/info.json
+++ b/keyboards/phantom/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Phantom",
+    "manufacturer": "bpiphany",
     "url": "https://deskthority.net/wiki/Phantom",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x5B50",
+        "device_version": "0.0.3"
+    },
     "layouts": {
         "LAYOUT_tkl_ansi": {
             "layout": [
diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h
index 2b8320814e..9b942b20d3 100644
--- a/keyboards/phase_studio/titan65/hotswap/config.h
+++ b/keyboards/phase_studio/titan65/hotswap/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5054
-#define PRODUCT_ID      0xBB91
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Phase Studio
-#define PRODUCT         Titan 65 (hotswap)
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/info.json
index 30fee696ce..6b9a2b80ac 100644
--- a/keyboards/phase_studio/titan65/hotswap/info.json
+++ b/keyboards/phase_studio/titan65/hotswap/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Titan 65 (hotswap)",
+    "manufacturer": "Phase Studio",
     "url": "",
     "maintainer": "drashna",
+    "usb": {
+        "vid": "0x5054",
+        "pid": "0xBB91",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/phase_studio/titan65/soldered/config.h b/keyboards/phase_studio/titan65/soldered/config.h
index 6ecde7d1f3..f94a86676c 100644
--- a/keyboards/phase_studio/titan65/soldered/config.h
+++ b/keyboards/phase_studio/titan65/soldered/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5054
-#define PRODUCT_ID      0xBB92
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Phase Studio
-#define PRODUCT         Titan 65 (soldered)
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/phase_studio/titan65/soldered/info.json b/keyboards/phase_studio/titan65/soldered/info.json
index 96bf7c05e9..6abbf8d0aa 100644
--- a/keyboards/phase_studio/titan65/soldered/info.json
+++ b/keyboards/phase_studio/titan65/soldered/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Titan 65 (soldered)",
+    "manufacturer": "Phase Studio",
     "url": "",
     "maintainer": "drashna",
+    "usb": {
+        "vid": "0x5054",
+        "pid": "0xBB92",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/phoenix/config.h b/keyboards/phoenix/config.h
index 81fc3677ff..9fb090dec0 100644
--- a/keyboards/phoenix/config.h
+++ b/keyboards/phoenix/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x456B
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    ErgoKB
-#define PRODUCT         Phoenix
-
 /* key matrix size */
 #define MATRIX_ROWS 12
 #define MATRIX_COLS 7
diff --git a/keyboards/phoenix/info.json b/keyboards/phoenix/info.json
index 65cdaaa338..85cffa1c31 100644
--- a/keyboards/phoenix/info.json
+++ b/keyboards/phoenix/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Phoenix",
+    "manufacturer": "ErgoKB",
     "url": "ergokb.tw",
     "maintainer": "ErgoKB via lschyi",
+    "usb": {
+        "vid": "0x456B",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ergodox": {
             "layout": [
diff --git a/keyboards/phrygian/ph100/config.h b/keyboards/phrygian/ph100/config.h
index 68bd430736..1edf420b90 100644
--- a/keyboards/phrygian/ph100/config.h
+++ b/keyboards/phrygian/ph100/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0C61
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    PhrygianDesign
-#define PRODUCT         ph100
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 10
diff --git a/keyboards/phrygian/ph100/info.json b/keyboards/phrygian/ph100/info.json
index 054e3955e0..85bac6c4ca 100644
--- a/keyboards/phrygian/ph100/info.json
+++ b/keyboards/phrygian/ph100/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "ph100",
+    "manufacturer": "PhrygianDesign",
     "url": "https://phrygiandesign.com/products/ph100-mechanical-keyboard",
     "maintainer": "phrygiandesign",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0C61",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pico/65keys/config.h b/keyboards/pico/65keys/config.h
index e0cc6ea566..a97d03596c 100644
--- a/keyboards/pico/65keys/config.h
+++ b/keyboards/pico/65keys/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x9692
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Kumao Kobo
-#define PRODUCT         Pico Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/pico/65keys/info.json b/keyboards/pico/65keys/info.json
index c5c9c8a85f..f87dd24c22 100644
--- a/keyboards/pico/65keys/info.json
+++ b/keyboards/pico/65keys/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pico Keyboard",
+    "manufacturer": "Kumao Kobo",
     "url": "https://github.com/kumaokobo/pico-keyboard/",
     "maintainer": "Kumao Kobo",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x9692",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pico/70keys/config.h b/keyboards/pico/70keys/config.h
index b2d07c9691..a97d03596c 100644
--- a/keyboards/pico/70keys/config.h
+++ b/keyboards/pico/70keys/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x9692
-#define DEVICE_VER      0x0101
-#define MANUFACTURER    Kumao Kobo
-#define PRODUCT         Pico Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/pico/70keys/info.json b/keyboards/pico/70keys/info.json
index 4c87ab3691..e70e1a3abf 100644
--- a/keyboards/pico/70keys/info.json
+++ b/keyboards/pico/70keys/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pico Keyboard",
+    "manufacturer": "Kumao Kobo",
     "url": "https://github.com/kumaokobo/pico-keyboard/",
     "maintainer": "Kumao Kobo",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x9692",
+        "device_version": "1.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/picolab/frusta_fundamental/config.h b/keyboards/picolab/frusta_fundamental/config.h
index 33389e3e82..8ebfa35d09 100644
--- a/keyboards/picolab/frusta_fundamental/config.h
+++ b/keyboards/picolab/frusta_fundamental/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x614D
-#define PRODUCT_ID   0x0001
-#define DEVICE_VER   0x0001
-#define MANUFACTURER PicoLab
-#define PRODUCT      Frusta Fundamental
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/picolab/frusta_fundamental/info.json b/keyboards/picolab/frusta_fundamental/info.json
index bc6fb17e21..e64e1425f6 100644
--- a/keyboards/picolab/frusta_fundamental/info.json
+++ b/keyboards/picolab/frusta_fundamental/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "frusta_fundamental",
+    "keyboard_name": "Frusta Fundamental",
+    "manufacturer": "PicoLab",
     "url": "https://picolab.hk",
     "maintainer": "PicoLab",
+    "usb": {
+        "vid": "0x614D",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h
index 242b2ebf92..0855427bcd 100644
--- a/keyboards/pierce/config.h
+++ b/keyboards/pierce/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    durken
-#define PRODUCT         pierce
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 10
diff --git a/keyboards/pierce/info.json b/keyboards/pierce/info.json
index 9c377c0013..850741cd9d 100644
--- a/keyboards/pierce/info.json
+++ b/keyboards/pierce/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pierce",
+    "manufacturer": "durken",
     "url": "https://github.com/durken1/pierce",
     "maintainer": "durken1",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_3x5_3": {
             "layout": [
diff --git a/keyboards/pimentoso/paddino02/rev1/config.h b/keyboards/pimentoso/paddino02/rev1/config.h
index 87259cd2eb..3060794b42 100755
--- a/keyboards/pimentoso/paddino02/rev1/config.h
+++ b/keyboards/pimentoso/paddino02/rev1/config.h
@@ -2,13 +2,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xD00D
-#define PRODUCT_ID      0x0020
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pimentoso
-#define PRODUCT         Paddino02 rev1
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 4
diff --git a/keyboards/pimentoso/paddino02/rev1/info.json b/keyboards/pimentoso/paddino02/rev1/info.json
index 8da1c8642f..bf9147e5f3 100644
--- a/keyboards/pimentoso/paddino02/rev1/info.json
+++ b/keyboards/pimentoso/paddino02/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Paddino02 rev1",
+    "manufacturer": "Pimentoso",
     "url": "",
     "maintainer": "Pimentoso",
+    "usb": {
+        "vid": "0xD00D",
+        "pid": "0x0020",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/left/config.h b/keyboards/pimentoso/paddino02/rev2/left/config.h
index d780f82c36..4bf4b1dcaf 100755
--- a/keyboards/pimentoso/paddino02/rev2/left/config.h
+++ b/keyboards/pimentoso/paddino02/rev2/left/config.h
@@ -2,13 +2,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xD00D
-#define PRODUCT_ID      0x0021
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Pimentoso
-#define PRODUCT         Paddino02 rev2
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 4
diff --git a/keyboards/pimentoso/paddino02/rev2/left/info.json b/keyboards/pimentoso/paddino02/rev2/left/info.json
index 2468b11a70..40a3bb14a0 100644
--- a/keyboards/pimentoso/paddino02/rev2/left/info.json
+++ b/keyboards/pimentoso/paddino02/rev2/left/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Paddino02 rev2 (left)",
+    "manufacturer": "Pimentoso",
     "url": "",
     "maintainer": "Pimentoso",
+    "usb": {
+        "vid": "0xD00D",
+        "pid": "0x0021",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/right/config.h b/keyboards/pimentoso/paddino02/rev2/right/config.h
index f080a9e918..3393107a06 100755
--- a/keyboards/pimentoso/paddino02/rev2/right/config.h
+++ b/keyboards/pimentoso/paddino02/rev2/right/config.h
@@ -2,13 +2,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xD00D
-#define PRODUCT_ID      0x0022
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Pimentoso
-#define PRODUCT         Paddino02 rev2
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 4
diff --git a/keyboards/pimentoso/paddino02/rev2/right/info.json b/keyboards/pimentoso/paddino02/rev2/right/info.json
index fde06194d9..9a341b606b 100644
--- a/keyboards/pimentoso/paddino02/rev2/right/info.json
+++ b/keyboards/pimentoso/paddino02/rev2/right/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Paddino02 rev2 (right)",
+    "manufacturer": "Pimentoso",
     "url": "",
     "maintainer": "Pimentoso",
+    "usb": {
+        "vid": "0xD00D",
+        "pid": "0x0022",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pimentoso/touhoupad/config.h b/keyboards/pimentoso/touhoupad/config.h
index 8fd4e78116..50ef700e06 100644
--- a/keyboards/pimentoso/touhoupad/config.h
+++ b/keyboards/pimentoso/touhoupad/config.h
@@ -17,13 +17,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xD00D
-#define PRODUCT_ID      0x0031
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Pimentoso
-#define PRODUCT         TouhouPad rev2
-
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 10
 
diff --git a/keyboards/pimentoso/touhoupad/info.json b/keyboards/pimentoso/touhoupad/info.json
index 59fded1959..86cb56a1d5 100644
--- a/keyboards/pimentoso/touhoupad/info.json
+++ b/keyboards/pimentoso/touhoupad/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "TouhouPad",
+    "keyboard_name": "TouhouPad rev2",
+    "manufacturer": "Pimentoso",
     "url": "https://github.com/Pimentoso/TouhouPad_v2",
     "maintainer": "Pimentoso",
+    "usb": {
+        "vid": "0xD00D",
+        "pid": "0x0031",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pinky/3/config.h b/keyboards/pinky/3/config.h
index 78192bc19e..ebb69a0119 100644
--- a/keyboards/pinky/3/config.h
+++ b/keyboards/pinky/3/config.h
@@ -16,13 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x544E // "TN"
-#define PRODUCT_ID      0x7033 // "P3"
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    tamanishi
-#define PRODUCT         Pinky3
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/pinky/3/info.json b/keyboards/pinky/3/info.json
index 15c6742f49..0fb7e5a6f6 100644
--- a/keyboards/pinky/3/info.json
+++ b/keyboards/pinky/3/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pinky3",
+    "manufacturer": "tamanishi",
     "url": "",
     "maintainer": "tamanishi",
+    "usb": {
+        "vid": "0x544E",
+        "pid": "0x7033",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_3x7_4": {
             "layout": [
diff --git a/keyboards/pinky/4/config.h b/keyboards/pinky/4/config.h
index f5a9024045..c7f2ab8ef6 100644
--- a/keyboards/pinky/4/config.h
+++ b/keyboards/pinky/4/config.h
@@ -16,13 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x544E // "TN"
-#define PRODUCT_ID      0x7034 // "P4"
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    tamanishi
-#define PRODUCT         Pinky4
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/pinky/4/info.json b/keyboards/pinky/4/info.json
index a0781224c3..373861b138 100644
--- a/keyboards/pinky/4/info.json
+++ b/keyboards/pinky/4/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pinky4",
+    "manufacturer": "tamanishi",
     "url": "",
     "maintainer": "tamanishi",
+    "usb": {
+        "vid": "0x544E",
+        "pid": "0x7034",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_4x7_4": {
             "layout": [
diff --git a/keyboards/pisces/config.h b/keyboards/pisces/config.h
index 163edb8727..ce65056d1a 100644
--- a/keyboards/pisces/config.h
+++ b/keyboards/pisces/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x6B6E
-#define PRODUCT_ID   0x0000
-#define DEVICE_VER   0x0001
-#define MANUFACTURER knaruo
-#define PRODUCT      pisces
-
 #define USE_SERIAL
 
 /* serial.c configuration for split keyboard */
diff --git a/keyboards/pisces/info.json b/keyboards/pisces/info.json
index 749a1152d6..f70712c9f6 100644
--- a/keyboards/pisces/info.json
+++ b/keyboards/pisces/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pisces",
+    "manufacturer": "knaruo",
     "url": "https://github.com/knaruo/pisces",
     "maintainer": "knaruo",
+    "usb": {
+        "vid": "0x6B6E",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_3x6_1": {
             "layout": [
diff --git a/keyboards/pixelspace/capsule65i/config.h b/keyboards/pixelspace/capsule65i/config.h
index 85aab06415..ac5e003bc8 100644
--- a/keyboards/pixelspace/capsule65i/config.h
+++ b/keyboards/pixelspace/capsule65i/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xE061
-#define PRODUCT_ID      0xE66E
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    PixelSpace
-#define PRODUCT         Capsule65i
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/pixelspace/capsule65i/info.json b/keyboards/pixelspace/capsule65i/info.json
index 854ac0402a..b9af2398ef 100644
--- a/keyboards/pixelspace/capsule65i/info.json
+++ b/keyboards/pixelspace/capsule65i/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "CAPSULE65i",
+    "keyboard_name": "Capsule65i",
+    "manufacturer": "PixelSpace",
     "url": "",
     "maintainer": "PixelSpace",
+    "usb": {
+        "vid": "0xE061",
+        "pid": "0xE66E",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_all"
     },
diff --git a/keyboards/pizzakeyboards/pizza65/config.h b/keyboards/pizzakeyboards/pizza65/config.h
index 505a573630..b0a6a3df2b 100644
--- a/keyboards/pizzakeyboards/pizza65/config.h
+++ b/keyboards/pizzakeyboards/pizza65/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x504B // PK
-#define PRODUCT_ID      0x707A // PZ
-#define DEVICE_VER      0x0001
-#define MANUFACTURER pizzakeyboards
-#define PRODUCT      pizza65
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/pizzakeyboards/pizza65/info.json b/keyboards/pizzakeyboards/pizza65/info.json
index 0cd80f3f97..9a0fdb3370 100644
--- a/keyboards/pizzakeyboards/pizza65/info.json
+++ b/keyboards/pizzakeyboards/pizza65/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pizza65",
+    "manufacturer": "pizzakeyboards",
     "url": "www.keyboards.pizza",
     "maintainer": "mm0nte",
+    "usb": {
+        "vid": "0x504B",
+        "pid": "0x707A",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_65_ansi_blocker": {
             "layout": [
diff --git a/keyboards/pjb/eros/config.h b/keyboards/pjb/eros/config.h
index 038e13c9ad..d6b690d0dd 100644
--- a/keyboards/pjb/eros/config.h
+++ b/keyboards/pjb/eros/config.h
@@ -18,12 +18,6 @@
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x5042 // TG
-#define PRODUCT_ID      0x4552 // JC
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    PJB
-#define PRODUCT         Eros
-
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 17
 
diff --git a/keyboards/pjb/eros/info.json b/keyboards/pjb/eros/info.json
index f639cfed1e..bda8ab15fb 100644
--- a/keyboards/pjb/eros/info.json
+++ b/keyboards/pjb/eros/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "PJB eros",
+    "keyboard_name": "Eros",
+    "manufacturer": "PJB",
     "url": "https://github.com/602studios",
     "maintainer": "602studios",
+    "usb": {
+        "vid": "0x5042",
+        "pid": "0x4552",
+        "device_version": "2.0.0"
+    },
     "layout_aliases": {
         "LAYOUT_all_f13": "LAYOUT_tkl_f13_ansi_split_bs_rshift",
         "LAYOUT_tkl_ansi_f13": "LAYOUT_tkl_f13_ansi",
diff --git a/keyboards/pkb65/config.h b/keyboards/pkb65/config.h
index 7c6af9f84a..c4c707d3e8 100644
--- a/keyboards/pkb65/config.h
+++ b/keyboards/pkb65/config.h
@@ -23,13 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4D43 // MCKeebs
-#define PRODUCT_ID      0x6060 
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    MCKeebs
-#define PRODUCT         PKB65
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/pkb65/info.json b/keyboards/pkb65/info.json
index b09e8d8300..b9272dae2c 100644
--- a/keyboards/pkb65/info.json
+++ b/keyboards/pkb65/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "PKB65", 
+  "manufacturer": "MCKeebs",
   "url": "", 
   "maintainer": "qmk", 
+  "usb": {
+    "vid": "0x4D43",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
       "LAYOUT": {
           "layout": [
diff --git a/keyboards/playkbtw/ca66/config.h b/keyboards/playkbtw/ca66/config.h
index c65554a819..80dc8f1249 100644
--- a/keyboards/playkbtw/ca66/config.h
+++ b/keyboards/playkbtw/ca66/config.h
@@ -2,13 +2,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5457  // "TW"
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Barry
-#define PRODUCT         CA66
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/playkbtw/ca66/info.json b/keyboards/playkbtw/ca66/info.json
index 1e14147de1..547f60de41 100644
--- a/keyboards/playkbtw/ca66/info.json
+++ b/keyboards/playkbtw/ca66/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "CA66", 
+    "manufacturer": "Barry",
     "url": "", 
     "maintainer": "qmk",  
+    "usb": {
+        "vid": "0x5457",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15.5, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":15.5, "y":3}, {"x":14.25, "y":3.25}, {"x":0, "y":4, "w":1.25}, {"x":2.25, "y":4}, {"x":3.25, "y":4, "w":1.25}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4, "w":2.75}, {"x":9.5, "y":4, "w":1.25}, {"x":10.75, "y":4}, {"x":11.75, "y":4, "w":1.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}]
diff --git a/keyboards/playkbtw/helen80/config.h b/keyboards/playkbtw/helen80/config.h
index 4e28b321d1..830b659c17 100644
--- a/keyboards/playkbtw/helen80/config.h
+++ b/keyboards/playkbtw/helen80/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x706B
-#define PRODUCT_ID      0x4845
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Play Keyboard
-#define PRODUCT         Helen 80
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/playkbtw/helen80/info.json b/keyboards/playkbtw/helen80/info.json
index 1112fafd21..0c65363a13 100644
--- a/keyboards/playkbtw/helen80/info.json
+++ b/keyboards/playkbtw/helen80/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "helen80",
+  "keyboard_name": "Helen 80",
+  "manufacturer": "Play Keyboard",
   "url": "",
   "maintainer": "yj7272098",
+  "usb": {
+    "vid": "0x706B",
+    "pid": "0x4845",
+    "device_version": "0.0.1"
+  },
   "layouts": {
         "LAYOUT_tkl_ansi": {
             "layout": [
diff --git a/keyboards/playkbtw/pk60/config.h b/keyboards/playkbtw/pk60/config.h
index 0a6ee47d44..ae5735508a 100644
--- a/keyboards/playkbtw/pk60/config.h
+++ b/keyboards/playkbtw/pk60/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    Play Keyboard
-#define PRODUCT         pk60
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/playkbtw/pk60/info.json b/keyboards/playkbtw/pk60/info.json
index 96f0c1f1c4..b314708fdf 100644
--- a/keyboards/playkbtw/pk60/info.json
+++ b/keyboards/playkbtw/pk60/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "pk60",
+  "manufacturer": "Play Keyboard",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT_60_ansi_split_bs_rshift": {
       "layout": [{"label": "~", "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": "&amp;", "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": "Del", "x": 13, "y": 0}, {"label": "Bs", "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}, {"label": "Enter", "x": 12.75, "y": 2, "w": 2.25}, {"label": "Shift", "x": 0, "y": 3, "w": 2.25}, {"label": "Z", "x": 2.25, "y": 3}, {"label": "X", "x": 3.25, "y": 3}, {"label": "C", "x": 4.25, "y": 3}, {"label": "V", "x": 5.25, "y": 3}, {"label": "B", "x": 6.25, "y": 3}, {"label": "N", "x": 7.25, "y": 3}, {"label": "M", "x": 8.25, "y": 3}, {"label": "&lt;", "x": 9.25, "y": 3}, {"label": "&gt;", "x": 10.25, "y": 3}, {"label": "?", "x": 11.25, "y": 3}, {"label": "Shift", "x": 12.25, "y": 3, "w": 1.75}, {"x": 14, "y": 3}, {"label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, {"label": "Win", "x": 1.25, "y": 4, "w": 1.25}, {"label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, {"x": 3.75, "y": 4, "w": 6.25}, {"label": "Alt", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25}]
diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h
index 0e63f9204d..2ec5f15a39 100644
--- a/keyboards/playkbtw/pk64rgb/config.h
+++ b/keyboards/playkbtw/pk64rgb/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x706B // Play Keyboard
-#define PRODUCT_ID      0x3634
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Play Keyboard
-#define PRODUCT         Play Keyboard 64 RGB
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json
index bc973f1b4c..063b58419a 100644
--- a/keyboards/playkbtw/pk64rgb/info.json
+++ b/keyboards/playkbtw/pk64rgb/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "PK64RGB",
+    "manufacturer": "Play Keyboard",
     "url": "",
     "maintainer": "yj7272098",
+    "usb": {
+        "vid": "0x706B",
+        "pid": "0x3634",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_64_ansi": {
             "layout": [
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
index a3e4b76893..e74e9dee83 100644
--- a/keyboards/ploopyco/mouse/config.h
+++ b/keyboards/ploopyco/mouse/config.h
@@ -20,13 +20,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x4D6F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PloopyCo
-#define PRODUCT Mouse
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 8
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json
index 593583176d..f672336c25 100644
--- a/keyboards/ploopyco/mouse/info.json
+++ b/keyboards/ploopyco/mouse/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "PloopyCo Mouse",
+    "keyboard_name": "Mouse",
+    "manufacturer": "PloopyCo",
     "url": "www.ploopy.co",
     "maintainer": "drashna",
+    "usb": {
+        "vid": "0x5043",
+        "pid": "0x4D6F",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h
index 5c151c2e73..54a301b0d2 100644
--- a/keyboards/ploopyco/trackball/config.h
+++ b/keyboards/ploopyco/trackball/config.h
@@ -20,12 +20,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x5442
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 5
diff --git a/keyboards/ploopyco/trackball/info.json b/keyboards/ploopyco/trackball/info.json
index d144261c96..feb458e1c5 100644
--- a/keyboards/ploopyco/trackball/info.json
+++ b/keyboards/ploopyco/trackball/info.json
@@ -1,8 +1,13 @@
 {
-    "keyboard_name": "PloopyCo Trackball",
+    "keyboard_name": "Trackball",
+    "manufacturer": "PloopyCo",
     "url": "www.ploopy.co",
     "maintainer": "drashna",
-    "manufacturer": "Ploopy Corporation",
+    "usb": {
+        "vid": "0x5043",
+        "pid": "0x5442",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h
index 9c53f1f501..bf7570f364 100644
--- a/keyboards/ploopyco/trackball_mini/config.h
+++ b/keyboards/ploopyco/trackball_mini/config.h
@@ -21,12 +21,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x1EAB
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball Mini
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 5
diff --git a/keyboards/ploopyco/trackball_mini/info.json b/keyboards/ploopyco/trackball_mini/info.json
index 67d62cc2b9..f465a7a21e 100644
--- a/keyboards/ploopyco/trackball_mini/info.json
+++ b/keyboards/ploopyco/trackball_mini/info.json
@@ -1,8 +1,13 @@
 {
-    "keyboard_name": "Ploopy Trackball Mini",
+    "keyboard_name": "Trackball Mini",
+    "manufacturer": "PloopyCo",
     "url": "www.ploopy.co",
     "maintainer": "ploopyco",
-    "manufacturer": "Ploopy Corporation",
+    "usb": {
+        "vid": "0x5043",
+        "pid": "0x1EAB",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/ploopyco/trackball_nano/config.h b/keyboards/ploopyco/trackball_nano/config.h
index 985ddc09ba..fb340a4ec3 100644
--- a/keyboards/ploopyco/trackball_nano/config.h
+++ b/keyboards/ploopyco/trackball_nano/config.h
@@ -21,12 +21,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x54A3
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball Nano
-
 /* key matrix size */
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 1
diff --git a/keyboards/ploopyco/trackball_nano/info.json b/keyboards/ploopyco/trackball_nano/info.json
index a788ce9eb1..cf9b78a4f3 100644
--- a/keyboards/ploopyco/trackball_nano/info.json
+++ b/keyboards/ploopyco/trackball_nano/info.json
@@ -1,8 +1,13 @@
 {
-    "keyboard_name": "Ploopy Trackball Nano",
+    "keyboard_name": "Trackball Nano",
+    "manufacturer": "PloopyCo",
     "url": "www.ploopy.co",
     "maintainer": "ploopyco",
-    "manufacturer": "Ploopy Corporation",
+    "usb": {
+        "vid": "0x5043",
+        "pid": "0x54A3",
+        "device_version": "0.0.1"
+    },
      "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pluckey/config.h b/keyboards/pluckey/config.h
index f98318437b..56663e1d3e 100644
--- a/keyboards/pluckey/config.h
+++ b/keyboards/pluckey/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    0xF100
-#define PRODUCT_ID   0x91CE
-#define DEVICE_VER   0x0001
-#define MANUFACTURER floookay
-#define PRODUCT      pluckey
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/pluckey/info.json b/keyboards/pluckey/info.json
index de58bee802..594cc6a7d3 100644
--- a/keyboards/pluckey/info.json
+++ b/keyboards/pluckey/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pluckey",
+    "manufacturer": "floookay",
     "url": "https://github.com/floookay/pluckey",
     "maintainer": "floookay",
+    "usb": {
+        "vid": "0xF100",
+        "pid": "0x91CE",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_all"
     },
diff --git a/keyboards/plume/plume65/config.h b/keyboards/plume/plume65/config.h
index b7d91e1023..31b6d64a23 100644
--- a/keyboards/plume/plume65/config.h
+++ b/keyboards/plume/plume65/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5D66
-#define PRODUCT_ID      0x22CF
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Plume Keyboards LLC
-#define PRODUCT         Plume65
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/plume/plume65/info.json b/keyboards/plume/plume65/info.json
index f41e8eba55..eb9bc6fcd9 100644
--- a/keyboards/plume/plume65/info.json
+++ b/keyboards/plume/plume65/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Plume65", 
+    "manufacturer": "Plume Keyboards LLC",
     "url": "", 
     "maintainer": "evyd13", 
+    "usb": {
+        "vid": "0x5D66",
+        "pid": "0x22CF",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_iso": {
             "layout": [
diff --git a/keyboards/plut0nium/0x3e/config.h b/keyboards/plut0nium/0x3e/config.h
index 055fe63ce7..6e72462c45 100644
--- a/keyboards/plut0nium/0x3e/config.h
+++ b/keyboards/plut0nium/0x3e/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      0x3E01
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    plut0nium
-#define PRODUCT         0x3E
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 13
diff --git a/keyboards/plut0nium/0x3e/info.json b/keyboards/plut0nium/0x3e/info.json
index 552dc478c2..8f00fa9a3c 100644
--- a/keyboards/plut0nium/0x3e/info.json
+++ b/keyboards/plut0nium/0x3e/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "0x3E",
+    "manufacturer": "plut0nium",
     "url": "",
     "maintainer": "plut0nium",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x3E01",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/plx/config.h b/keyboards/plx/config.h
index 68708beccf..74cf3dee8f 100644
--- a/keyboards/plx/config.h
+++ b/keyboards/plx/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x04D8
-#define PRODUCT_ID      0xE972
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Peac Design
-#define PRODUCT         PLX
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/plx/info.json b/keyboards/plx/info.json
index 47f73ada61..be37e4efe0 100644
--- a/keyboards/plx/info.json
+++ b/keyboards/plx/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "PLX",
+    "manufacturer": "Peac Design",
     "url": "https://peac.design/",
     "maintainer": "2Moons-JP",
+    "usb": {
+        "vid": "0x04D8",
+        "pid": "0xE972",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_60_ansi_tsangan"
     },
diff --git a/keyboards/plywrks/ahgase/config.h b/keyboards/plywrks/ahgase/config.h
index a7b16ab108..f38aeba740 100644
--- a/keyboards/plywrks/ahgase/config.h
+++ b/keyboards/plywrks/ahgase/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    0x706C // P L
-#define PRODUCT_ID   0x7902 // Y 2
-#define DEVICE_VER   0x0001
-#define MANUFACTURER plywrks
-#define PRODUCT      Ahgase
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 17
diff --git a/keyboards/plywrks/ahgase/info.json b/keyboards/plywrks/ahgase/info.json
index 1e554e9c6e..297d0b9834 100644
--- a/keyboards/plywrks/ahgase/info.json
+++ b/keyboards/plywrks/ahgase/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Ahgase",
+    "manufacturer": "plywrks",
     "url": "",
     "maintainer": "Ramon Imbao (ramonimbao)",
+    "usb": {
+        "vid": "0x706C",
+        "pid": "0x7902",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ansi": {
             "layout": [
diff --git a/keyboards/pohjolaworks/louhi/config.h b/keyboards/pohjolaworks/louhi/config.h
index b9cbde16d3..c0f52dd312 100644
--- a/keyboards/pohjolaworks/louhi/config.h
+++ b/keyboards/pohjolaworks/louhi/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    0x5057
-#define PRODUCT_ID   0x0001
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Pohjola Works
-#define PRODUCT      Louhi
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 7
diff --git a/keyboards/pohjolaworks/louhi/info.json b/keyboards/pohjolaworks/louhi/info.json
index ce9ef6b85e..e305708d7d 100644
--- a/keyboards/pohjolaworks/louhi/info.json
+++ b/keyboards/pohjolaworks/louhi/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Louhi",
+    "manufacturer": "Pohjola Works",
     "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/pohjolaworks/louhi",
     "maintainer": "ErkHal",
+    "usb": {
+        "vid": "0x5057",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_7u_space": {
             "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k10", "x":1, "y":0}, {"label":"k01", "x":2, "y":0}, {"label":"k11", "x":3, "y":0}, {"label":"k02", "x":4, "y":0}, {"label":"k12", "x":5, "y":0}, {"label":"k03", "x":6, "y":0}, {"label":"k13", "x":7, "y":0}, {"label":"k04", "x":8, "y":0}, {"label":"k14", "x":9, "y":0}, {"label":"k05", "x":10, "y":0}, {"label":"k15", "x":11, "y":0}, {"label":"k06", "x":12, "y":0}, {"label":"k20", "x":0, "y":1}, {"label":"k30", "x":1, "y":1}, {"label":"k21", "x":2, "y":1}, {"label":"k31", "x":3, "y":1}, {"label":"k22", "x":4, "y":1}, {"label":"k32", "x":5, "y":1}, {"label":"k23", "x":6, "y":1}, {"label":"k33", "x":7, "y":1}, {"label":"k24", "x":8, "y":1}, {"label":"k34", "x":9, "y":1}, {"label":"k25", "x":10, "y":1}, {"label":"k35", "x":11, "y":1}, {"label":"k26", "x":12, "y":1}, {"label":"k40", "x":0, "y":2}, {"label":"k50", "x":1, "y":2}, {"label":"k41", "x":2, "y":2}, {"label":"k51", "x":3, "y":2}, {"label":"k42", "x":4, "y":2}, {"label":"k52", "x":5, "y":2}, {"label":"k43", "x":6, "y":2}, {"label":"k53", "x":7, "y":2}, {"label":"k44", "x":8, "y":2}, {"label":"k54", "x":9, "y":2}, {"label":"k45", "x":10, "y":2}, {"label":"k55", "x":11, "y":2}, {"label":"k46", "x":12, "y":2}, {"label":"k60", "x":0, "y":3}, {"label":"k70", "x":1, "y":3}, {"label":"k61", "x":2, "y":3}, {"label":"k63", "x":3, "y":3, "w":7}, {"label":"k65", "x":10, "y":3}, {"label":"k75", "x":11, "y":3}, {"label":"k66", "x":12, "y":3}]
diff --git a/keyboards/poker87c/config.h b/keyboards/poker87c/config.h
index e01df80ec7..93352a2e95 100644
--- a/keyboards/poker87c/config.h
+++ b/keyboards/poker87c/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x6D66 // "mf" - mfkiiyd
-#define PRODUCT_ID      0x087C // "87C"
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    mfkiiyd
-#define PRODUCT         POKER-87C Hotswap
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/poker87c/info.json b/keyboards/poker87c/info.json
index bf7b42e470..1bf7cc4979 100644
--- a/keyboards/poker87c/info.json
+++ b/keyboards/poker87c/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "POKER-87C",
+    "keyboard_name": "POKER-87C Hotswap",
+    "manufacturer": "mfkiiyd",
     "url": "",
     "maintainer": "mfkiiyd",
+    "usb": {
+        "vid": "0x6D66",
+        "pid": "0x087C",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_all"
     },
diff --git a/keyboards/poker87d/config.h b/keyboards/poker87d/config.h
index 7cf87340e4..ab28e84a06 100644
--- a/keyboards/poker87d/config.h
+++ b/keyboards/poker87d/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x6D66 // "mf" - mfkiiyd
-#define PRODUCT_ID      0x087D // "87D"
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    mfkiiyd
-#define PRODUCT         POKER-87D Hotswap
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/poker87d/info.json b/keyboards/poker87d/info.json
index a0b78e5c8a..e36cdb09f4 100644
--- a/keyboards/poker87d/info.json
+++ b/keyboards/poker87d/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "POKER-87D",
+    "keyboard_name": "POKER-87D Hotswap",
+    "manufacturer": "mfkiiyd",
     "url": "",
     "maintainer": "mfkiiyd",
+    "usb": {
+        "vid": "0x6D66",
+        "pid": "0x087D",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_all"
     },
diff --git a/keyboards/polycarbdiet/s20/config.h b/keyboards/polycarbdiet/s20/config.h
index 58f998e767..60016869f5 100644
--- a/keyboards/polycarbdiet/s20/config.h
+++ b/keyboards/polycarbdiet/s20/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x5040 // PD = polycarbdiet
-#define PRODUCT_ID   0x7320 // S20
-#define DEVICE_VER   0x0001
-#define MANUFACTURER polycarbdiet
-#define PRODUCT      S20
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 4
diff --git a/keyboards/polycarbdiet/s20/info.json b/keyboards/polycarbdiet/s20/info.json
index ff06e2a257..d4cf5827b6 100644
--- a/keyboards/polycarbdiet/s20/info.json
+++ b/keyboards/polycarbdiet/s20/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "S20 revA",
+    "manufacturer": "polycarbdiet",
     "url": "",
     "maintainer": "polycarbdiet",
+    "usb": {
+        "vid": "0x5040",
+        "pid": "0x7320",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_5x4": {
             "layout": [
diff --git a/keyboards/pom_keyboards/tnln95/config.h b/keyboards/pom_keyboards/tnln95/config.h
index 78d2d805e1..503ec1a900 100644
--- a/keyboards/pom_keyboards/tnln95/config.h
+++ b/keyboards/pom_keyboards/tnln95/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x544E
-#define PRODUCT_ID      0x3931
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    POM_keyboard
-#define PRODUCT         tnln95
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 10
diff --git a/keyboards/pom_keyboards/tnln95/info.json b/keyboards/pom_keyboards/tnln95/info.json
index 68d1359209..470da65459 100644
--- a/keyboards/pom_keyboards/tnln95/info.json
+++ b/keyboards/pom_keyboards/tnln95/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "tnln95",
+    "manufacturer": "POM_keyboard",
     "url": "http://www.keyboard-layout-editor.com/#/gists/45aee74c726e32a063130a715fc494d3",
     "maintainer": "HoangNM",
+    "usb": {
+        "vid": "0x544E",
+        "pid": "0x3931",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/portal_66/hotswap/config.h b/keyboards/portal_66/hotswap/config.h
index 96ea091a20..c953d92e64 100644
--- a/keyboards/portal_66/hotswap/config.h
+++ b/keyboards/portal_66/hotswap/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    0x504C
-#define PRODUCT_ID   0x5067
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT      Portal 66
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/portal_66/hotswap/info.json b/keyboards/portal_66/hotswap/info.json
index 984134a4e7..b98e9cc714 100644
--- a/keyboards/portal_66/hotswap/info.json
+++ b/keyboards/portal_66/hotswap/info.json
@@ -1,6 +1,12 @@
 {
     "keyboard_name": "Portal 66 Hotswap",
+    "manufacturer": "Parallel Limited",
     "maintainer": "matthewdias",
+    "usb": {
+        "vid": "0x504C",
+        "pid": "0x5067",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_65_ansi_blocker"
     },
diff --git a/keyboards/portal_66/soldered/config.h b/keyboards/portal_66/soldered/config.h
index f5e0d734c4..c953d92e64 100644
--- a/keyboards/portal_66/soldered/config.h
+++ b/keyboards/portal_66/soldered/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    0x504C
-#define PRODUCT_ID   0x5066
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT      Portal 66
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/portal_66/soldered/info.json b/keyboards/portal_66/soldered/info.json
index de621a2f70..f24fc4b870 100644
--- a/keyboards/portal_66/soldered/info.json
+++ b/keyboards/portal_66/soldered/info.json
@@ -1,6 +1,12 @@
 {
-    "keyboard_name": "Portal 66",
+    "keyboard_name": "Portal 66 Soldered",
+    "manufacturer": "Parallel Limited",
     "maintainer": "matthewdias",
+    "usb": {
+        "vid": "0x504C",
+        "pid": "0x5066",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT_65_ansi_split_bs": "LAYOUT_65_ansi_blocker_split_bs",
         "LAYOUT_65_ansi": "LAYOUT_65_ansi_blocker",
diff --git a/keyboards/pos78/config.h b/keyboards/pos78/config.h
index 81449c844f..afe6aa7dd1 100644
--- a/keyboards/pos78/config.h
+++ b/keyboards/pos78/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   0x7878
-#define DEVICE_VER   0x0001
-#define MANUFACTURER smssmssms
-#define PRODUCT      POS78
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 13
diff --git a/keyboards/pos78/info.json b/keyboards/pos78/info.json
index 76c1430559..d6bd269fc5 100644
--- a/keyboards/pos78/info.json
+++ b/keyboards/pos78/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "pos78",
+    "keyboard_name": "POS78",
+    "manufacturer": "smssmssms",
     "url": "https://github.com/smssmssms/pos78.git",
     "maintainer": "smssmssms",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x7878",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_6x13": {
             "layout": [
diff --git a/keyboards/primekb/meridian/config.h b/keyboards/primekb/meridian/config.h
index 082392c6bd..916847cf07 100644
--- a/keyboards/primekb/meridian/config.h
+++ b/keyboards/primekb/meridian/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5052
-#define PRODUCT_ID      0x004D
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Prime Keyboards
-#define PRODUCT         Meridian
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian/info.json b/keyboards/primekb/meridian/info.json
index 4c46e325c5..c12b1b7587 100644
--- a/keyboards/primekb/meridian/info.json
+++ b/keyboards/primekb/meridian/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Meridian",
+    "manufacturer": "Prime Keyboards",
     "url": "https://www.primekb.com",
     "maintainer": "holtenc",
+    "usb": {
+        "vid": "0x5052",
+        "pid": "0x004D",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_unified_bs_rshift": {
             "layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/meridian/ktr1010/config.h b/keyboards/primekb/meridian/ktr1010/config.h
index bf91dc9715..faba78554f 100644
--- a/keyboards/primekb/meridian/ktr1010/config.h
+++ b/keyboards/primekb/meridian/ktr1010/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5052
-#define PRODUCT_ID      0x004D
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Prime Keyboards
-#define PRODUCT         Meridian
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian/ws2812/config.h b/keyboards/primekb/meridian/ws2812/config.h
index 082392c6bd..916847cf07 100644
--- a/keyboards/primekb/meridian/ws2812/config.h
+++ b/keyboards/primekb/meridian/ws2812/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5052
-#define PRODUCT_ID      0x004D
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Prime Keyboards
-#define PRODUCT         Meridian
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian_rgb/config.h b/keyboards/primekb/meridian_rgb/config.h
index 4dc63d91ce..542cda7ca6 100644
--- a/keyboards/primekb/meridian_rgb/config.h
+++ b/keyboards/primekb/meridian_rgb/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       0x5052
-#define PRODUCT_ID      0x0042
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Prime Keyboards
-#define PRODUCT         Meridian RGB
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian_rgb/info.json b/keyboards/primekb/meridian_rgb/info.json
index 606fab0692..eebf1ea394 100644
--- a/keyboards/primekb/meridian_rgb/info.json
+++ b/keyboards/primekb/meridian_rgb/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Meridian RGB",
+    "manufacturer": "Prime Keyboards",
     "url": "https://www.primekb.com",
     "maintainer": "holtenc",
+    "usb": {
+        "vid": "0x5052",
+        "pid": "0x0042",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/prime_m/config.h b/keyboards/primekb/prime_m/config.h
index 3b01b5380e..c9a415feb8 100644
--- a/keyboards/primekb/prime_m/config.h
+++ b/keyboards/primekb/prime_m/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       0x5052 // "PR"
-#define PRODUCT_ID      0x504D // "PM"
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    PrimeKB
-#define PRODUCT         Prime_M
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 6
diff --git a/keyboards/primekb/prime_m/info.json b/keyboards/primekb/prime_m/info.json
index c692690ba0..06a7d46447 100644
--- a/keyboards/primekb/prime_m/info.json
+++ b/keyboards/primekb/prime_m/info.json
@@ -1,8 +1,13 @@
-
 {
   "keyboard_name": "Prime_M",
+  "manufacturer": "PrimeKB",
   "url": "https://www.primekb.com",
   "maintainer": "MxBlu",
+  "usb": {
+    "vid": "0x5052",
+    "pid": "0x504D",
+    "device_version": "0.0.1"
+  },
   "layouts": {
       "LAYOUT_ortho_5x6": {
           "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}]
diff --git a/keyboards/primekb/prime_o/config.h b/keyboards/primekb/prime_o/config.h
index 9639f9b8f5..ba3976cc0e 100644
--- a/keyboards/primekb/prime_o/config.h
+++ b/keyboards/primekb/prime_o/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      0x4024
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    PrimeKB
-#define PRODUCT         Prime_O
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 8
diff --git a/keyboards/primekb/prime_o/info.json b/keyboards/primekb/prime_o/info.json
index eb54834020..164c431a67 100644
--- a/keyboards/primekb/prime_o/info.json
+++ b/keyboards/primekb/prime_o/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Prime_O",
+  "manufacturer": "PrimeKB",
   "url": "https://www.primekb.com",
   "maintainer": "MxBlu",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x4024",
+    "device_version": "0.0.1"
+  },
   "layouts": {
       "LAYOUT": {
           "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/primekb/prime_r/config.h b/keyboards/primekb/prime_r/config.h
index b73eb346a7..d6d35e4ae3 100644
--- a/keyboards/primekb/prime_r/config.h
+++ b/keyboards/primekb/prime_r/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      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    PrimeKB
-#define PRODUCT         Prime_R
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/primekb/prime_r/info.json b/keyboards/primekb/prime_r/info.json
index a9e77a5ef9..c29b0419f8 100644
--- a/keyboards/primekb/prime_r/info.json
+++ b/keyboards/primekb/prime_r/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Prime_R",
+  "manufacturer": "PrimeKB",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K113", "x":13, "y":1}, {"label":"K114", "x":14, "y":1}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.25}, {"label":"K201", "x":1.25, "y":2}, {"label":"K202", "x":2.25, "y":2}, {"label":"K203", "x":3.25, "y":2}, {"label":"K204", "x":4.25, "y":2}, {"label":"K205", "x":5.25, "y":2}, {"label":"K206", "x":6.25, "y":2}, {"label":"K207", "x":7.25, "y":2}, {"label":"K208", "x":8.25, "y":2}, {"label":"K209", "x":9.25, "y":2}, {"label":"K210", "x":10.25, "y":2}, {"label":"K212", "x":11.25, "y":2, "w":1.75}, {"label":"K213", "x":13, "y":2}, {"label":"K214", "x":14, "y":2}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3, "w":1.25}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K402", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4}, {"label":"K404", "x":3.5, "y":4}, {"label":"K405", "x":4.5, "y":4, "w":2}, {"label":"K407", "x":6.5, "y":4, "w":2.25}, {"label":"K409", "x":8.75, "y":4}, {"label":"K410", "x":9.75, "y":4}, {"label":"K411", "x":10.75, "y":4}, {"label":"K412", "x":11.75, "y":4, "w":1.25}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}]
diff --git a/keyboards/projectcain/relic/config.h b/keyboards/projectcain/relic/config.h
index c82c5570aa..75bcd815d3 100644
--- a/keyboards/projectcain/relic/config.h
+++ b/keyboards/projectcain/relic/config.h
@@ -21,13 +21,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 projectcain
-#define PRODUCT relic
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 11
diff --git a/keyboards/projectcain/relic/info.json b/keyboards/projectcain/relic/info.json
index 4a74410c1a..2b4041a261 100644
--- a/keyboards/projectcain/relic/info.json
+++ b/keyboards/projectcain/relic/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Relic", 
+    "manufacturer": "projectcain",
     "url": "", 
     "maintainer": "projectcain", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "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":"BACK <BR> SPACE", "x":11, "y":0}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.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, "w":1.75}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.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, "w":1.25}, {"label":"Ctrl", "x":0.25, "y":3, "w":1.25}, {"label":"Alt", "x":1.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.25, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.5, "y":3, "w":1.25}, {"label":"LGUI", "x":3, "y":3.25}, {"label":"BACK <BR> SPACE", "x":4, "y":3.25, "w":1.5}, {"label":"Space", "x":5.5, "y":3.25}, {"label":"Space", "x":6.5, "y":3.25, "w":1.5}, {"label":"RGUI", "x":8, "y":3.25}]
diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/projectcain/vault35/config.h
index 1490b0ba4e..a7edf78c23 100644
--- a/keyboards/projectcain/vault35/config.h
+++ b/keyboards/projectcain/vault35/config.h
@@ -16,13 +16,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 projectcain
-#define PRODUCT      vault35
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 11
diff --git a/keyboards/projectcain/vault35/info.json b/keyboards/projectcain/vault35/info.json
index e842e35e41..4b81c2ef76 100644
--- a/keyboards/projectcain/vault35/info.json
+++ b/keyboards/projectcain/vault35/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Vault 35", 
+    "keyboard_name": "Vault35", 
+    "manufacturer": "projectcain",
     "url": "", 
     "maintainer": "projectcain", 
+    "usb": {
+      "vid": "0xFEED",
+      "pid": "0x6060",
+      "device_version": "0.0.1"
+    },
     "layouts": {
     "LAYOUT_split_4space": {
    "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"BACK<br>SPACE", "x":10, "y":0}, {"label":"TAB", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":"ENTER", "x":9.25, "y":1, "w":1.75}, {"label":"SHIFT", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":5.75, "y":2}, {"label":"M", "x":6.75, "y":2}, {"label":"<", "x":7.75, "y":2}, {"label":">", "x":8.75, "y":2}, {"label":"SHIFT", "x":9.75, "y":2, "w":1.25}, {"label":"CTRL", "x":1.5, "y":3}, {"label":"LOWER", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":1.75}, {"x":5.5, "y":3, "w":1.75}, {"label":"RAISE", "x":7.25, "y":3, "w":1.25}, {"label":"ALT", "x":8.5, "y":3}]
diff --git a/keyboards/projectcain/vault45/config.h b/keyboards/projectcain/vault45/config.h
index e531c7f530..a6d9edcb3c 100644
--- a/keyboards/projectcain/vault45/config.h
+++ b/keyboards/projectcain/vault45/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   0x6060
-#define DEVICE_VER   0x0001
-#define MANUFACTURER projectcain
-#define PRODUCT      vault45
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 13
diff --git a/keyboards/projectcain/vault45/info.json b/keyboards/projectcain/vault45/info.json
index 6f272e3bba..9e3ebcb02e 100644
--- a/keyboards/projectcain/vault45/info.json
+++ b/keyboards/projectcain/vault45/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Vault 45",
+    "keyboard_name": "Vault45",
+    "manufacturer": "projectcain",
     "url": "",
     "maintainer": "projectcain",
+    "usb": {
+      "vid": "0xFEED",
+      "pid": "0x6060",
+      "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_all"
     },
diff --git a/keyboards/projectkb/alice/info.json b/keyboards/projectkb/alice/info.json
index b4ae3103c2..f85ce98b15 100644
--- a/keyboards/projectkb/alice/info.json
+++ b/keyboards/projectkb/alice/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Alice",
+    "manufacturer": "ProjectKB",
     "url": "https://store.projectkeyboard.com/",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x0159",
+        "pid": "0xA71C",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_alice_split_bs": {
             "layout": [
diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h
index 498c1f9370..c06f73a35b 100644
--- a/keyboards/projectkb/alice/rev1/config.h
+++ b/keyboards/projectkb/alice/rev1/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x0159
-#define PRODUCT_ID      0xA71C
-#define DEVICE_VER      0x0001
-#define MANUFACTURER ProjectKB
-#define PRODUCT Alice
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h
index 21742ac7b8..9e66d6a628 100644
--- a/keyboards/projectkb/alice/rev2/config.h
+++ b/keyboards/projectkb/alice/rev2/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x0159
-#define PRODUCT_ID      0xA71C
-#define DEVICE_VER      0x0001
-#define MANUFACTURER ProjectKB
-#define PRODUCT Alice
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/projectkb/signature65/config.h b/keyboards/projectkb/signature65/config.h
index f37085c190..cadc03dcf7 100644
--- a/keyboards/projectkb/signature65/config.h
+++ b/keyboards/projectkb/signature65/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x0159
-#define PRODUCT_ID      0x0165
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Project Keyboard
-#define PRODUCT         Signature65
-
 /* key matrix size */
 #define MATRIX_ROWS    5
 #define MATRIX_COLS    16
diff --git a/keyboards/projectkb/signature65/info.json b/keyboards/projectkb/signature65/info.json
index 15e08907b0..1344dedac4 100644
--- a/keyboards/projectkb/signature65/info.json
+++ b/keyboards/projectkb/signature65/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Kepler FC65", 
+    "keyboard_name": "Signature65", 
+    "manufacturer": "Project Keyboard",
     "url": "https://store.projectkeyboard.com", 
     "maintainer": "projectkeyboard", 
+    "usb": {
+        "vid": "0x0159",
+        "pid": "0x0165",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/projectkb/signature87/config.h b/keyboards/projectkb/signature87/config.h
index 5e6a9214af..188419e89d 100644
--- a/keyboards/projectkb/signature87/config.h
+++ b/keyboards/projectkb/signature87/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x0159
-#define PRODUCT_ID      0x0187
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Project Keyboard
-#define PRODUCT         Signature87
-
 /* key matrix size */
 #define MATRIX_ROWS     12
 #define MATRIX_COLS     9
diff --git a/keyboards/projectkb/signature87/info.json b/keyboards/projectkb/signature87/info.json
index 2be7e402e6..bafbbd4cb9 100644
--- a/keyboards/projectkb/signature87/info.json
+++ b/keyboards/projectkb/signature87/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Signature 87", 
+    "keyboard_name": "Signature87", 
+    "manufacturer": "Project Keyboard",
     "url": "", 
     "maintainer": "qmk", 
+    "usb": {
+        "vid": "0x0159",
+        "pid": "0x0187",
+        "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.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/prototypist/allison/config.h b/keyboards/prototypist/allison/config.h
index 89a24768de..ef3fffb3a3 100644
--- a/keyboards/prototypist/allison/config.h
+++ b/keyboards/prototypist/allison/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 0x8968
-#define PRODUCT_ID 0x414D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER protoTypist
-#define PRODUCT Allison
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/prototypist/allison/info.json b/keyboards/prototypist/allison/info.json
index cd6b51f96e..f4108081cc 100644
--- a/keyboards/prototypist/allison/info.json
+++ b/keyboards/prototypist/allison/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "allison",
+    "keyboard_name": "Allison",
+    "manufacturer": "protoTypist",
     "url": "www.yiancar-designs.com",
     "maintainer": "Yiancar",
+    "usb": {
+        "vid": "0x8968",
+        "pid": "0x414D",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{"label":"0,0", "x":1.25, "y":0}, {"label":"0,1", "x":2.5, "y":0}, {"label":"0,2", "x":3.5, "y":0}, {"label":"0,3", "x":4.5, "y":0}, {"label":"0,4", "x":5.5, "y":0}, {"label":"0,5", "x":6.75, "y":0}, {"label":"0,6", "x":7.75, "y":0}, {"label":"0,7", "x":8.75, "y":0}, {"label":"0,8", "x":9.75, "y":0}, {"label":"0,9", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,11", "x":13, "y":0}, {"label":"0,12", "x":14, "y":0}, {"label":"0,13", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1.25, "y":1.25}, {"label":"1,2", "x":2.25, "y":1.25}, {"label":"1,3", "x":3.25, "y":1.25}, {"label":"1,4", "x":4.25, "y":1.25}, {"label":"1,5", "x":5.25, "y":1.25}, {"label":"1,6", "x":6.25, "y":1.25}, {"label":"1,7", "x":7.25, "y":1.25}, {"label":"1,8", "x":8.25, "y":1.25}, {"label":"1,9", "x":9.25, "y":1.25}, {"label":"1,10", "x":10.25, "y":1.25}, {"label":"1,11", "x":11.25, "y":1.25}, {"label":"1,12", "x":12.25, "y":1.25}, {"label":"1,13", "x":13.25, "y":1.25}, {"label":"1,14", "x":14.25, "y":1.25}, {"label":"0,14", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25}, {"label":"2,1", "x":1.25, "y":2.25, "w":1.5}, {"label":"2,2", "x":2.75, "y":2.25}, {"label":"2,3", "x":3.75, "y":2.25}, {"label":"2,4", "x":4.75, "y":2.25}, {"label":"2,5", "x":5.75, "y":2.25}, {"label":"2,6", "x":6.75, "y":2.25}, {"label":"2,7", "x":7.75, "y":2.25}, {"label":"2,8", "x":8.75, "y":2.25}, {"label":"2,9", "x":9.75, "y":2.25}, {"label":"2,10", "x":10.75, "y":2.25}, {"label":"2,11", "x":11.75, "y":2.25}, {"label":"2,12", "x":12.75, "y":2.25}, {"label":"2,13", "x":13.75, "y":2.25}, {"label":"2,14", "x":14.75, "y":2.25, "w":1.5}, {"label":"3,0", "x":0, "y":3.25}, {"label":"3,1", "x":1.25, "y":3.25, "w":1.75}, {"label":"3,2", "x":3, "y":3.25}, {"label":"3,3", "x":4, "y":3.25}, {"label":"3,4", "x":5, "y":3.25}, {"label":"3,5", "x":6, "y":3.25}, {"label":"3,6", "x":7, "y":3.25}, {"label":"3,7", "x":8, "y":3.25}, {"label":"3,8", "x":9, "y":3.25}, {"label":"3,9", "x":10, "y":3.25}, {"label":"3,10", "x":11, "y":3.25}, {"label":"3,11", "x":12, "y":3.25}, {"label":"3,12", "x":13, "y":3.25}, {"label":"3,13", "x":14, "y":3.25}, {"label":"3,14", "x":15, "y":3.25, "w":1.25}, {"label":"4,0", "x":0, "y":4.25}, {"label":"4,1", "x":1.25, "y":4.25, "w":1.25}, {"label":"4,2", "x":2.5, "y":4.25}, {"label":"4,3", "x":3.5, "y":4.25}, {"label":"4,4", "x":4.5, "y":4.25}, {"label":"4,5", "x":5.5, "y":4.25}, {"label":"4,6", "x":6.5, "y":4.25}, {"label":"4,7", "x":7.5, "y":4.25}, {"label":"4,8", "x":8.5, "y":4.25}, {"label":"4,9", "x":9.5, "y":4.25}, {"label":"4,10", "x":10.5, "y":4.25}, {"label":"4,11", "x":11.5, "y":4.25}, {"label":"4,12", "x":12.5, "y":4.25}, {"label":"4,13", "x":13.5, "y":4.25, "w":1.75}, {"label":"4,14", "x":15.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.5}, {"label":"5,2", "x":2.75, "y":5.25}, {"label":"5,3", "x":3.75, "y":5.25, "w":1.5}, {"label":"5,8", "x":5.25, "y":5.25, "w":7}, {"label":"5,12", "x":12.25, "y":5.25, "w":1.5}, {"label":"5,13", "x":13.75, "y":5.25}, {"label":"5,14", "x":14.75, "y":5.25, "w":1.5}]
diff --git a/keyboards/prototypist/allison_numpad/config.h b/keyboards/prototypist/allison_numpad/config.h
index 59fb02d9a5..312049ff01 100644
--- a/keyboards/prototypist/allison_numpad/config.h
+++ b/keyboards/prototypist/allison_numpad/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 0x8968
-#define PRODUCT_ID 0x414E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER protoTypist
-#define PRODUCT Allison Numpad
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 4
diff --git a/keyboards/prototypist/allison_numpad/info.json b/keyboards/prototypist/allison_numpad/info.json
index e644d8ec3b..bf0de7a653 100644
--- a/keyboards/prototypist/allison_numpad/info.json
+++ b/keyboards/prototypist/allison_numpad/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "allison_numpad",
+    "keyboard_name": "Allison Numpad",
+    "manufacturer": "protoTypist",
     "url": "www.yiancar-designs.com",
     "maintainer": "Yiancar",
+    "usb": {
+        "vid": "0x8968",
+        "pid": "0x414E",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_6x4": {
             "layout": [
diff --git a/keyboards/prototypist/j01/config.h b/keyboards/prototypist/j01/config.h
index 4d15e1349b..d1e861aaad 100644
--- a/keyboards/prototypist/j01/config.h
+++ b/keyboards/prototypist/j01/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x5450
-#define PRODUCT_ID      0x6A31
-#define DEVICE_VER      0x0001
-#define MANUFACTURER Prototypist
-#define PRODUCT J-01 Rev1
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 18
diff --git a/keyboards/prototypist/j01/info.json b/keyboards/prototypist/j01/info.json
index c93f4a9f4d..6ff8ce09c5 100644
--- a/keyboards/prototypist/j01/info.json
+++ b/keyboards/prototypist/j01/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "J-01",
+    "keyboard_name": "J-01 Rev1",
+    "manufacturer": "Prototypist",
     "url": "https://prototypist.net/",
     "maintainer": "Flexerm",
+    "usb": {
+        "vid": "0x5450",
+        "pid": "0x6A31",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/protozoa/cassini/config.h b/keyboards/protozoa/cassini/config.h
index cdcef1e0ac..991a33db40 100644
--- a/keyboards/protozoa/cassini/config.h
+++ b/keyboards/protozoa/cassini/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       0x8968
-#define PRODUCT_ID      0x4341
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Yiancar-Designs
-#define PRODUCT         Cassini
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/protozoa/cassini/info.json b/keyboards/protozoa/cassini/info.json
index be662952e2..456e00707b 100644
--- a/keyboards/protozoa/cassini/info.json
+++ b/keyboards/protozoa/cassini/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Cassini",
+    "manufacturer": "Yiancar-Designs",
     "url": "https://yiancar-designs.com",
     "maintainer": "Yiancar-Designs",
+    "usb": {
+        "vid": "0x8968",
+        "pid": "0x4341",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/psuieee/pluto12/config.h b/keyboards/psuieee/pluto12/config.h
index 49466f7b4a..baab1e89e8 100644
--- a/keyboards/psuieee/pluto12/config.h
+++ b/keyboards/psuieee/pluto12/config.h
@@ -5,13 +5,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x4747
-#define PRODUCT_ID   0x7012
-#define DEVICE_VER   0x0001
-#define MANUFACTURER psuieee
-#define PRODUCT      pluto12
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 4
diff --git a/keyboards/psuieee/pluto12/info.json b/keyboards/psuieee/pluto12/info.json
index a48b687fb1..3858497cd2 100644
--- a/keyboards/psuieee/pluto12/info.json
+++ b/keyboards/psuieee/pluto12/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "pluto12",
+    "manufacturer": "psuieee",
     "url": "https://github.com/psuieee/pluto12",
     "maintainer": "wymcg",
+    "usb": {
+        "vid": "0x4747",
+        "pid": "0x7012",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/pteron36/config.h b/keyboards/pteron36/config.h
index 793dc8e5ed..976bc11f6f 100644
--- a/keyboards/pteron36/config.h
+++ b/keyboards/pteron36/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    0x4847 //HG
-#define PRODUCT_ID   0x5054 //PT
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Harshit Goel
-#define PRODUCT      Pteron36
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 5
diff --git a/keyboards/pteron36/info.json b/keyboards/pteron36/info.json
index e191dc616f..e5323631ee 100644
--- a/keyboards/pteron36/info.json
+++ b/keyboards/pteron36/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Pteron36",
+    "manufacturer": "Harshit Goel",
     "url": "",
     "maintainer": "harshitgoel96",
+    "usb": {
+        "vid": "0x4847",
+        "pid": "0x5054",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_3x5_3": {
             "layout": [
diff --git a/keyboards/puck/config.h b/keyboards/puck/config.h
index c4eeb207f9..a3d875b65a 100644
--- a/keyboards/puck/config.h
+++ b/keyboards/puck/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    OkKeebs LLC
-#define PRODUCT         Puck
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 3
diff --git a/keyboards/puck/info.json b/keyboards/puck/info.json
index 095f572163..0d9c5ffa04 100644
--- a/keyboards/puck/info.json
+++ b/keyboards/puck/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Puck", 
+  "manufacturer": "OkKeebs LLC",
   "url": "", 
   "maintainer": "john-pettigrew", 
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/punk75/config.h b/keyboards/punk75/config.h
index 61950da946..de13a09e6d 100644
--- a/keyboards/punk75/config.h
+++ b/keyboards/punk75/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 0xDEED
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dsanchezseco
-#define PRODUCT punk75
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/punk75/info.json b/keyboards/punk75/info.json
index 8a774b94ea..1bfae0305c 100644
--- a/keyboards/punk75/info.json
+++ b/keyboards/punk75/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "punk75",
+    "manufacturer": "dsanchezseco",
     "url": "",
     "maintainer": "dsanchezseco",
+    "usb": {
+        "vid": "0xDEED",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_5x15": {
             "layout": [