diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json
index 67e01dca85b8..e1fbb231cecb 100644
--- a/keyboards/pabile/p20/info.json
+++ b/keyboards/pabile/p20/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "P20",
+ "manufacturer": "Pabile",
"url": "",
"maintainer": "pabile",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6667"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/pabile/p20/ver1/config.h b/keyboards/pabile/p20/ver1/config.h
index 94c600106b06..8ccbc6d9e298 100644
--- a/keyboards/pabile/p20/ver1/config.h
+++ b/keyboards/pabile/p20/ver1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6667
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P20 ver1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/pabile/p20/ver1/info.json b/keyboards/pabile/p20/ver1/info.json
new file mode 100644
index 000000000000..18b5e4bd2b04
--- /dev/null
+++ b/keyboards/pabile/p20/ver1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "P20 ver1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/pabile/p20/ver2/config.h b/keyboards/pabile/p20/ver2/config.h
index 099700183650..8e8ecd769898 100644
--- a/keyboards/pabile/p20/ver2/config.h
+++ b/keyboards/pabile/p20/ver2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6667
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Pabile
-#define PRODUCT P20 ver2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/pabile/p20/ver2/info.json b/keyboards/pabile/p20/ver2/info.json
new file mode 100644
index 000000000000..dae1f84edb26
--- /dev/null
+++ b/keyboards/pabile/p20/ver2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "P20 ver2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h
index 8fb9dda32a1e..95ba718abcbf 100644
--- a/keyboards/planck/config.h
+++ b/keyboards/planck/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A8
-#define MANUFACTURER OLKB
-#define PRODUCT Planck
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/planck/ez/base/info.json b/keyboards/planck/ez/base/info.json
new file mode 100644
index 000000000000..07167a8c2a30
--- /dev/null
+++ b/keyboards/planck/ez/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Planck EZ",
+ "usb": {
+ "pid": "0xC6CE"
+ }
+}
diff --git a/keyboards/planck/ez/base/rules.mk b/keyboards/planck/ez/base/rules.mk
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index d948fb5808e3..c9ed9e59ba5c 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -18,17 +18,6 @@
#pragma once
-#undef VENDOR_ID
-#define VENDOR_ID 0x3297
-#undef PRODUCT_ID
-#define PRODUCT_ID 0xC6CE
-#undef MANUFACTURER
-#define MANUFACTURER ZSA Technology Labs
-#undef PRODUCT
-#define PRODUCT Planck EZ
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0000
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/planck/ez/glow/config.h b/keyboards/planck/ez/glow/config.h
deleted file mode 100644
index 55ce2890107b..000000000000
--- a/keyboards/planck/ez/glow/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2018 Jack Humbert
- * Copyright 2015 ZSA Technology Labs Inc (@zsa)
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0xC6CF
-
-#undef PRODUCT
-#define PRODUCT Planck EZ Glow
diff --git a/keyboards/planck/ez/glow/info.json b/keyboards/planck/ez/glow/info.json
new file mode 100644
index 000000000000..48522585709d
--- /dev/null
+++ b/keyboards/planck/ez/glow/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Planck EZ Glow",
+ "usb": {
+ "pid": "0xC6CF"
+ }
+}
diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json
index 6c9332b052e3..4008cb7057ad 100644
--- a/keyboards/planck/ez/info.json
+++ b/keyboards/planck/ez/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Planck EZ",
+ "manufacturer": "ZSA Technology Labs",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x3297",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index 61d3eb4d4f3e..47f140585b31 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -29,3 +29,5 @@ RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no
MOUSE_SHARED_EP = no
+
+DEFAULT_FOLDER = planck/ez/base
diff --git a/keyboards/planck/info.json b/keyboards/planck/info.json
index a4710d781f6d..cc57b6da6045 100644
--- a/keyboards/planck/info.json
+++ b/keyboards/planck/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Planck",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"layouts": {
diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h
index cc7f1fe940a9..67b42e8c08df 100644
--- a/keyboards/planck/light/config.h
+++ b/keyboards/planck/light/config.h
@@ -2,11 +2,6 @@
#include "config_common.h"
-#undef PRODUCT
-#define PRODUCT Planck Light
-#define PRODUCT_ID 0xBEA2
-#define DEVICE_VER 0x0001
-
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json
index 6169a8f991a8..d55de09d4793 100644
--- a/keyboards/planck/light/info.json
+++ b/keyboards/planck/light/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Planck Light",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xBEA2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev1/config.h b/keyboards/planck/rev1/config.h
deleted file mode 100644
index 82f9acd8f907..000000000000
--- a/keyboards/planck/rev1/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0001
diff --git a/keyboards/planck/rev1/info.json b/keyboards/planck/rev1/info.json
index 04c6775042f4..2fcff227c6c5 100644
--- a/keyboards/planck/rev1/info.json
+++ b/keyboards/planck/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 1",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev2/config.h b/keyboards/planck/rev2/config.h
deleted file mode 100644
index 09ec6c447096..000000000000
--- a/keyboards/planck/rev2/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0002
diff --git a/keyboards/planck/rev2/info.json b/keyboards/planck/rev2/info.json
index 42839397cb2f..5d4137a9d6d0 100644
--- a/keyboards/planck/rev2/info.json
+++ b/keyboards/planck/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 2",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev3/config.h b/keyboards/planck/rev3/config.h
deleted file mode 100644
index a57e42dfbc2a..000000000000
--- a/keyboards/planck/rev3/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0003
diff --git a/keyboards/planck/rev3/info.json b/keyboards/planck/rev3/info.json
index 88a8741ad16e..d9eaea8f4149 100644
--- a/keyboards/planck/rev3/info.json
+++ b/keyboards/planck/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 3",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev4/config.h b/keyboards/planck/rev4/config.h
deleted file mode 100644
index c802efa8d473..000000000000
--- a/keyboards/planck/rev4/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0004
diff --git a/keyboards/planck/rev4/info.json b/keyboards/planck/rev4/info.json
index 5c4d9af1941b..f5339f3671ec 100644
--- a/keyboards/planck/rev4/info.json
+++ b/keyboards/planck/rev4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 4",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev5/config.h b/keyboards/planck/rev5/config.h
deleted file mode 100644
index c2ff086f33b2..000000000000
--- a/keyboards/planck/rev5/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0005
diff --git a/keyboards/planck/rev5/info.json b/keyboards/planck/rev5/info.json
index f5d667a50777..4ade05c65740 100644
--- a/keyboards/planck/rev5/info.json
+++ b/keyboards/planck/rev5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 5",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h
index 778fa12fcc41..50865c168615 100644
--- a/keyboards/planck/rev6/config.h
+++ b/keyboards/planck/rev6/config.h
@@ -17,10 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0xA4F9
-#define DEVICE_VER 0x0006
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/planck/rev6/info.json b/keyboards/planck/rev6/info.json
index 114a971294cb..bde896203f00 100644
--- a/keyboards/planck/rev6/info.json
+++ b/keyboards/planck/rev6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 6",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA4F9",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h
index f41d46b889bd..a6c024d78d0a 100644
--- a/keyboards/planck/rev6_drop/config.h
+++ b/keyboards/planck/rev6_drop/config.h
@@ -17,12 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0xA4F9
-#define DEVICE_VER 0x0006
-#undef MANUFACTURER
-#define MANUFACTURER Drop
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/info.json
index 114a971294cb..cd8a93213968 100644
--- a/keyboards/planck/rev6_drop/info.json
+++ b/keyboards/planck/rev6_drop/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 6",
+ "keyboard_name": "Planck",
+ "manufacturer": "Drop",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA4F9",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/planck/thk/config.h b/keyboards/planck/thk/config.h
index 845ef60b08d5..8ee347d28489 100644
--- a/keyboards/planck/thk/config.h
+++ b/keyboards/planck/thk/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see .
#pragma once
#include "config_common.h"
-#define DEVICE_VER 0x0000
-#undef PRODUCT
-#define PRODUCT Planck THK
-#define PRODUCT_ID 0x25A7
// THK has a different pin-out
#undef MATRIX_ROW_PINS
diff --git a/keyboards/planck/thk/info.json b/keyboards/planck/thk/info.json
index 70e1f0bd0714..c8689737c0ec 100644
--- a/keyboards/planck/thk/info.json
+++ b/keyboards/planck/thk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Planck THK",
+ "manufacturer": "OLKB",
"maintainer": "Erovia",
"url": "https://olkb.com/planck",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x25A7",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
diff --git a/keyboards/polilla/info.json b/keyboards/polilla/info.json
index 0287b22a52b6..bb6a98939c03 100644
--- a/keyboards/polilla/info.json
+++ b/keyboards/polilla/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Polilla",
+ "manufacturer": "elagil",
"url": "",
"maintainer": "elagil",
+ "usb": {
+ "vid": "0x6166",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/polilla/rev1/config.h b/keyboards/polilla/rev1/config.h
index b48e99e6d57e..31ca39d78dcb 100644
--- a/keyboards/polilla/rev1/config.h
+++ b/keyboards/polilla/rev1/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6166 // af
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER elagil
-#define PRODUCT Polilla
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h
index 6bcfa26380fe..c6c54cb6d728 100644
--- a/keyboards/preonic/config.h
+++ b/keyboards/preonic/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A8
-#define MANUFACTURER OLKB
-#define PRODUCT Preonic
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/preonic/info.json b/keyboards/preonic/info.json
index e49e964577c3..76571d7ce8e1 100644
--- a/keyboards/preonic/info.json
+++ b/keyboards/preonic/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Preonic",
"url": "https://olkb.com/preonic",
"maintainer": "jackhumbert",
"layouts": {
diff --git a/keyboards/preonic/rev1/config.h b/keyboards/preonic/rev1/config.h
deleted file mode 100644
index a1091b10ed0c..000000000000
--- a/keyboards/preonic/rev1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2017 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x67F3
diff --git a/keyboards/preonic/rev1/info.json b/keyboards/preonic/rev1/info.json
new file mode 100644
index 000000000000..1a44f3a2d691
--- /dev/null
+++ b/keyboards/preonic/rev1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x67F3",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/preonic/rev2/config.h b/keyboards/preonic/rev2/config.h
deleted file mode 100644
index a62fed48508e..000000000000
--- a/keyboards/preonic/rev2/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2017 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x67F3
diff --git a/keyboards/preonic/rev2/info.json b/keyboards/preonic/rev2/info.json
new file mode 100644
index 000000000000..5362084dc75f
--- /dev/null
+++ b/keyboards/preonic/rev2/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x67F3",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h
index efa32d5916bf..5ade1f5f9685 100644
--- a/keyboards/preonic/rev3/config.h
+++ b/keyboards/preonic/rev3/config.h
@@ -17,10 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0xA649
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json
index 8b7a65384e0a..1f13d480d2f7 100644
--- a/keyboards/preonic/rev3/info.json
+++ b/keyboards/preonic/rev3/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Preonic rev. 3",
- "url": "https://olkb.com/preonic",
- "maintainer": "jackhumbert",
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA649",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_preonic_1x2uC": {
"layout": [
diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h
index 813675eb8461..5ade1f5f9685 100644
--- a/keyboards/preonic/rev3_drop/config.h
+++ b/keyboards/preonic/rev3_drop/config.h
@@ -17,12 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0xA649
-#undef MANUFACTURER
-#define MANUFACTURER Drop
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/info.json
index 8b7a65384e0a..081d9e1983ce 100644
--- a/keyboards/preonic/rev3_drop/info.json
+++ b/keyboards/preonic/rev3_drop/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Preonic rev. 3",
- "url": "https://olkb.com/preonic",
- "maintainer": "jackhumbert",
+ "keyboard_name": "Preonic",
+ "manufacturer": "Drop",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA649",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_preonic_1x2uC": {
"layout": [
diff --git a/keyboards/primekb/prime_e/config.h b/keyboards/primekb/prime_e/config.h
index 343a9dc0bff1..f1bd0090c7a9 100644
--- a/keyboards/primekb/prime_e/config.h
+++ b/keyboards/primekb/prime_e/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define MANUFACTURER PrimeKB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json
index ee83f1bcbcd8..25f14ee9cef5 100644
--- a/keyboards/primekb/prime_e/info.json
+++ b/keyboards/primekb/prime_e/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Prime_E",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0,"y":0,"w":1,"h":1}, {"x":1,"y":0,"w":1,"h":1}, {"x":2,"y":0,"w":1,"h":1}, {"x":3,"y":0,"w":1,"h":1}, {"x":4,"y":0,"w":1,"h":1}, {"x":5,"y":0,"w":1,"h":1}, {"x":7,"y":0,"w":1,"h":1}, {"x":8,"y":0,"w":1,"h":1}, {"x":9,"y":0,"w":1,"h":1}, {"x":10,"y":0,"w":1,"h":1}, {"x":11,"y":0,"w":1,"h":1}, {"x":12,"y":0,"w":1,"h":1}, {"x":13,"y":0,"w":1,"h":1},
diff --git a/keyboards/primekb/prime_e/rgb/config.h b/keyboards/primekb/prime_e/rgb/config.h
index a562ffba8136..89cf43902c34 100644
--- a/keyboards/primekb/prime_e/rgb/config.h
+++ b/keyboards/primekb/prime_e/rgb/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0052
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_E RGB
-
#define RGB_DI_PIN B7
#define RGBLED_NUM 8
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/primekb/prime_e/rgb/info.json b/keyboards/primekb/prime_e/rgb/info.json
new file mode 100644
index 000000000000..1d40389e87b2
--- /dev/null
+++ b/keyboards/primekb/prime_e/rgb/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Prime_E RGB",
+ "usb": {
+ "pid": "0x0052",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/primekb/prime_e/std/config.h b/keyboards/primekb/prime_e/std/config.h
index a711e35b21b0..d6b242e08e3d 100644
--- a/keyboards/primekb/prime_e/std/config.h
+++ b/keyboards/primekb/prime_e/std/config.h
@@ -19,10 +19,5 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0051
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_E
-
#define BACKLIGHT_PIN B7
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/primekb/prime_e/std/info.json b/keyboards/primekb/prime_e/std/info.json
new file mode 100644
index 000000000000..04f88425461a
--- /dev/null
+++ b/keyboards/primekb/prime_e/std/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Prime_E",
+ "usb": {
+ "pid": "0x0051",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/primekb/prime_l/config.h b/keyboards/primekb/prime_l/config.h
index 92cbe3f6643e..f6084f32806d 100644
--- a/keyboards/primekb/prime_l/config.h
+++ b/keyboards/primekb/prime_l/config.h
@@ -20,10 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define MANUFACTURER PrimeKB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json
index ac537202f35a..88a2cdb065fd 100644
--- a/keyboards/primekb/prime_l/info.json
+++ b/keyboards/primekb/prime_l/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Prime_L",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "vid": "0x5052"
+ },
"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, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/prime_l/v1/config.h b/keyboards/primekb/prime_l/v1/config.h
index afa8c6246035..6c691a58ad69 100644
--- a/keyboards/primekb/prime_l/v1/config.h
+++ b/keyboards/primekb/prime_l/v1/config.h
@@ -20,11 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x504C
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_L V1
-
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D1, D0, B7, B3, B2 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, C7, C6, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/primekb/prime_l/v1/info.json b/keyboards/primekb/prime_l/v1/info.json
index ac537202f35a..628aa67c10f1 100644
--- a/keyboards/primekb/prime_l/v1/info.json
+++ b/keyboards/primekb/prime_l/v1/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Prime_L",
+ "keyboard_name": "Prime_L V1",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "pid": "0x504C",
+ "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, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/prime_l/v2/config.h b/keyboards/primekb/prime_l/v2/config.h
index 1386a127fe56..4aef7b076cf5 100644
--- a/keyboards/primekb/prime_l/v2/config.h
+++ b/keyboards/primekb/prime_l/v2/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x5042
-#define DEVICE_VER 0x0002
-#define PRODUCT Prime_L V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/primekb/prime_l/v2/info.json b/keyboards/primekb/prime_l/v2/info.json
index b8033eae306b..7199de33f690 100644
--- a/keyboards/primekb/prime_l/v2/info.json
+++ b/keyboards/primekb/prime_l/v2/info.json
@@ -2,6 +2,10 @@
"keyboard_name": "Prime_L V2",
"url": "https://www.primekb.com",
"maintainer": "HoltenC",
+ "usb": {
+ "pid": "0x5042",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":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},
diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h
index 156044d24a1d..78e7d1b03860 100644
--- a/keyboards/program_yoink/config.h
+++ b/keyboards/program_yoink/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7079
-#define DEVICE_VER 0x0001
-#define MANUFACTURER melonbred
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/program_yoink/ortho/config.h b/keyboards/program_yoink/ortho/config.h
deleted file mode 100644
index 7620643f1a13..000000000000
--- a/keyboards/program_yoink/ortho/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 melonbred
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#define PRODUCT_ID 0xF10C
-#define PRODUCT Program Yoink! Ortho
diff --git a/keyboards/program_yoink/ortho/info.json b/keyboards/program_yoink/ortho/info.json
index 7d7d4ef230ad..c73b4cc0302d 100644
--- a/keyboards/program_yoink/ortho/info.json
+++ b/keyboards/program_yoink/ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "program_yoink",
+ "keyboard_name": "Program Yoink! Ortho",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0x7079",
+ "pid": "0xF10C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho": {
"layout": [
diff --git a/keyboards/program_yoink/staggered/config.h b/keyboards/program_yoink/staggered/config.h
deleted file mode 100644
index a0da03152557..000000000000
--- a/keyboards/program_yoink/staggered/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 melonbred
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#define PRODUCT_ID 0xF10B
-#define PRODUCT Program Yoink! Staggered
diff --git a/keyboards/program_yoink/staggered/info.json b/keyboards/program_yoink/staggered/info.json
index cc73feeb4364..cc488e4a8fd8 100644
--- a/keyboards/program_yoink/staggered/info.json
+++ b/keyboards/program_yoink/staggered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "program_yoink",
+ "keyboard_name": "Program Yoink! Staggered",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0x7079",
+ "pid": "0xF10B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/ramonimbao/tkl_ff/config.h b/keyboards/ramonimbao/tkl_ff/config.h
index d0b3ee75ffa4..4ccf88b9fcaf 100644
--- a/keyboards/ramonimbao/tkl_ff/config.h
+++ b/keyboards/ramonimbao/tkl_ff/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x00FF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT TKL FF
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/ramonimbao/tkl_ff/info.json b/keyboards/ramonimbao/tkl_ff/info.json
index fd71d3f9909b..a3a22e34d8d2 100644
--- a/keyboards/ramonimbao/tkl_ff/info.json
+++ b/keyboards/ramonimbao/tkl_ff/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "TKL FF",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/tkl_ff/rules.mk b/keyboards/ramonimbao/tkl_ff/rules.mk
index 1275531ef6d6..36c8b4137b31 100644
--- a/keyboards/ramonimbao/tkl_ff/rules.mk
+++ b/keyboards/ramonimbao/tkl_ff/rules.mk
@@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+
+DEFAULT_FOLDER = ramonimbao/tkl_ff/v1
diff --git a/keyboards/ramonimbao/tkl_ff/v1/info.json b/keyboards/ramonimbao/tkl_ff/v1/info.json
new file mode 100644
index 000000000000..3370446f2d1f
--- /dev/null
+++ b/keyboards/ramonimbao/tkl_ff/v1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x00FF"
+ }
+}
diff --git a/keyboards/ramonimbao/tkl_ff/v1/rules.mk b/keyboards/ramonimbao/tkl_ff/v1/rules.mk
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/keyboards/ramonimbao/tkl_ff/v2/config.h b/keyboards/ramonimbao/tkl_ff/v2/config.h
index a35d1bc59978..906f38813a43 100644
--- a/keyboards/ramonimbao/tkl_ff/v2/config.h
+++ b/keyboards/ramonimbao/tkl_ff/v2/config.h
@@ -17,9 +17,6 @@
#include "config_common.h"
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x10FF
-
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/ramonimbao/tkl_ff/v2/info.json b/keyboards/ramonimbao/tkl_ff/v2/info.json
new file mode 100644
index 000000000000..ed70ec408cf9
--- /dev/null
+++ b/keyboards/ramonimbao/tkl_ff/v2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x10FF"
+ }
+}
diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
index 1bc8eb7fdf86..655c6898a056 100644
--- a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
+++ b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4446
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Ratio65 Rev A HotSwap
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/rationalist/ratio65_hotswap/info.json b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json
similarity index 92%
rename from keyboards/rationalist/ratio65_hotswap/info.json
rename to keyboards/rationalist/ratio65_hotswap/rev_a/info.json
index 709e929fa01e..8616062b726a 100644
--- a/keyboards/rationalist/ratio65_hotswap/info.json
+++ b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Ratio65_HotSwap",
+ "keyboard_name": "Ratio65 Hotswap Rev A",
+ "manufacturer": "4pplet",
"url": "",
"maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4446",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Delete", "x":15, "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":"Insert", "x":15, "y":1}, {"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":"PgUp", "x":15, "y":2}, {"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":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/rationalist/ratio65_solder/rev_a/config.h b/keyboards/rationalist/ratio65_solder/rev_a/config.h
index 824ebd3cb7b7..9a4a6d135751 100644
--- a/keyboards/rationalist/ratio65_solder/rev_a/config.h
+++ b/keyboards/rationalist/ratio65_solder/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4446
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Ratio65 Rev A Solder
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/rationalist/ratio65_solder/info.json b/keyboards/rationalist/ratio65_solder/rev_a/info.json
similarity index 93%
rename from keyboards/rationalist/ratio65_solder/info.json
rename to keyboards/rationalist/ratio65_solder/rev_a/info.json
index e083099bde32..ec846e517c69 100644
--- a/keyboards/rationalist/ratio65_solder/info.json
+++ b/keyboards/rationalist/ratio65_solder/rev_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Ratio65_Solder",
+ "keyboard_name": "Ratio65 Solder Rev A",
+ "manufacturer": "4pplet",
"url": "",
"maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4446",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Del", "x":15, "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":"Insert", "x":15, "y":1}, {"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":"Nuhs", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"Nubs", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/redox/rev1/base/info.json b/keyboards/redox/rev1/base/info.json
new file mode 100644
index 000000000000..ad889c23048c
--- /dev/null
+++ b/keyboards/redox/rev1/base/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/redox/rev1/base/rules.mk b/keyboards/redox/rev1/base/rules.mk
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/keyboards/redox/rev1/config.h b/keyboards/redox/rev1/config.h
index 95c4e3cbbf8c..72874b66f544 100644
--- a/keyboards/redox/rev1/config.h
+++ b/keyboards/redox/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D44 // "MD"
-#define PRODUCT_ID 0x5244 // "RD"
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Falbatech
-#define PRODUCT The Redox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/redox/info.json b/keyboards/redox/rev1/info.json
similarity index 96%
rename from keyboards/redox/info.json
rename to keyboards/redox/rev1/info.json
index e404d195e452..bceac88bb086 100644
--- a/keyboards/redox/info.json
+++ b/keyboards/redox/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Redox",
+ "manufacturer": "Falbatech",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D44",
+ "pid": "0x5244",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/redox/rev1/proton_c/config.h b/keyboards/redox/rev1/proton_c/config.h
index eec50ab87996..56cdb8812617 100644
--- a/keyboards/redox/rev1/proton_c/config.h
+++ b/keyboards/redox/rev1/proton_c/config.h
@@ -5,10 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#undef DEVICE_VER
-#define DEVICE_VER 0x0101 // added 1 for the rev1 + proton c
-
// wiring of each half
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS { B5, B3, B2, B1, B0 }
diff --git a/keyboards/redox/rev1/proton_c/info.json b/keyboards/redox/rev1/proton_c/info.json
new file mode 100644
index 000000000000..62a27157ad5c
--- /dev/null
+++ b/keyboards/redox/rev1/proton_c/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.1"
+ }
+}
diff --git a/keyboards/redox/rev1/rules.mk b/keyboards/redox/rev1/rules.mk
index e69de29bb2d1..c971da1680bc 100644
--- a/keyboards/redox/rev1/rules.mk
+++ b/keyboards/redox/rev1/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = redox/rev1/base
diff --git a/keyboards/redox/rules.mk b/keyboards/redox/rules.mk
index 1ce6f56efebc..181027c417c6 100644
--- a/keyboards/redox/rules.mk
+++ b/keyboards/redox/rules.mk
@@ -19,7 +19,7 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SPLIT_KEYBOARD = yes
-DEFAULT_FOLDER = redox/rev1
+DEFAULT_FOLDER = redox/rev1/base
# Disable unsupported hardware
AUDIO_SUPPORTED = no
diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h
index de658eb93c22..0c39127af544 100644
--- a/keyboards/rgbkb/mun/config.h
+++ b/keyboards/rgbkb/mun/config.h
@@ -11,12 +11,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3535
-#define PRODUCT_ID 0x3505
-#define MANUFACTURER RGBKB
-#define PRODUCT Mün
-
/* Matrix Configuration - Rows are doubled up */
#define MATRIX_ROWS 14
// Last pins reserved for encoder / touch encoder support
diff --git a/keyboards/rgbkb/mun/rev1/config.h b/keyboards/rgbkb/mun/rev1/config.h
deleted file mode 100644
index 7ff0b54903ee..000000000000
--- a/keyboards/rgbkb/mun/rev1/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * wrote this file. As long as you retain this
- * notice you can do whatever you want with this stuff. If we meet some day, and
- * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
- * ----------------------------------------------------------------------------
- */
-
-#pragma once
-
-#define DEVICE_VER 0x0001
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
index 72cd7be9f0a2..8b16bd4542b4 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mun",
+ "keyboard_name": "Mün",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/products/mun",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0x3535",
+ "pid": "0x3505",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h
index 43c534ca929f..5b6ca7e87639 100644
--- a/keyboards/rgbkb/pan/config.h
+++ b/keyboards/rgbkb/pan/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see .
#include "config_common.h"
-#define VENDOR_ID 0x5247 // "RG" - RGBKB
-#define PRODUCT_ID 0x8C9C // Pan
-#define DEVICE_VER 0x0002
-#define MANUFACTURER RGBKB
-#define PRODUCT Pan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json
index 54ac24a3a4b3..524eec0da879 100644
--- a/keyboards/rgbkb/pan/info.json
+++ b/keyboards/rgbkb/pan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RGBKB Pan",
+ "keyboard_name": "Pan",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/collections/all/products/pan-keyboard-diy-kit",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0x5247",
+ "pid": "0x8C9C",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h
index 14518a755d13..3e08848f6b30 100644
--- a/keyboards/rgbkb/sol/rev1/config.h
+++ b/keyboards/rgbkb/sol/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see .
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B3
diff --git a/keyboards/rgbkb/sol/rev1/info.json b/keyboards/rgbkb/sol/rev1/info.json
index 33e6625fe47e..2a611f7a6ac2 100644
--- a/keyboards/rgbkb/sol/rev1/info.json
+++ b/keyboards/rgbkb/sol/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sol",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index f0c71db34ed8..cdaf9c05360a 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see .
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B7
diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json
index 33e6625fe47e..bd1bba3d7276 100644
--- a/keyboards/rgbkb/sol/rev2/info.json
+++ b/keyboards/rgbkb/sol/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sol",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h
index 92db3def6bb8..20435a159a91 100644
--- a/keyboards/rgbkb/sol3/config.h
+++ b/keyboards/rgbkb/sol3/config.h
@@ -11,12 +11,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3535
-#define PRODUCT_ID 0x3510
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol 3
-
/* Matrix Configuration - Rows are doubled up */
#define MATRIX_ROWS 12
// Last pins reserved for encoder / touch encoder support
diff --git a/keyboards/rgbkb/sol3/rev1/config.h b/keyboards/rgbkb/sol3/rev1/config.h
deleted file mode 100644
index 7ff0b54903ee..000000000000
--- a/keyboards/rgbkb/sol3/rev1/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * wrote this file. As long as you retain this
- * notice you can do whatever you want with this stuff. If we meet some day, and
- * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
- * ----------------------------------------------------------------------------
- */
-
-#pragma once
-
-#define DEVICE_VER 0x0001
diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index 7003726b7f2c..b8a8e5015ace 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Sol 3 rev1",
+ "keyboard_name": "Sol 3",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "XScorpion2, rgbkb",
+ "usb": {
+ "vid": "0x3535",
+ "pid": "0x3510",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/zen/rev1/config.h b/keyboards/rgbkb/zen/rev1/config.h
index 31bfe2bcbe35..e1d1212bbc3c 100644
--- a/keyboards/rgbkb/zen/rev1/config.h
+++ b/keyboards/rgbkb/zen/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Legonut
-#define PRODUCT Project Zen
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/rgbkb/zen/rev1/info.json b/keyboards/rgbkb/zen/rev1/info.json
index 2a78ba02973c..cdd6497139d7 100644
--- a/keyboards/rgbkb/zen/rev1/info.json
+++ b/keyboards/rgbkb/zen/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Zen",
+ "keyboard_name": "Project Zen",
+ "manufacturer": "Legonut",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0.5, "y":0}, {"label":"k01", "x":1.5, "y":0}, {"label":"k02", "x":2.5, "y":0}, {"label":"k03", "x":3.5, "y":0}, {"label":"k04", "x":4.5, "y":0}, {"label":"k05", "x":5.5, "y":0}, {"label":"k55", "x":10.5, "y":0}, {"label":"k54", "x":11.5, "y":0}, {"label":"k53", "x":12.5, "y":0}, {"label":"k52", "x":13.5, "y":0}, {"label":"k51", "x":14.5, "y":0}, {"label":"k50", "x":15.5, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k65", "x":10.5, "y":1}, {"label":"k64", "x":11.5, "y":1}, {"label":"k63", "x":12.5, "y":1}, {"label":"k62", "x":13.5, "y":1}, {"label":"k61", "x":14.5, "y":1}, {"label":"k60", "x":15.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.5}, {"label":"k21", "x":1.5, "y":2}, {"label":"k22", "x":2.5, "y":2}, {"label":"k23", "x":3.5, "y":2}, {"label":"k24", "x":4.5, "y":2}, {"label":"k25", "x":5.5, "y":2}, {"label":"k75", "x":10.5, "y":2}, {"label":"k74", "x":11.5, "y":2}, {"label":"k73", "x":12.5, "y":2}, {"label":"k72", "x":13.5, "y":2}, {"label":"k71", "x":14.5, "y":2}, {"label":"k70", "x":15.5, "y":2, "w":1.5}, {"label":"k30", "x":0, "y":3, "w":1.5}, {"label":"k31", "x":1.5, "y":3}, {"label":"k32", "x":2.5, "y":3}, {"label":"k33", "x":3.5, "y":3}, {"label":"k34", "x":4.5, "y":3}, {"label":"k35", "x":5.5, "y":3}, {"label":"k85", "x":10.5, "y":3}, {"label":"k84", "x":11.5, "y":3}, {"label":"k83", "x":12.5, "y":3}, {"label":"k82", "x":13.5, "y":3}, {"label":"k81", "x":14.5, "y":3}, {"label":"k80", "x":15.5, "y":3, "w":1.5}, {"label":"k40", "x":0, "y":4, "w":1.5}, {"label":"k41", "x":1.5, "y":4}, {"label":"k42", "x":2.5, "y":4}, {"label":"k43", "x":3.5, "y":4}, {"label":"k44", "x":4.5, "y":4}, {"label":"k45", "x":6, "y":4.5, "h":2}, {"label":"k46", "x":7, "y":4.5, "h":2}, {"label":"k96", "x":9, "y":4.5, "h":2}, {"label":"k95", "x":10, "y":4.5, "h":2}, {"label":"k94", "x":11.5, "y":4}, {"label":"k93", "x":12.5, "y":4}, {"label":"k92", "x":13.5, "y":4}, {"label":"k91", "x":14.5, "y":4}, {"label":"k90", "x":15.5, "y":4, "w":1.5}]
diff --git a/keyboards/rgbkb/zen/rev2/config.h b/keyboards/rgbkb/zen/rev2/config.h
index 93c1b3f2003f..685577b6c7e9 100644
--- a/keyboards/rgbkb/zen/rev2/config.h
+++ b/keyboards/rgbkb/zen/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3061
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Legonut
-#define PRODUCT "Project Zen"
-
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/rgbkb/zen/rev2/info.json b/keyboards/rgbkb/zen/rev2/info.json
index 53baefe22d20..3c80032407f1 100644
--- a/keyboards/rgbkb/zen/rev2/info.json
+++ b/keyboards/rgbkb/zen/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Zen",
+ "keyboard_name": "Project Zen",
+ "manufacturer": "Legonut",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3061",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h
index 19fd28d2ecef..3835a3e70537 100644
--- a/keyboards/rgbkb/zygomorph/rev1/config.h
+++ b/keyboards/rgbkb/zygomorph/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see .
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RGBKB
-#define PRODUCT Zygomorph
-
/* Select hand configuration */
#define EE_HANDS
diff --git a/keyboards/rgbkb/zygomorph/rev1/info.json b/keyboards/rgbkb/zygomorph/rev1/info.json
index ef8db5d02a87..50155da2405c 100644
--- a/keyboards/rgbkb/zygomorph/rev1/info.json
+++ b/keyboards/rgbkb/zygomorph/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zygomorph",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/pages/introducing-the-zygomorph-keyboard",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"label":"`", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":7, "y":0}, {"label":"7", "x":8, "y":0}, {"label":"8", "x":9, "y":0}, {"label":"9", "x":10, "y":0}, {"label":"0", "x":11, "y":0}, {"label":"BKSP", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"Q", "x":1, "y":1}, {"label":"W", "x":2, "y":1}, {"label":"E", "x":3, "y":1}, {"label":"R", "x":4, "y":1}, {"label":"T", "x":5, "y":1}, {"label":"Y", "x":7, "y":1}, {"label":"U", "x":8, "y":1}, {"label":"I", "x":9, "y":1}, {"label":"O", "x":10, "y":1}, {"label":"P", "x":11, "y":1}, {"label":"\\|", "x":12, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":";:", "x":11, "y":2}, {"label":"'\"", "x":12, "y":2}, {"label":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":",<", "x":9, "y":3}, {"label":".>", "x":10, "y":3}, {"label":"/?", "x":11, "y":3}, {"label":"Enter", "x":12, "y":3}, {"label":"Ctrl", "x":0, "y":4}, {"label":"Alt", "x":1, "y":4}, {"label":"Super", "x":2, "y":4}, {"label":"RGB", "x":3, "y":4}, {"label":"⇓", "x":4, "y":4}, {"x":5, "y":4}, {"x":7, "y":4}, {"label":"FN", "x":8, "y":4}, {"label":"Left", "x":9, "y":4}, {"label":"Down", "x":10, "y":4}, {"label":"Up", "x":11, "y":4}, {"label":"Right", "x":12, "y":4}]