From 835c971f78b5d995bb58f0889fac00aac348de52 Mon Sep 17 00:00:00 2001
From: Ryan <fauxpark@gmail.com>
Date: Sat, 20 Aug 2022 10:39:35 +1000
Subject: [PATCH] Move keyboard USB IDs and strings to data driven, pass 2: J-L
 (#18080)

---
 keyboards/jadookb/jkb65/config.h              |  9 --------
 keyboards/jadookb/jkb65/info.json             |  6 +++++-
 keyboards/jadookb/jkb65/r1/config.h           | 20 ++++++++++++++++++
 keyboards/jadookb/jkb65/r1/info.json          |  6 ++++++
 keyboards/jadookb/jkb65/r1/rules.mk           |  0
 keyboards/jadookb/jkb65/r2/config.h           |  9 +-------
 keyboards/jadookb/jkb65/r2/info.json          |  6 ++++++
 keyboards/jadookb/jkb65/r2/rules.mk           |  0
 keyboards/jadookb/jkb65/rules.mk              |  2 ++
 keyboards/jian/handwired/config.h             |  7 -------
 keyboards/jian/handwired/info.json            |  6 ++++++
 keyboards/jian/info.json                      |  6 +++++-
 keyboards/jian/nsrev2/config.h                |  7 -------
 keyboards/jian/nsrev2/info.json               |  6 ++++++
 keyboards/jian/rev1/config.h                  |  7 -------
 keyboards/jian/rev1/info.json                 |  6 ++++++
 keyboards/jian/rev2/config.h                  |  7 -------
 keyboards/jian/rev2/info.json                 |  6 ++++++
 keyboards/jorne/rev1/config.h                 |  8 -------
 keyboards/jorne/{ => rev1}/info.json          |  6 ++++++
 keyboards/kakunpc/angel17/alpha/config.h      |  7 -------
 keyboards/kakunpc/angel17/info.json           |  6 ++++++
 keyboards/kakunpc/angel17/rev1/config.h       |  7 -------
 .../kakunpc/suihankey/split/alpha/config.h    |  7 -------
 keyboards/kakunpc/suihankey/split/info.json   |  8 ++++++-
 .../kakunpc/suihankey/split/rev1/config.h     |  7 -------
 keyboards/kapcave/paladinpad/config.h         |  6 ------
 keyboards/kapcave/paladinpad/info.json        |  5 +++++
 keyboards/kapcave/paladinpad/rev1/info.json   |  5 +++++
 keyboards/kapcave/paladinpad/rev2/info.json   |  5 +++++
 keyboards/kapl/rev1/config.h                  |  8 -------
 keyboards/kapl/{ => rev1}/info.json           |  6 ++++++
 keyboards/kbdfans/kbd67/mkiirgb/info.json     |  5 ++++-
 keyboards/kbdfans/kbd67/mkiirgb/v1/config.h   |  5 -----
 keyboards/kbdfans/kbd67/mkiirgb/v1/info.json  |  7 +++++++
 keyboards/kbdfans/kbd67/mkiirgb/v2/config.h   |  5 -----
 keyboards/kbdfans/kbd67/mkiirgb/v2/info.json  |  7 +++++++
 keyboards/kbdfans/kbd67/mkiirgb/v3/config.h   |  7 -------
 keyboards/kbdfans/kbd67/mkiirgb/v3/info.json  |  7 +++++++
 keyboards/kbdfans/kbd67/mkiirgb/v4/config.h   |  7 -------
 keyboards/kbdfans/kbd67/mkiirgb/v4/info.json  |  7 +++++++
 keyboards/kbdfans/kbd75/config.h              |  5 -----
 keyboards/kbdfans/kbd75/rev1/config.h         |  7 -------
 keyboards/kbdfans/kbd75/rev1/info.json        |  6 ++++++
 keyboards/kbdfans/kbd75/rev2/config.h         |  7 -------
 keyboards/kbdfans/kbd75/rev2/info.json        |  6 ++++++
 keyboards/kbdfans/kbd75rgb/config.h           |  7 -------
 keyboards/kbdfans/kbd75rgb/info.json          | 11 ++++++++++
 keyboards/kbnordic/nordic60/rev_a/config.h    |  7 -------
 .../kbnordic/nordic60/{ => rev_a}/info.json   |  6 ++++++
 keyboards/keebio/bdn9/info.json               |  5 ++++-
 keyboards/keebio/bdn9/rev1/config.h           |  7 -------
 keyboards/keebio/bdn9/rev1/info.json          |  7 +++++++
 keyboards/keebio/bdn9/rev2/config.h           |  7 -------
 keyboards/keebio/bdn9/rev2/info.json          |  7 +++++++
 keyboards/keebio/dsp40/rev1/config.h          |  7 -------
 keyboards/keebio/dsp40/{ => rev1}/info.json   |  8 ++++++-
 keyboards/keebio/foldkb/rev1/config.h         |  7 -------
 keyboards/keebio/foldkb/{ => rev1}/info.json  |  8 ++++++-
 keyboards/keebio/iris/info.json               |  5 ++++-
 keyboards/keebio/iris/rev1/config.h           |  7 -------
 keyboards/keebio/iris/rev1/info.json          |  7 +++++++
 keyboards/keebio/iris/rev1_led/config.h       |  7 -------
 keyboards/keebio/iris/rev1_led/info.json      |  7 +++++++
 keyboards/keebio/iris/rev2/config.h           |  7 -------
 keyboards/keebio/iris/rev2/info.json          |  7 +++++++
 keyboards/keebio/iris/rev3/config.h           |  7 -------
 keyboards/keebio/iris/rev3/info.json          |  7 +++++++
 keyboards/keebio/iris/rev4/config.h           |  7 -------
 keyboards/keebio/iris/rev4/info.json          |  7 +++++++
 keyboards/keebio/iris/rev5/config.h           |  7 -------
 keyboards/keebio/iris/rev5/info.json          |  7 +++++++
 keyboards/keebio/iris/rev6/config.h           |  7 -------
 keyboards/keebio/iris/rev6/info.json          |  7 +++++++
 keyboards/keebio/iris/rev6a/config.h          |  7 -------
 keyboards/keebio/iris/rev6a/info.json         |  7 +++++++
 keyboards/keebio/iris/rev7/config.h           |  7 -------
 keyboards/keebio/iris/rev7/info.json          |  7 +++++++
 keyboards/keebio/kbo5000/rev1/config.h        |  7 -------
 keyboards/keebio/kbo5000/{ => rev1}/info.json |  8 ++++++-
 keyboards/keebio/levinson/info.json           |  4 ++++
 keyboards/keebio/levinson/rev1/config.h       |  7 -------
 keyboards/keebio/levinson/rev1/info.json      |  7 +++++++
 keyboards/keebio/levinson/rev2/config.h       |  7 -------
 keyboards/keebio/levinson/rev2/info.json      |  7 +++++++
 keyboards/keebio/levinson/rev3/config.h       |  7 -------
 keyboards/keebio/levinson/rev3/info.json      |  7 +++++++
 keyboards/keebio/nyquist/info.json            |  5 ++++-
 keyboards/keebio/nyquist/rev1/config.h        |  7 -------
 keyboards/keebio/nyquist/rev1/info.json       |  7 +++++++
 keyboards/keebio/nyquist/rev2/config.h        |  7 -------
 keyboards/keebio/nyquist/rev2/info.json       |  7 +++++++
 keyboards/keebio/nyquist/rev3/config.h        |  7 -------
 keyboards/keebio/nyquist/rev3/info.json       |  7 +++++++
 keyboards/keebio/rorschach/rev1/config.h      |  7 -------
 .../keebio/rorschach/{ => rev1}/info.json     |  8 ++++++-
 keyboards/keebio/sinc/info.json               |  5 ++++-
 keyboards/keebio/sinc/rev1/config.h           |  7 -------
 keyboards/keebio/sinc/rev1/info.json          |  7 +++++++
 keyboards/keebio/sinc/rev2/config.h           |  7 -------
 keyboards/keebio/sinc/rev2/info.json          |  7 +++++++
 keyboards/keebio/viterbi/info.json            |  5 ++++-
 keyboards/keebio/viterbi/rev1/config.h        |  7 -------
 keyboards/keebio/viterbi/rev1/info.json       |  7 +++++++
 keyboards/keebio/viterbi/rev2/config.h        |  7 -------
 keyboards/keebio/viterbi/rev2/info.json       |  7 +++++++
 keyboards/keycapsss/kimiko/kimiko.h           | 21 -------------------
 keyboards/keycapsss/kimiko/rev1/config.h      |  7 -------
 .../keycapsss/kimiko/{ => rev1}/info.json     |  6 ++++++
 keyboards/keycapsss/plaid_pad/config.h        |  5 -----
 keyboards/keycapsss/plaid_pad/info.json       |  6 +++++-
 keyboards/keycapsss/plaid_pad/rev1/config.h   |  3 ---
 keyboards/keycapsss/plaid_pad/rev1/info.json  |  6 ++++++
 keyboards/keycapsss/plaid_pad/rev2/config.h   |  3 ---
 keyboards/keycapsss/plaid_pad/rev2/info.json  |  6 ++++++
 keyboards/keycapsss/plaid_pad/rev3/config.h   |  3 ---
 keyboards/keycapsss/plaid_pad/rev3/info.json  |  6 ++++++
 keyboards/keychron/q1/config.h                |  5 -----
 keyboards/keychron/q1/rev_0100/config.h       |  5 -----
 keyboards/keychron/q1/rev_0100/info.json      |  8 ++++++-
 keyboards/keychron/q1/rev_0101/config.h       |  4 ----
 keyboards/keychron/q1/rev_0101/info.json      |  8 ++++++-
 keyboards/keychron/q1/rev_0102/config.h       |  5 -----
 keyboards/keychron/q1/rev_0102/info.json      |  8 ++++++-
 keyboards/keychron/q2/config.h                |  5 -----
 keyboards/keychron/q2/rev_0110/config.h       |  4 ----
 keyboards/keychron/q2/rev_0110/info.json      |  8 ++++++-
 keyboards/keychron/q2/rev_0111/config.h       |  4 ----
 keyboards/keychron/q2/rev_0111/info.json      |  8 ++++++-
 keyboards/keychron/q2/rev_0112/config.h       |  4 ----
 keyboards/keychron/q2/rev_0112/info.json      |  8 ++++++-
 keyboards/keychron/q2/rev_0113/config.h       |  4 ----
 keyboards/keychron/q2/rev_0113/info.json      |  8 ++++++-
 keyboards/keyhive/navi10/info.json            |  5 +++++
 keyboards/keyhive/navi10/rev0/config.h        |  7 -------
 keyboards/keyhive/navi10/rev0/info.json       |  5 +++++
 keyboards/keyhive/navi10/rev2/config.h        |  7 -------
 keyboards/keyhive/navi10/rev2/info.json       |  5 +++++
 keyboards/keyhive/navi10/rev3/config.h        |  7 -------
 keyboards/keyhive/navi10/rev3/info.json       |  5 +++++
 keyboards/keyhive/uno/info.json               |  6 +++++-
 keyboards/keyhive/uno/rev1/config.h           |  7 -------
 keyboards/keyhive/uno/rev1/info.json          |  6 ++++++
 keyboards/keyhive/uno/rev2/config.h           |  7 -------
 keyboards/keyhive/uno/rev2/info.json          |  6 ++++++
 keyboards/kinesis/alvicstep/config.h          |  4 ----
 keyboards/kinesis/alvicstep/info.json         |  9 ++++++++
 keyboards/kinesis/config.h                    |  5 -----
 keyboards/kinesis/info.json                   |  1 -
 keyboards/kinesis/kint2pp/config.h            |  4 ----
 keyboards/kinesis/kint2pp/info.json           |  9 ++++++++
 keyboards/kinesis/kint36/config.h             | 12 -----------
 keyboards/kinesis/kint36/info.json            |  9 ++++++++
 keyboards/kinesis/kint41/config.h             | 12 -----------
 keyboards/kinesis/kint41/info.json            |  9 ++++++++
 keyboards/kinesis/kintlc/config.h             | 12 -----------
 keyboards/kinesis/kintlc/info.json            |  9 ++++++++
 keyboards/kinesis/nguyenvietyen/config.h      |  4 ----
 keyboards/kinesis/nguyenvietyen/info.json     |  9 ++++++++
 keyboards/kinesis/stapelberg/config.h         |  4 ----
 keyboards/kinesis/stapelberg/info.json        |  9 ++++++++
 keyboards/kingly_keys/ave/config.h            |  7 -------
 keyboards/kingly_keys/ave/ortho/info.json     |  8 ++++++-
 keyboards/kingly_keys/ave/staggered/info.json |  8 ++++++-
 keyboards/kudox_game/info.json                |  7 ++++++-
 keyboards/kudox_game/rev1/config.h            |  7 -------
 keyboards/kudox_game/rev1/info.json           |  5 +++++
 keyboards/kudox_game/rev2/config.h            |  7 -------
 keyboards/kudox_game/rev2/info.json           |  5 +++++
 keyboards/late9/config.h                      |  6 ------
 keyboards/late9/rev1/config.h                 |  3 ---
 keyboards/late9/rev1/info.json                |  7 ++++++-
 keyboards/lazydesigners/dimple/config.h       |  7 -------
 .../lazydesigners/dimple/ortho/info.json      |  6 ++++++
 .../lazydesigners/dimple/staggered/info.json  |  6 ++++++
 keyboards/lets_split/info.json                |  1 -
 keyboards/lets_split/rev1/config.h            |  7 -------
 keyboards/lets_split/rev1/info.json           |  9 ++++++++
 keyboards/lets_split/rev2/config.h            |  7 -------
 keyboards/lets_split/rev2/info.json           |  9 ++++++++
 keyboards/lets_split/sockets/config.h         |  7 -------
 keyboards/lets_split/sockets/info.json        |  9 ++++++++
 keyboards/lfkeyboards/smk65/info.json         |  7 ++++++-
 keyboards/lfkeyboards/smk65/revb/config.h     |  7 -------
 keyboards/lfkeyboards/smk65/revb/info.json    |  5 +++++
 keyboards/lfkeyboards/smk65/revf/config.h     |  7 -------
 keyboards/lfkeyboards/smk65/revf/info.json    |  5 +++++
 187 files changed, 638 insertions(+), 602 deletions(-)
 create mode 100644 keyboards/jadookb/jkb65/r1/config.h
 create mode 100644 keyboards/jadookb/jkb65/r1/info.json
 create mode 100644 keyboards/jadookb/jkb65/r1/rules.mk
 create mode 100644 keyboards/jadookb/jkb65/r2/info.json
 create mode 100644 keyboards/jadookb/jkb65/r2/rules.mk
 create mode 100644 keyboards/jian/handwired/info.json
 create mode 100644 keyboards/jian/nsrev2/info.json
 create mode 100644 keyboards/jian/rev1/info.json
 create mode 100644 keyboards/jian/rev2/info.json
 rename keyboards/jorne/{ => rev1}/info.json (97%)
 create mode 100644 keyboards/kapcave/paladinpad/rev1/info.json
 create mode 100644 keyboards/kapcave/paladinpad/rev2/info.json
 rename keyboards/kapl/{ => rev1}/info.json (96%)
 create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
 create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
 create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
 create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
 delete mode 100644 keyboards/kbdfans/kbd75/rev1/config.h
 delete mode 100644 keyboards/kbdfans/kbd75/rev2/config.h
 create mode 100644 keyboards/kbdfans/kbd75rgb/info.json
 rename keyboards/kbnordic/nordic60/{ => rev_a}/info.json (99%)
 create mode 100644 keyboards/keebio/bdn9/rev1/info.json
 create mode 100644 keyboards/keebio/bdn9/rev2/info.json
 rename keyboards/keebio/dsp40/{ => rev1}/info.json (96%)
 rename keyboards/keebio/foldkb/{ => rev1}/info.json (95%)
 create mode 100644 keyboards/keebio/iris/rev1/info.json
 create mode 100644 keyboards/keebio/iris/rev1_led/info.json
 create mode 100644 keyboards/keebio/iris/rev2/info.json
 create mode 100644 keyboards/keebio/iris/rev3/info.json
 create mode 100644 keyboards/keebio/iris/rev4/info.json
 create mode 100644 keyboards/keebio/iris/rev5/info.json
 create mode 100644 keyboards/keebio/iris/rev6/info.json
 create mode 100644 keyboards/keebio/iris/rev6a/info.json
 create mode 100644 keyboards/keebio/iris/rev7/info.json
 rename keyboards/keebio/kbo5000/{ => rev1}/info.json (98%)
 create mode 100644 keyboards/keebio/levinson/rev1/info.json
 create mode 100644 keyboards/keebio/levinson/rev2/info.json
 create mode 100644 keyboards/keebio/levinson/rev3/info.json
 create mode 100644 keyboards/keebio/nyquist/rev1/info.json
 create mode 100644 keyboards/keebio/nyquist/rev2/info.json
 create mode 100644 keyboards/keebio/nyquist/rev3/info.json
 rename keyboards/keebio/rorschach/{ => rev1}/info.json (92%)
 create mode 100644 keyboards/keebio/sinc/rev1/info.json
 create mode 100644 keyboards/keebio/sinc/rev2/info.json
 create mode 100644 keyboards/keebio/viterbi/rev1/info.json
 create mode 100644 keyboards/keebio/viterbi/rev2/info.json
 rename keyboards/keycapsss/kimiko/{ => rev1}/info.json (94%)
 create mode 100644 keyboards/keycapsss/plaid_pad/rev1/info.json
 create mode 100644 keyboards/keycapsss/plaid_pad/rev2/info.json
 create mode 100644 keyboards/keycapsss/plaid_pad/rev3/info.json
 create mode 100644 keyboards/keyhive/navi10/rev0/info.json
 create mode 100644 keyboards/keyhive/navi10/rev2/info.json
 create mode 100644 keyboards/keyhive/navi10/rev3/info.json
 create mode 100644 keyboards/keyhive/uno/rev1/info.json
 create mode 100644 keyboards/keyhive/uno/rev2/info.json
 create mode 100644 keyboards/kinesis/alvicstep/info.json
 create mode 100644 keyboards/kinesis/kint2pp/info.json
 create mode 100644 keyboards/kinesis/kint36/info.json
 create mode 100644 keyboards/kinesis/kint41/info.json
 create mode 100644 keyboards/kinesis/kintlc/info.json
 create mode 100644 keyboards/kinesis/nguyenvietyen/info.json
 create mode 100644 keyboards/kinesis/stapelberg/info.json
 create mode 100644 keyboards/kudox_game/rev1/info.json
 create mode 100644 keyboards/kudox_game/rev2/info.json
 create mode 100644 keyboards/lets_split/rev1/info.json
 create mode 100644 keyboards/lets_split/rev2/info.json
 create mode 100644 keyboards/lets_split/sockets/info.json
 create mode 100644 keyboards/lfkeyboards/smk65/revb/info.json
 create mode 100644 keyboards/lfkeyboards/smk65/revf/info.json

diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h
index dae3cea49a..f7d09267fe 100644
--- a/keyboards/jadookb/jkb65/config.h
+++ b/keyboards/jadookb/jkb65/config.h
@@ -18,18 +18,9 @@
 
 #include "config_common.h"
 
-#define VENDOR_ID    0x4A4B
-#define PRODUCT_ID   0xEF6A
-#define DEVICE_VER   0x0001
-#define MANUFACTURER JadooKB
-#define PRODUCT      JKB65 RGB
-
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
 
-#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
-#define MATRIX_COL_PINS { F6,B1,F1,C7,C6,B6,B5,B4,D7,B3,D4,D5,D3,D2,D1,D0 }
-
 #define UNUSED_PINS
 
 #define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index 8bb0ab7524..394b53027a 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "jkb65",
+    "manufacturer": "JadooKB",
     "url": "https://jadookb.com/",
     "maintainer": "Wizard-GG",
+    "usb": {
+        "vid": "0x4A4B",
+        "pid": "0xEF6A"
+    },
     "layouts": {
         "LAYOUT_67_ansi": {
             "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":"~", "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":"Delete", "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":"Fn", "x":10, "y":4, "w":1.25}, {"label":"Menu", "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/jadookb/jkb65/r1/config.h b/keyboards/jadookb/jkb65/r1/config.h
new file mode 100644
index 0000000000..78f13414c9
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r1/config.h
@@ -0,0 +1,20 @@
+ /* Copyright 2022 Wizad-GG
+  *
+  * 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 <http://www.gnu.org/licenses/>.
+  */
+  
+#pragma once
+
+#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
+#define MATRIX_COL_PINS { F6,B1,F1,C7,C6,B6,B5,B4,D7,B3,D4,D5,D3,D2,D1,D0 }
\ No newline at end of file
diff --git a/keyboards/jadookb/jkb65/r1/info.json b/keyboards/jadookb/jkb65/r1/info.json
new file mode 100644
index 0000000000..4bfe3aa763
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "JKB65 RGB R1",
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/jadookb/jkb65/r1/rules.mk b/keyboards/jadookb/jkb65/r1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/jadookb/jkb65/r2/config.h b/keyboards/jadookb/jkb65/r2/config.h
index a0039001a8..5db93f75cb 100644
--- a/keyboards/jadookb/jkb65/r2/config.h
+++ b/keyboards/jadookb/jkb65/r2/config.h
@@ -16,12 +16,5 @@
   
 #pragma once
 
-#undef DEVICE_VER
-#define DEVICE_VER   0x0002
-
-#undef PRODUCT
-#define PRODUCT      JKB65 RGB R2
-
-
-#undef MATRIX_COL_PINS
+#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
 #define MATRIX_COL_PINS { F6,B0,F1,C7,C6,B6,B5,B4,D7,D6,D4,D5,D3,D2,D1,D0 }
\ No newline at end of file
diff --git a/keyboards/jadookb/jkb65/r2/info.json b/keyboards/jadookb/jkb65/r2/info.json
new file mode 100644
index 0000000000..8a23a21d5f
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "JKB65 RGB R2",
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/jadookb/jkb65/r2/rules.mk b/keyboards/jadookb/jkb65/r2/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/jadookb/jkb65/rules.mk b/keyboards/jadookb/jkb65/rules.mk
index 239ea39a74..f230e8ae9f 100644
--- a/keyboards/jadookb/jkb65/rules.mk
+++ b/keyboards/jadookb/jkb65/rules.mk
@@ -19,3 +19,5 @@ AUDIO_ENABLE = no           # Audio output
 RGB_MATRIX_ENABLE = yes
 RGB_MATRIX_DRIVER = WS2812
 LTO_ENABLE = yes
+
+DEFAULT_FOLDER = jadookb/jkb65/r1
diff --git a/keyboards/jian/handwired/config.h b/keyboards/jian/handwired/config.h
index ebcda62f44..055568b06c 100644
--- a/keyboards/jian/handwired/config.h
+++ b/keyboards/jian/handwired/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       0xC0DE
-#define PRODUCT_ID      0x1337
-#define DEVICE_VER      0x0010
-#define MANUFACTURER    KgOfHedgehogs
-#define PRODUCT         Huma
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 4
diff --git a/keyboards/jian/handwired/info.json b/keyboards/jian/handwired/info.json
new file mode 100644
index 0000000000..120c6c4a24
--- /dev/null
+++ b/keyboards/jian/handwired/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Huma",
+    "usb": {
+        "device_version": "0.1.0"
+    }
+}
diff --git a/keyboards/jian/info.json b/keyboards/jian/info.json
index e9c875e792..2e59944921 100644
--- a/keyboards/jian/info.json
+++ b/keyboards/jian/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "jian",
+    "manufacturer": "KgOfHedgehogs",
     "url": "t.me/s/kgofhedgehogs",
     "maintainer": "KGOH",
+    "usb": {
+        "vid": "0xC0DE",
+        "pid": "0x1337"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h
index 7a2cabeb4c..6b36049f94 100644
--- a/keyboards/jian/nsrev2/config.h
+++ b/keyboards/jian/nsrev2/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       0xC0DE
-#define PRODUCT_ID      0x1337
-#define DEVICE_VER      0x0210
-#define MANUFACTURER    KgOfHedgehogs
-#define PRODUCT         Huma
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/jian/nsrev2/info.json b/keyboards/jian/nsrev2/info.json
new file mode 100644
index 0000000000..06fbfeb833
--- /dev/null
+++ b/keyboards/jian/nsrev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Huma",
+    "usb": {
+        "device_version": "2.1.0"
+    }
+}
diff --git a/keyboards/jian/rev1/config.h b/keyboards/jian/rev1/config.h
index 5758115035..988b6d5176 100644
--- a/keyboards/jian/rev1/config.h
+++ b/keyboards/jian/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       0xC0DE
-#define PRODUCT_ID      0x1337
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    KgOfHedgehogs
-#define PRODUCT         Jian
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/jian/rev1/info.json b/keyboards/jian/rev1/info.json
new file mode 100644
index 0000000000..32540b3f78
--- /dev/null
+++ b/keyboards/jian/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Jian",
+    "usb": {
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h
index ec3c206d46..52c8b6ad0e 100644
--- a/keyboards/jian/rev2/config.h
+++ b/keyboards/jian/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       0xC0DE
-#define PRODUCT_ID      0x1337
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    KgOfHedgehogs
-#define PRODUCT         Jian
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/jian/rev2/info.json b/keyboards/jian/rev2/info.json
new file mode 100644
index 0000000000..db130bf467
--- /dev/null
+++ b/keyboards/jian/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Jian",
+    "usb": {
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/jorne/rev1/config.h b/keyboards/jorne/rev1/config.h
index 7144d9fe0a..c4bcaf2972 100644
--- a/keyboards/jorne/rev1/config.h
+++ b/keyboards/jorne/rev1/config.h
@@ -2,14 +2,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4753
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    joric
-#define PRODUCT         Jorne Keyboard
-
 /* key matrix size */
 /* Rows are doubled up */
 #define MATRIX_ROWS 8
diff --git a/keyboards/jorne/info.json b/keyboards/jorne/rev1/info.json
similarity index 97%
rename from keyboards/jorne/info.json
rename to keyboards/jorne/rev1/info.json
index a28af0a320..9e0cf7be41 100644
--- a/keyboards/jorne/info.json
+++ b/keyboards/jorne/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Jorne",
+    "manufacturer": "joric",
     "url": "https://github.com/joric/jorne/wiki",
     "maintainer": "joric",
+    "usb": {
+        "vid": "0x4753",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/kakunpc/angel17/alpha/config.h b/keyboards/kakunpc/angel17/alpha/config.h
index 192464c216..e913351eb0 100644
--- a/keyboards/kakunpc/angel17/alpha/config.h
+++ b/keyboards/kakunpc/angel17/alpha/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    kakunpc
-#define PRODUCT         angel17
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 5
diff --git a/keyboards/kakunpc/angel17/info.json b/keyboards/kakunpc/angel17/info.json
index 24a6c6be08..f3532f8fb6 100644
--- a/keyboards/kakunpc/angel17/info.json
+++ b/keyboards/kakunpc/angel17/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "angel17",
+    "manufacturer": "kakunpc",
     "url": "https://kakunpc.booth.pm/",
     "maintainer": "kakunpc",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_numpad_5x4": {
             "layout": [
diff --git a/keyboards/kakunpc/angel17/rev1/config.h b/keyboards/kakunpc/angel17/rev1/config.h
index f042a089c4..107f1581d6 100644
--- a/keyboards/kakunpc/angel17/rev1/config.h
+++ b/keyboards/kakunpc/angel17/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    kakunpc
-#define PRODUCT         angel17
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 5
diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h
index 4131283166..611e2f0d23 100644
--- a/keyboards/kakunpc/suihankey/split/alpha/config.h
+++ b/keyboards/kakunpc/suihankey/split/alpha/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    kakunpc
-#define PRODUCT         Suihankey
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 5
diff --git a/keyboards/kakunpc/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json
index 2f40949f6b..c440c905fa 100644
--- a/keyboards/kakunpc/suihankey/split/info.json
+++ b/keyboards/kakunpc/suihankey/split/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "suihankey_split",
+    "keyboard_name": "Suihankey",
+    "manufacturer": "kakunpc",
     "url": "https://kakunpc.booth.pm/",
     "maintainer": "kakunpc",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_split_3x5_3": {
             "layout": [
diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h
index 83dc587e57..4e4121bf0a 100644
--- a/keyboards/kakunpc/suihankey/split/rev1/config.h
+++ b/keyboards/kakunpc/suihankey/split/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    kakunpc
-#define PRODUCT         Suihankey
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 4
diff --git a/keyboards/kapcave/paladinpad/config.h b/keyboards/kapcave/paladinpad/config.h
index 2b7d6e363a..5b36ee1113 100644
--- a/keyboards/kapcave/paladinpad/config.h
+++ b/keyboards/kapcave/paladinpad/config.h
@@ -18,12 +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       0x4B43
-#define PRODUCT_ID      0x5050
-#define MANUFACTURER    KapCave
-#define PRODUCT         paladinpad
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 4
diff --git a/keyboards/kapcave/paladinpad/info.json b/keyboards/kapcave/paladinpad/info.json
index 7d1afccf60..23aacf4456 100644
--- a/keyboards/kapcave/paladinpad/info.json
+++ b/keyboards/kapcave/paladinpad/info.json
@@ -1,7 +1,12 @@
 {
   "keyboard_name": "PaladinPad", 
+  "manufacturer": "KapCave",
   "url": "https://kapcave.com/products/paladinpad-pcb", 
   "maintainer": "nachie", 
+  "usb": {
+    "vid": "0x4B43",
+    "pid": "0x5050"
+  },
   "layouts": {
       "LAYOUT_ortho_5x4": {
           "layout": [
diff --git a/keyboards/kapcave/paladinpad/rev1/info.json b/keyboards/kapcave/paladinpad/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev1/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kapcave/paladinpad/rev2/info.json b/keyboards/kapcave/paladinpad/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev2/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h
index 4984459275..ef6e5449f6 100644
--- a/keyboards/kapl/rev1/config.h
+++ b/keyboards/kapl/rev1/config.h
@@ -2,14 +2,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4C41 // "LA" Lozyuk Alexander
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    keyzog
-#define PRODUCT         Kapl Keyboard
-
 /* key matrix size */
 /* Rows are doubled up */
 #define MATRIX_ROWS 10
diff --git a/keyboards/kapl/info.json b/keyboards/kapl/rev1/info.json
similarity index 96%
rename from keyboards/kapl/info.json
rename to keyboards/kapl/rev1/info.json
index 67e5470288..2b497b9848 100644
--- a/keyboards/kapl/info.json
+++ b/keyboards/kapl/rev1/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Kapl",
+  "manufacturer": "keyzog",
   "url": "https://github.com/keyzog/kapl",
   "maintainer": "keyzog",
+  "usb": {
+    "vid": "0x4C41",
+    "pid": "0x0001",
+    "device_version": "0.0.1"
+  },
   "layouts": {
       "LAYOUT": {
           "layout": [
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/info.json b/keyboards/kbdfans/kbd67/mkiirgb/info.json
index 7010ba59d9..34e29bca8e 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/info.json
@@ -1,7 +1,10 @@
 {
-  "keyboard_name": "kbd67mkiirgb", 
+  "manufacturer": "KBDfans",
   "url": "", 
   "maintainer": "moyi4681", 
+  "usb": {
+    "vid": "0x4B42"
+  },
   "layouts": {
       "LAYOUT_65_ansi_blocker": {
           "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, "w":2}, {"x":15, "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, "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, "y":2}, {"x":0, "y":3, "w":2.25}, {"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":15, "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":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
index d88d384f98..a6a56cdced 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
@@ -1,10 +1,5 @@
 #pragma once
 #include "config_common.h"
-#define VENDOR_ID       0x4B42 // KB
-#define PRODUCT_ID      0x1224
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    KBDfans
-#define PRODUCT         kbd67mkiirgb v1
 
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
new file mode 100644
index 0000000000..88d1bb38f4
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "kbd67mkiirgb v1",
+    "usb": {
+        "pid": "0x1224",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
index ffdace7a5f..a5dfdae5ed 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
@@ -1,10 +1,5 @@
 #pragma once
 #include "config_common.h"
-#define VENDOR_ID       0x4B42 // KB
-#define PRODUCT_ID      0x1225
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    KBDfans
-#define PRODUCT         kbd67mkiirgb v2
 
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
new file mode 100644
index 0000000000..62f1bf6cbb
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "kbd67mkiirgb v2",
+    "usb": {
+        "pid": "0x1225",
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
index 23b0a8a30c..c03ab6da3e 100755
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4B42 // KB
-#define PRODUCT_ID      0x1226
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    KBDfans
-#define PRODUCT         kbd67mkiirgb v3
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
new file mode 100644
index 0000000000..496016ea8c
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "kbd67mkiirgb v3",
+    "usb": {
+        "pid": "0x1226",
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
index a63a3ee61b..dc0be21b67 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4B42
-#define PRODUCT_ID      0x1227
-#define DEVICE_VER      0x0004
-#define MANUFACTURER    KBDFANS
-#define PRODUCT         KBD67 MKII RGB V4
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
new file mode 100644
index 0000000000..1bb937c0c2
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "kbd67mkiirgb v4",
+    "usb": {
+        "pid": "0x1227",
+        "device_version": "0.0.4"
+    }
+}
diff --git a/keyboards/kbdfans/kbd75/config.h b/keyboards/kbdfans/kbd75/config.h
index b54ce4d24c..40023beb03 100644
--- a/keyboards/kbdfans/kbd75/config.h
+++ b/keyboards/kbdfans/kbd75/config.h
@@ -5,11 +5,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4B42
-#define MANUFACTURER    qmkbuilder
-#define PRODUCT         KBD75
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 16
diff --git a/keyboards/kbdfans/kbd75/rev1/config.h b/keyboards/kbdfans/kbd75/rev1/config.h
deleted file mode 100644
index 9e036b5839..0000000000
--- a/keyboards/kbdfans/kbd75/rev1/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2020 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
diff --git a/keyboards/kbdfans/kbd75/rev1/info.json b/keyboards/kbdfans/kbd75/rev1/info.json
index 499b9e9a43..fe1541b78f 100644
--- a/keyboards/kbdfans/kbd75/rev1/info.json
+++ b/keyboards/kbdfans/kbd75/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "KBD75 rev1",
+    "manufacturer": "KBDfans",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x4B42",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    },
     "layout_aliases": {
         "LAYOUT_ansi_1u": "LAYOUT_75_ansi"
     },
diff --git a/keyboards/kbdfans/kbd75/rev2/config.h b/keyboards/kbdfans/kbd75/rev2/config.h
deleted file mode 100644
index c65ac48677..0000000000
--- a/keyboards/kbdfans/kbd75/rev2/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2020 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define PRODUCT_ID      0x6061
-#define DEVICE_VER      0x0002
diff --git a/keyboards/kbdfans/kbd75/rev2/info.json b/keyboards/kbdfans/kbd75/rev2/info.json
index 8518527eed..ac07971b59 100644
--- a/keyboards/kbdfans/kbd75/rev2/info.json
+++ b/keyboards/kbdfans/kbd75/rev2/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "KBD75 rev2",
+    "manufacturer": "KBDfans",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x4B42",
+        "pid": "0x6061",
+        "device_version": "0.0.2"
+    },
     "layout_aliases": {
         "LAYOUT_ansi_1u": "LAYOUT_75_ansi"
     },
diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h
index 2499c25933..413e33a850 100644
--- a/keyboards/kbdfans/kbd75rgb/config.h
+++ b/keyboards/kbdfans/kbd75rgb/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4B42
-#define PRODUCT_ID      0x6063
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    KBDFANS
-#define PRODUCT         KBD75RGB
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json
new file mode 100644
index 0000000000..4c008f0310
--- /dev/null
+++ b/keyboards/kbdfans/kbd75rgb/info.json
@@ -0,0 +1,11 @@
+{
+    "keyboard_name": "KBD75RGB",
+    "manufacturer": "KBDfans",
+    "url": "",
+    "maintainer": "qmk",
+    "usb": {
+        "vid": "0x4B42",
+        "pid": "0x6063",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kbnordic/nordic60/rev_a/config.h b/keyboards/kbnordic/nordic60/rev_a/config.h
index be555417d7..d2b6b5712b 100644
--- a/keyboards/kbnordic/nordic60/rev_a/config.h
+++ b/keyboards/kbnordic/nordic60/rev_a/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       0x4445
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    KBNORDIC
-#define PRODUCT         Nordic60 Rev A
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/kbnordic/nordic60/info.json b/keyboards/kbnordic/nordic60/rev_a/info.json
similarity index 99%
rename from keyboards/kbnordic/nordic60/info.json
rename to keyboards/kbnordic/nordic60/rev_a/info.json
index aa5a82a002..99d8fe874c 100644
--- a/keyboards/kbnordic/nordic60/info.json
+++ b/keyboards/kbnordic/nordic60/rev_a/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Nordic60 Rev A",
+    "manufacturer": "KBNORDIC",
     "url": "kbnordic.se",
     "maintainer": "4pplet",
+    "usb": {
+        "vid": "0x4445",
+        "pid": "0x0001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/keebio/bdn9/info.json b/keyboards/keebio/bdn9/info.json
index e383395eea..4bb378ea7a 100644
--- a/keyboards/keebio/bdn9/info.json
+++ b/keyboards/keebio/bdn9/info.json
@@ -1,7 +1,10 @@
 {
-  "keyboard_name": "Keebio BDN9",
+  "manufacturer": "Keebio",
   "url": "https://keeb.io",
   "maintainer": "Keebio",
+  "usb": {
+    "vid": "0xCB10"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/keebio/bdn9/rev1/config.h b/keyboards/keebio/bdn9/rev1/config.h
index ed5d5953f7..a674477d99 100644
--- a/keyboards/keebio/bdn9/rev1/config.h
+++ b/keyboards/keebio/bdn9/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       0xCB10
-#define PRODUCT_ID      0x1133
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         BDN9 Rev. 1
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 3
diff --git a/keyboards/keebio/bdn9/rev1/info.json b/keyboards/keebio/bdn9/rev1/info.json
new file mode 100644
index 0000000000..768ad3ad9b
--- /dev/null
+++ b/keyboards/keebio/bdn9/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "BDN9 Rev. 1",
+    "usb": {
+        "pid": "0x1133",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h
index f9eb3babca..56d6235ec9 100644
--- a/keyboards/keebio/bdn9/rev2/config.h
+++ b/keyboards/keebio/bdn9/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       0xCB10
-#define PRODUCT_ID      0x2133
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         BDN9 Rev. 2
-
 /* key matrix size */
 #define MATRIX_ROWS 3
 #define MATRIX_COLS 3
diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json
new file mode 100644
index 0000000000..2a610ba304
--- /dev/null
+++ b/keyboards/keebio/bdn9/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "BDN9 Rev. 2",
+    "usb": {
+        "pid": "0x2133",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keebio/dsp40/rev1/config.h b/keyboards/keebio/dsp40/rev1/config.h
index 753af5ce2f..88dec69f59 100644
--- a/keyboards/keebio/dsp40/rev1/config.h
+++ b/keyboards/keebio/dsp40/rev1/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       0xCB10
-#define PRODUCT_ID      0x144C
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         DSP40 Rev. 1
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 12
diff --git a/keyboards/keebio/dsp40/info.json b/keyboards/keebio/dsp40/rev1/info.json
similarity index 96%
rename from keyboards/keebio/dsp40/info.json
rename to keyboards/keebio/dsp40/rev1/info.json
index e595a4d2a6..3d5ce68f5f 100644
--- a/keyboards/keebio/dsp40/info.json
+++ b/keyboards/keebio/dsp40/rev1/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "DSP40",
+    "keyboard_name": "DSP40 Rev. 1",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10",
+        "pid": "0x144C",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/keebio/foldkb/rev1/config.h b/keyboards/keebio/foldkb/rev1/config.h
index ab4751f1f3..7985c3eb42 100644
--- a/keyboards/keebio/foldkb/rev1/config.h
+++ b/keyboards/keebio/foldkb/rev1/config.h
@@ -16,13 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x1258
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         FoldKB Rev. 1
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/foldkb/info.json b/keyboards/keebio/foldkb/rev1/info.json
similarity index 95%
rename from keyboards/keebio/foldkb/info.json
rename to keyboards/keebio/foldkb/rev1/info.json
index e94389ef4e..da06fadac1 100644
--- a/keyboards/keebio/foldkb/info.json
+++ b/keyboards/keebio/foldkb/rev1/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "FoldKB",
+    "keyboard_name": "FoldKB Rev. 1",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10",
+        "pid": "0x1258",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/keebio/iris/info.json b/keyboards/keebio/iris/info.json
index ec52ef04d1..8641eed9c1 100644
--- a/keyboards/keebio/iris/info.json
+++ b/keyboards/keebio/iris/info.json
@@ -1,7 +1,10 @@
 {
-    "keyboard_name": "Iris",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "Keebio",
+    "usb": {
+        "vid": "0xCB10"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/keebio/iris/rev1/config.h b/keyboards/keebio/iris/rev1/config.h
index c1d39cfbe7..6e0e720175 100644
--- a/keyboards/keebio/iris/rev1/config.h
+++ b/keyboards/keebio/iris/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       0xCB10
-#define PRODUCT_ID      0x1256
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev1/info.json b/keyboards/keebio/iris/rev1/info.json
new file mode 100644
index 0000000000..414db5ad6a
--- /dev/null
+++ b/keyboards/keebio/iris/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 1",
+    "usb": {
+        "pid": "0x1256",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev1_led/config.h b/keyboards/keebio/iris/rev1_led/config.h
index 02bc73021c..2d88d72ac9 100644
--- a/keyboards/keebio/iris/rev1_led/config.h
+++ b/keyboards/keebio/iris/rev1_led/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       0xCB10
-#define PRODUCT_ID      0x1256
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev1_led/info.json b/keyboards/keebio/iris/rev1_led/info.json
new file mode 100644
index 0000000000..38b09bbe35
--- /dev/null
+++ b/keyboards/keebio/iris/rev1_led/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 1",
+    "usb": {
+        "pid": "0x1256",
+        "device_version": "1.1.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev2/config.h b/keyboards/keebio/iris/rev2/config.h
index 793d653c0b..0c795940cd 100644
--- a/keyboards/keebio/iris/rev2/config.h
+++ b/keyboards/keebio/iris/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       0xCB10
-#define PRODUCT_ID      0x2256
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         Keebio Iris Rev. 2
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev2/info.json b/keyboards/keebio/iris/rev2/info.json
new file mode 100644
index 0000000000..dd223d4f94
--- /dev/null
+++ b/keyboards/keebio/iris/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 2",
+    "usb": {
+        "pid": "0x2256",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h
index 921627382c..e08660612d 100644
--- a/keyboards/keebio/iris/rev3/config.h
+++ b/keyboards/keebio/iris/rev3/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       0xCB10
-#define PRODUCT_ID      0x1256
-#define DEVICE_VER      0x0300
-#define MANUFACTURER    Keebio
-#define PRODUCT         Keebio Iris Rev. 3
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev3/info.json b/keyboards/keebio/iris/rev3/info.json
new file mode 100644
index 0000000000..af6215b201
--- /dev/null
+++ b/keyboards/keebio/iris/rev3/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 3",
+    "usb": {
+        "pid": "0x3256",
+        "device_version": "3.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h
index 0ad59b9774..0af962ac52 100644
--- a/keyboards/keebio/iris/rev4/config.h
+++ b/keyboards/keebio/iris/rev4/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       0xCB10
-#define PRODUCT_ID      0x4256
-#define DEVICE_VER      0x0400
-#define MANUFACTURER    Keebio
-#define PRODUCT         Keebio Iris Rev. 4
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev4/info.json b/keyboards/keebio/iris/rev4/info.json
new file mode 100644
index 0000000000..aa42788154
--- /dev/null
+++ b/keyboards/keebio/iris/rev4/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 4",
+    "usb": {
+        "pid": "0x4256",
+        "device_version": "4.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h
index 15eed8349f..2d06626486 100644
--- a/keyboards/keebio/iris/rev5/config.h
+++ b/keyboards/keebio/iris/rev5/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       0xCB10
-#define PRODUCT_ID      0x5256
-#define DEVICE_VER      0x0500
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Rev. 5
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev5/info.json b/keyboards/keebio/iris/rev5/info.json
new file mode 100644
index 0000000000..60a73d4252
--- /dev/null
+++ b/keyboards/keebio/iris/rev5/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 5",
+    "usb": {
+        "pid": "0x5256",
+        "device_version": "5.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h
index e26dc5fa50..7bc8c4132b 100644
--- a/keyboards/keebio/iris/rev6/config.h
+++ b/keyboards/keebio/iris/rev6/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       0xCB10
-#define PRODUCT_ID      0x6256
-#define DEVICE_VER      0x0600
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Rev. 6
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json
new file mode 100644
index 0000000000..86dc585c81
--- /dev/null
+++ b/keyboards/keebio/iris/rev6/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 6",
+    "usb": {
+        "pid": "0x6256",
+        "device_version": "6.0.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev6a/config.h b/keyboards/keebio/iris/rev6a/config.h
index d846891d92..71ba638852 100644
--- a/keyboards/keebio/iris/rev6a/config.h
+++ b/keyboards/keebio/iris/rev6a/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       0xCB10
-#define PRODUCT_ID      0x6356
-#define DEVICE_VER      0x0610
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Rev. 6a
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev6a/info.json b/keyboards/keebio/iris/rev6a/info.json
new file mode 100644
index 0000000000..c580018ea7
--- /dev/null
+++ b/keyboards/keebio/iris/rev6a/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 6a",
+    "usb": {
+        "pid": "0x6356",
+        "device_version": "6.1.0"
+    }
+}
diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h
index 118a641240..8673d83a07 100644
--- a/keyboards/keebio/iris/rev7/config.h
+++ b/keyboards/keebio/iris/rev7/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       0xCB10
-#define PRODUCT_ID      0x7256
-#define DEVICE_VER      0x0700
-#define MANUFACTURER    Keebio
-#define PRODUCT         Iris Rev. 7
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json
new file mode 100644
index 0000000000..b0ba3ca359
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Iris Rev. 7",
+    "usb": {
+        "pid": "0x7256",
+        "device_version": "7.0.0"
+    }
+}
diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h
index 5d065fe1c2..3d3253d2c3 100644
--- a/keyboards/keebio/kbo5000/rev1/config.h
+++ b/keyboards/keebio/kbo5000/rev1/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x126A
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         KBO-5000 Rev. 1
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/keebio/kbo5000/info.json b/keyboards/keebio/kbo5000/rev1/info.json
similarity index 98%
rename from keyboards/keebio/kbo5000/info.json
rename to keyboards/keebio/kbo5000/rev1/info.json
index f4d37e012d..b07e73f17e 100644
--- a/keyboards/keebio/kbo5000/info.json
+++ b/keyboards/keebio/kbo5000/rev1/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "KBO-5000",
+    "keyboard_name": "KBO-5000 Rev. 1",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10",
+        "pid": "0x126A",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_ansi": {
             "layout": [
diff --git a/keyboards/keebio/levinson/info.json b/keyboards/keebio/levinson/info.json
index 1d98ca9f4e..7a21ac0efa 100644
--- a/keyboards/keebio/levinson/info.json
+++ b/keyboards/keebio/levinson/info.json
@@ -1,7 +1,11 @@
 {
   "keyboard_name": "Levinson",
+  "manufacturer": "Keebio",
   "url": "https://keeb.io",
   "maintainer": "Keebio",
+  "usb": {
+    "vid": "0xCB10"
+  },
   "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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/keebio/levinson/rev1/config.h b/keyboards/keebio/levinson/rev1/config.h
index 2b10dcec0c..59781590d7 100644
--- a/keyboards/keebio/levinson/rev1/config.h
+++ b/keyboards/keebio/levinson/rev1/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x1146
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Levinson
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev1/info.json b/keyboards/keebio/levinson/rev1/info.json
new file mode 100644
index 0000000000..cd51368b09
--- /dev/null
+++ b/keyboards/keebio/levinson/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Levinson Rev. 1",
+    "usb": {
+        "pid": "0x1146",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/levinson/rev2/config.h b/keyboards/keebio/levinson/rev2/config.h
index c993861b82..01c901c234 100644
--- a/keyboards/keebio/levinson/rev2/config.h
+++ b/keyboards/keebio/levinson/rev2/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x2146
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         Levinson
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev2/info.json b/keyboards/keebio/levinson/rev2/info.json
new file mode 100644
index 0000000000..ec18ce1898
--- /dev/null
+++ b/keyboards/keebio/levinson/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Levinson Rev. 2",
+    "usb": {
+        "pid": "0x2146",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h
index 60e6c150f5..a5144ec9fb 100644
--- a/keyboards/keebio/levinson/rev3/config.h
+++ b/keyboards/keebio/levinson/rev3/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x3146
-#define DEVICE_VER      0x0300
-#define MANUFACTURER    Keebio
-#define PRODUCT         Levinson
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev3/info.json b/keyboards/keebio/levinson/rev3/info.json
new file mode 100644
index 0000000000..c814ce24e3
--- /dev/null
+++ b/keyboards/keebio/levinson/rev3/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Levinson Rev. 3",
+    "usb": {
+        "pid": "0x3146",
+        "device_version": "3.0.0"
+    }
+}
diff --git a/keyboards/keebio/nyquist/info.json b/keyboards/keebio/nyquist/info.json
index 43561a553f..449c779b69 100644
--- a/keyboards/keebio/nyquist/info.json
+++ b/keyboards/keebio/nyquist/info.json
@@ -1,6 +1,9 @@
 {
-  "keyboard_name": "Nyquist",
+  "manufacturer": "Keebio",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xCB10"
+  },
   "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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "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":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}]
diff --git a/keyboards/keebio/nyquist/rev1/config.h b/keyboards/keebio/nyquist/rev1/config.h
index 47622ba1e9..02d5a0510e 100644
--- a/keyboards/keebio/nyquist/rev1/config.h
+++ b/keyboards/keebio/nyquist/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       0xCB10
-#define PRODUCT_ID      0x1156
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         The Nyquist Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev1/info.json b/keyboards/keebio/nyquist/rev1/info.json
new file mode 100644
index 0000000000..76affd233c
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Nyquist Rev. 1",
+    "usb": {
+        "pid": "0x1156",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/nyquist/rev2/config.h b/keyboards/keebio/nyquist/rev2/config.h
index e47110b8a5..82f4778992 100644
--- a/keyboards/keebio/nyquist/rev2/config.h
+++ b/keyboards/keebio/nyquist/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       0xCB10
-#define PRODUCT_ID      0x2156
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         The Nyquist Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev2/info.json b/keyboards/keebio/nyquist/rev2/info.json
new file mode 100644
index 0000000000..579fa5acb2
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Nyquist Rev. 2",
+    "usb": {
+        "pid": "0x2156",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h
index 3536f5c629..8d70316b55 100644
--- a/keyboards/keebio/nyquist/rev3/config.h
+++ b/keyboards/keebio/nyquist/rev3/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       0xCB10
-#define PRODUCT_ID      0x3156
-#define DEVICE_VER      0x0300
-#define MANUFACTURER    Keebio
-#define PRODUCT         The Nyquist Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev3/info.json b/keyboards/keebio/nyquist/rev3/info.json
new file mode 100644
index 0000000000..1de3fe17c5
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev3/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Nyquist Rev. 3",
+    "usb": {
+        "pid": "0x3156",
+        "device_version": "3.0.0"
+    }
+}
diff --git a/keyboards/keebio/rorschach/rev1/config.h b/keyboards/keebio/rorschach/rev1/config.h
index fa93d82de0..77db35cc9b 100644
--- a/keyboards/keebio/rorschach/rev1/config.h
+++ b/keyboards/keebio/rorschach/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       0xCB10
-#define PRODUCT_ID      0x1246
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Rorschach Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/rorschach/info.json b/keyboards/keebio/rorschach/rev1/info.json
similarity index 92%
rename from keyboards/keebio/rorschach/info.json
rename to keyboards/keebio/rorschach/rev1/info.json
index 9675f96b8a..8e04c211dd 100644
--- a/keyboards/keebio/rorschach/info.json
+++ b/keyboards/keebio/rorschach/rev1/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Rorschach",
+  "keyboard_name": "Rorschach Rev. 1",
+  "manufacturer": "Keebio",
   "url": "https://keeb.io",
   "maintainer": "nooges",
+  "usb": {
+    "vid": "0xCB10",
+    "pid": "0x1246",
+    "device_version": "1.0.0"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/keebio/sinc/info.json b/keyboards/keebio/sinc/info.json
index 9b89484bba..a8d346ebe5 100644
--- a/keyboards/keebio/sinc/info.json
+++ b/keyboards/keebio/sinc/info.json
@@ -1,7 +1,10 @@
 {
-    "keyboard_name": "Sinc",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10"
+    },
     "layouts": {
         "LAYOUT_75": {
             "layout": [
diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h
index 92a9eb5675..0d31d1ad80 100644
--- a/keyboards/keebio/sinc/rev1/config.h
+++ b/keyboards/keebio/sinc/rev1/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x1267
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         Sinc Rev. 1
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/keebio/sinc/rev1/info.json b/keyboards/keebio/sinc/rev1/info.json
new file mode 100644
index 0000000000..d7a119807f
--- /dev/null
+++ b/keyboards/keebio/sinc/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Sinc Rev. 1",
+    "usb": {
+        "pid": "0x1267",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h
index d78e0316f3..800400e905 100644
--- a/keyboards/keebio/sinc/rev2/config.h
+++ b/keyboards/keebio/sinc/rev2/config.h
@@ -16,13 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCB10
-#define PRODUCT_ID      0x2267
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         Sinc Rev. 2
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 12
diff --git a/keyboards/keebio/sinc/rev2/info.json b/keyboards/keebio/sinc/rev2/info.json
new file mode 100644
index 0000000000..378b02d2e7
--- /dev/null
+++ b/keyboards/keebio/sinc/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Sinc Rev. 2",
+    "usb": {
+        "pid": "0x2267",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json
index f28a7410d1..1c42bd8f87 100644
--- a/keyboards/keebio/viterbi/info.json
+++ b/keyboards/keebio/viterbi/info.json
@@ -1,7 +1,10 @@
 {
-    "keyboard_name": "Viterbi",
+    "manufacturer": "Keebio",
     "url": "https://keeb.io",
     "maintainer": "nooges",
+    "usb": {
+        "vid": "0xCB10"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/keebio/viterbi/rev1/config.h b/keyboards/keebio/viterbi/rev1/config.h
index 15dea932f3..5aa5ef234c 100644
--- a/keyboards/keebio/viterbi/rev1/config.h
+++ b/keyboards/keebio/viterbi/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       0xCB10
-#define PRODUCT_ID      0x1157
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Keebio
-#define PRODUCT         The Viterbi Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/viterbi/rev1/info.json b/keyboards/keebio/viterbi/rev1/info.json
new file mode 100644
index 0000000000..5801f5f638
--- /dev/null
+++ b/keyboards/keebio/viterbi/rev1/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Viterbi Rev. 1",
+    "usb": {
+        "pid": "0x1157",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h
index ed4f87abab..9d87517c0a 100644
--- a/keyboards/keebio/viterbi/rev2/config.h
+++ b/keyboards/keebio/viterbi/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       0xCB10
-#define PRODUCT_ID      0x2157
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Keebio
-#define PRODUCT         The Viterbi Keyboard
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/keebio/viterbi/rev2/info.json b/keyboards/keebio/viterbi/rev2/info.json
new file mode 100644
index 0000000000..9759016521
--- /dev/null
+++ b/keyboards/keebio/viterbi/rev2/info.json
@@ -0,0 +1,7 @@
+{
+    "keyboard_name": "Viterbi Rev. 2",
+    "usb": {
+        "pid": "0x2157",
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/keycapsss/kimiko/kimiko.h b/keyboards/keycapsss/kimiko/kimiko.h
index a67496eb50..513922373e 100644
--- a/keyboards/keycapsss/kimiko/kimiko.h
+++ b/keyboards/keycapsss/kimiko/kimiko.h
@@ -16,24 +16,3 @@
 #pragma once
 
 #include "quantum.h"
-
-#define LAYOUT( \
-    L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
-    L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
-    L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
-    L30, L31, L32, L33, L34, L35, L40, R40, R30, R31, R32, R33, R34, R35, \
-              L41, L42, L43, L44, L45, R41, R42, R43, R44, R45  \
-    ) \
-    { \
-        { L00, L01, L02, L03, L04, L05 }, \
-        { L10, L11, L12, L13, L14, L15 }, \
-        { L20, L21, L22, L23, L24, L25 }, \
-        { L30, L31, L32, L33, L34, L35 }, \
-        { L41, L42, L43, L44, L45, L40 }, \
-        { R05, R04, R03, R02, R01, R00 }, \
-        { R15, R14, R13, R12, R11, R10 }, \
-        { R25, R24, R23, R22, R21, R20 }, \
-        { R35, R34, R33, R32, R31, R30 }, \
-        { R45, R44, R43, R42, R41, R40 } \
-    }
-
diff --git a/keyboards/keycapsss/kimiko/rev1/config.h b/keyboards/keycapsss/kimiko/rev1/config.h
index 502eaa1e4a..5ba2fd4abf 100644
--- a/keyboards/keycapsss/kimiko/rev1/config.h
+++ b/keyboards/keycapsss/kimiko/rev1/config.h
@@ -16,13 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x7983
-#define PRODUCT_ID      0x4B69 //Ki
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Keycapsss
-#define PRODUCT         Kimiko
-
 /* key matrix size */
 // rows are doubled-up for split-keyboard
 #define MATRIX_ROWS 10
diff --git a/keyboards/keycapsss/kimiko/info.json b/keyboards/keycapsss/kimiko/rev1/info.json
similarity index 94%
rename from keyboards/keycapsss/kimiko/info.json
rename to keyboards/keycapsss/kimiko/rev1/info.json
index 7b3749f503..2aef1306ec 100644
--- a/keyboards/keycapsss/kimiko/info.json
+++ b/keyboards/keycapsss/kimiko/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Kimiko",
+    "manufacturer": "Keycapsss",
     "url": "https://keycapsss.com",
     "maintainer": "@ben_roe Keycapsss",
+    "usb": {
+        "vid": "0x7983",
+        "pid": "0x4B69",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/keycapsss/plaid_pad/config.h b/keyboards/keycapsss/plaid_pad/config.h
index 373d3de14f..fd9c63f339 100644
--- a/keyboards/keycapsss/plaid_pad/config.h
+++ b/keyboards/keycapsss/plaid_pad/config.h
@@ -18,11 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7983
-#define PRODUCT_ID 0x5050 // "PP"
-#define MANUFACTURER Keycapsss
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 4
diff --git a/keyboards/keycapsss/plaid_pad/info.json b/keyboards/keycapsss/plaid_pad/info.json
index 1ccac5d2cc..c223b88065 100644
--- a/keyboards/keycapsss/plaid_pad/info.json
+++ b/keyboards/keycapsss/plaid_pad/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "Plaid-Pad",
+    "manufacturer": "Keycapsss",
     "url": "https://keycapsss.com/diy-kits/104/plaid-pad-4x4-numpad",
     "maintainer": "BenRoe",
+    "usb": {
+        "vid": "0x7983",
+        "pid": "0x5050"
+    },
     "layouts": {
         "LAYOUT_ortho_4x4": {
             "layout": [
diff --git a/keyboards/keycapsss/plaid_pad/rev1/config.h b/keyboards/keycapsss/plaid_pad/rev1/config.h
index fee25316dd..8d0a6a2b9d 100644
--- a/keyboards/keycapsss/plaid_pad/rev1/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev1/config.h
@@ -16,9 +16,6 @@
 
 #pragma once
 
-#define PRODUCT Plaid-Pad Rev1
-#define DEVICE_VER 0x0001
-
 #define UNUSED_PINS     { B3, B4, B5, D4}
 
 #define ENCODERS_PAD_A { D1, B2 }
diff --git a/keyboards/keycapsss/plaid_pad/rev1/info.json b/keyboards/keycapsss/plaid_pad/rev1/info.json
new file mode 100644
index 0000000000..3d98c4cb57
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Plaid-Pad Rev1",
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/keycapsss/plaid_pad/rev2/config.h b/keyboards/keycapsss/plaid_pad/rev2/config.h
index f3646dd575..a28e747d68 100644
--- a/keyboards/keycapsss/plaid_pad/rev2/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev2/config.h
@@ -16,9 +16,6 @@
 
 #pragma once
 
-#define PRODUCT Plaid-Pad Rev2
-#define DEVICE_VER 0x0002
-
 #define UNUSED_PINS     { }
 
 #define ENCODERS_PAD_A { D1, B2, B4, D4 }
diff --git a/keyboards/keycapsss/plaid_pad/rev2/info.json b/keyboards/keycapsss/plaid_pad/rev2/info.json
new file mode 100644
index 0000000000..0a1da66f73
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Plaid-Pad Rev2",
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/keycapsss/plaid_pad/rev3/config.h b/keyboards/keycapsss/plaid_pad/rev3/config.h
index 40f96cd5c8..435f0b1ebb 100644
--- a/keyboards/keycapsss/plaid_pad/rev3/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev3/config.h
@@ -16,9 +16,6 @@
 
 #pragma once
 
-#define PRODUCT Plaid-Pad Rev3
-#define DEVICE_VER 0x0003
-
 #define UNUSED_PINS     { }
 
 #define ENCODERS_PAD_A { D1, B2, B4, D4 }
diff --git a/keyboards/keycapsss/plaid_pad/rev3/info.json b/keyboards/keycapsss/plaid_pad/rev3/info.json
new file mode 100644
index 0000000000..2f5b474c4d
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev3/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Plaid-Pad Rev3",
+    "usb": {
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/keychron/q1/config.h b/keyboards/keychron/q1/config.h
index de69b9e929..cda8799a79 100644
--- a/keyboards/keychron/q1/config.h
+++ b/keyboards/keychron/q1/config.h
@@ -16,11 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x3434
-#define MANUFACTURER    Keychron
-#define PRODUCT         Keychron Q1
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/keychron/q1/rev_0100/config.h b/keyboards/keychron/q1/rev_0100/config.h
index 435f386a59..1b8c65165c 100644
--- a/keyboards/keychron/q1/rev_0100/config.h
+++ b/keyboards/keychron/q1/rev_0100/config.h
@@ -16,11 +16,6 @@
 
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0100
-#define DEVICE_VER      0x0100
-
 /* key matrix pins */
 #define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
 #define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0100/info.json b/keyboards/keychron/q1/rev_0100/info.json
index dba3320ba7..b708f15994 100644
--- a/keyboards/keychron/q1/rev_0100/info.json
+++ b/keyboards/keychron/q1/rev_0100/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q1", 
+    "keyboard_name": "Q1", 
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron", 
     "maintainer": "lalalademaxiya1", 
+    "usb": {
+    	"vid": "0x3434",
+    	"pid": "0x0100",
+    	"device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_ansi_82": {
             "layout": [{"label":"Esc", "x":0, "y":0}, 
diff --git a/keyboards/keychron/q1/rev_0101/config.h b/keyboards/keychron/q1/rev_0101/config.h
index c127a3630a..58d77477ca 100644
--- a/keyboards/keychron/q1/rev_0101/config.h
+++ b/keyboards/keychron/q1/rev_0101/config.h
@@ -16,10 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0101
-#define DEVICE_VER      0x0100
-
 /* key matrix pins */
 #define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
 #define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0101/info.json b/keyboards/keychron/q1/rev_0101/info.json
index 75fb2d04e8..b4e5d002b7 100644
--- a/keyboards/keychron/q1/rev_0101/info.json
+++ b/keyboards/keychron/q1/rev_0101/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q1",
+    "keyboard_name": "Q1",
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0101",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_ansi_82": {
             "layout": [
diff --git a/keyboards/keychron/q1/rev_0102/config.h b/keyboards/keychron/q1/rev_0102/config.h
index a537ab4e0d..7aa0ae8662 100644
--- a/keyboards/keychron/q1/rev_0102/config.h
+++ b/keyboards/keychron/q1/rev_0102/config.h
@@ -16,11 +16,6 @@
 
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0102
-#define DEVICE_VER      0x0100
-
 /* key matrix pins */
 #define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
 #define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0102/info.json b/keyboards/keychron/q1/rev_0102/info.json
index a71e0b24f0..9ee606b34e 100644
--- a/keyboards/keychron/q1/rev_0102/info.json
+++ b/keyboards/keychron/q1/rev_0102/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q1", 
+    "keyboard_name": "Q1", 
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron", 
     "maintainer": "lalalademaxiya1", 
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0102",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_iso_83": {
             "layout": [
diff --git a/keyboards/keychron/q2/config.h b/keyboards/keychron/q2/config.h
index d019bcee15..bb25a3c982 100644
--- a/keyboards/keychron/q2/config.h
+++ b/keyboards/keychron/q2/config.h
@@ -16,11 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x3434
-#define MANUFACTURER    Keychron
-#define PRODUCT         Keychron Q2
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
diff --git a/keyboards/keychron/q2/rev_0110/config.h b/keyboards/keychron/q2/rev_0110/config.h
index e41857d9b2..f30b81b3af 100644
--- a/keyboards/keychron/q2/rev_0110/config.h
+++ b/keyboards/keychron/q2/rev_0110/config.h
@@ -16,10 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0110
-#define DEVICE_VER 0x0100
-
 /* RGB Matrix Configuration */
 #define DRIVER_1_LED_TOTAL 34
 #define DRIVER_2_LED_TOTAL 33
diff --git a/keyboards/keychron/q2/rev_0110/info.json b/keyboards/keychron/q2/rev_0110/info.json
index fb34a2427a..65e6c22519 100644
--- a/keyboards/keychron/q2/rev_0110/info.json
+++ b/keyboards/keychron/q2/rev_0110/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q2",
+    "keyboard_name": "Q2",
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0110",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_ansi_67": {
             "layout": [
diff --git a/keyboards/keychron/q2/rev_0111/config.h b/keyboards/keychron/q2/rev_0111/config.h
index 76cd5d0e78..249e589019 100644
--- a/keyboards/keychron/q2/rev_0111/config.h
+++ b/keyboards/keychron/q2/rev_0111/config.h
@@ -16,10 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0111
-#define DEVICE_VER      0x0100
-
 /* RGB Matrix Configuration */
 #define DRIVER_1_LED_TOTAL 34
 #define DRIVER_2_LED_TOTAL 33
diff --git a/keyboards/keychron/q2/rev_0111/info.json b/keyboards/keychron/q2/rev_0111/info.json
index f6ce1d9b27..875937baec 100644
--- a/keyboards/keychron/q2/rev_0111/info.json
+++ b/keyboards/keychron/q2/rev_0111/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q2",
+    "keyboard_name": "Q2",
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0111",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_ansi_67": {
             "layout": [
diff --git a/keyboards/keychron/q2/rev_0112/config.h b/keyboards/keychron/q2/rev_0112/config.h
index 70a60fd026..4bab401a01 100644
--- a/keyboards/keychron/q2/rev_0112/config.h
+++ b/keyboards/keychron/q2/rev_0112/config.h
@@ -16,10 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0112
-#define DEVICE_VER      0x0100
-
 /* RGB Matrix Configuration */
 #define DRIVER_1_LED_TOTAL 34
 #define DRIVER_2_LED_TOTAL 34
diff --git a/keyboards/keychron/q2/rev_0112/info.json b/keyboards/keychron/q2/rev_0112/info.json
index 5f0d4ab249..3670c87688 100644
--- a/keyboards/keychron/q2/rev_0112/info.json
+++ b/keyboards/keychron/q2/rev_0112/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q2",
+    "keyboard_name": "Q2",
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0112",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_iso_68": {
             "layout": [
diff --git a/keyboards/keychron/q2/rev_0113/config.h b/keyboards/keychron/q2/rev_0113/config.h
index 486d3fd3b8..8f7fbef73a 100644
--- a/keyboards/keychron/q2/rev_0113/config.h
+++ b/keyboards/keychron/q2/rev_0113/config.h
@@ -16,10 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x0113
-#define DEVICE_VER      0x0100
-
 /* RGB Matrix Configuration */
 #define DRIVER_1_LED_TOTAL 34
 #define DRIVER_2_LED_TOTAL 34
diff --git a/keyboards/keychron/q2/rev_0113/info.json b/keyboards/keychron/q2/rev_0113/info.json
index 151f42455d..297096aac3 100644
--- a/keyboards/keychron/q2/rev_0113/info.json
+++ b/keyboards/keychron/q2/rev_0113/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Keychron Q2",
+    "keyboard_name": "Q2",
+    "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "usb": {
+        "vid": "0x3434",
+        "pid": "0x0113",
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_iso_68": {
             "layout": [
diff --git a/keyboards/keyhive/navi10/info.json b/keyboards/keyhive/navi10/info.json
index e3fc49fbed..ecafbeb089 100644
--- a/keyboards/keyhive/navi10/info.json
+++ b/keyboards/keyhive/navi10/info.json
@@ -1,7 +1,12 @@
 {
     "keyboard_name": "Navi10", 
+    "manufacturer": "emdarcher",
     "url": "", 
     "maintainer": "emdarcher", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Fn", "x":0, "y":0}, {"label":"Home", "x":1, "y":0}, {"label":"PgUp", "x":2, "y":0}, {"label":"Del", "x":0, "y":1}, {"label":"End", "x":1, "y":1}, {"label":"PgDn", "x":2, "y":1}, {"label":"Up", "x":1, "y":3}, {"label":"Left", "x":0, "y":4}, {"label":"Down", "x":1, "y":4}, {"label":"Right", "x":2, "y":4}]
diff --git a/keyboards/keyhive/navi10/rev0/config.h b/keyboards/keyhive/navi10/rev0/config.h
index 22a985c280..ea445f8425 100644
--- a/keyboards/keyhive/navi10/rev0/config.h
+++ b/keyboards/keyhive/navi10/rev0/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        emdarcher
-#define PRODUCT             Navi10
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 3
diff --git a/keyboards/keyhive/navi10/rev0/info.json b/keyboards/keyhive/navi10/rev0/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev0/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/keyhive/navi10/rev2/config.h b/keyboards/keyhive/navi10/rev2/config.h
index 1dfb210b03..469d29c9e9 100644
--- a/keyboards/keyhive/navi10/rev2/config.h
+++ b/keyboards/keyhive/navi10/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          0x0002
-#define MANUFACTURER        emdarcher
-#define PRODUCT             Navi10
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 3
diff --git a/keyboards/keyhive/navi10/rev2/info.json b/keyboards/keyhive/navi10/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev2/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/keyhive/navi10/rev3/config.h b/keyboards/keyhive/navi10/rev3/config.h
index 205535273a..c6bcf808ea 100644
--- a/keyboards/keyhive/navi10/rev3/config.h
+++ b/keyboards/keyhive/navi10/rev3/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          0x0003
-#define MANUFACTURER        emdarcher
-#define PRODUCT             Navi10
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 3
diff --git a/keyboards/keyhive/navi10/rev3/info.json b/keyboards/keyhive/navi10/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev3/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/keyhive/uno/info.json b/keyboards/keyhive/uno/info.json
index d426f9e426..9d39163a1b 100644
--- a/keyboards/keyhive/uno/info.json
+++ b/keyboards/keyhive/uno/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "Uno",
+    "manufacturer": "Broekhuijsen",
     "url": "https://www.reddit.com/r/mechmarket/comments/gyijm7/gb_uno/",
     "maintainer": "Snipeye",
+    "usb": {
+      "vid": "0xFEED",
+      "pid": "0xACC8"
+    },
     "layouts": {
       "LAYOUT": {
         "layout": [ {"x": 0, "y": 0 }]
diff --git a/keyboards/keyhive/uno/rev1/config.h b/keyboards/keyhive/uno/rev1/config.h
index 11c84ad2ab..279deab5bd 100644
--- a/keyboards/keyhive/uno/rev1/config.h
+++ b/keyboards/keyhive/uno/rev1/config.h
@@ -17,13 +17,6 @@
 #pragma once
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0xACC8
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Broekhuijsen
-#define PRODUCT         Uno rev1
-
 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
 // #define RGBLIGHT_ANIMATIONS
 
diff --git a/keyboards/keyhive/uno/rev1/info.json b/keyboards/keyhive/uno/rev1/info.json
new file mode 100644
index 0000000000..69d6dfba0d
--- /dev/null
+++ b/keyboards/keyhive/uno/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Uno rev1",
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/keyhive/uno/rev2/config.h b/keyboards/keyhive/uno/rev2/config.h
index 37ea08c017..2fc5baaef2 100644
--- a/keyboards/keyhive/uno/rev2/config.h
+++ b/keyboards/keyhive/uno/rev2/config.h
@@ -17,13 +17,6 @@
 #pragma once
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0xACC8
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Broekhuijsen
-#define PRODUCT         Uno rev2
-
 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
 
 /* ENCODER */
diff --git a/keyboards/keyhive/uno/rev2/info.json b/keyboards/keyhive/uno/rev2/info.json
new file mode 100644
index 0000000000..787f306351
--- /dev/null
+++ b/keyboards/keyhive/uno/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Uno rev2",
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/kinesis/alvicstep/config.h b/keyboards/kinesis/alvicstep/config.h
index 8a656264ee..470b3ef4bc 100644
--- a/keyboards/kinesis/alvicstep/config.h
+++ b/keyboards/kinesis/alvicstep/config.h
@@ -3,10 +3,6 @@
 #include "../config.h"
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-
 /* key matrix size */
 #define MATRIX_ROWS 16
 #define MATRIX_COLS  8 
diff --git a/keyboards/kinesis/alvicstep/info.json b/keyboards/kinesis/alvicstep/info.json
new file mode 100644
index 0000000000..1db31a0429
--- /dev/null
+++ b/keyboards/kinesis/alvicstep/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+    "manufacturer": "QMK",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h
index 271625ebd1..aa42ade2a7 100644
--- a/keyboards/kinesis/config.h
+++ b/keyboards/kinesis/config.h
@@ -17,11 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define MANUFACTURER    You
-#define PRODUCT         Kinesis Classic/Advantage/Contoured
-
 // Mouse
 #define MOUSEKEY_DELAY          60
 #define MOUSEKEY_INTERVAL       20
diff --git a/keyboards/kinesis/info.json b/keyboards/kinesis/info.json
index 93259d06bf..5b9baafae4 100644
--- a/keyboards/kinesis/info.json
+++ b/keyboards/kinesis/info.json
@@ -1,5 +1,4 @@
 {
-  "keyboard_name": "Kinesis",
   "url": "",
   "maintainer": "qmk",
   "layouts": {
diff --git a/keyboards/kinesis/kint2pp/config.h b/keyboards/kinesis/kint2pp/config.h
index 54ba07d3d6..e2a3cc467e 100644
--- a/keyboards/kinesis/kint2pp/config.h
+++ b/keyboards/kinesis/kint2pp/config.h
@@ -1,9 +1,5 @@
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0002
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS  7 
diff --git a/keyboards/kinesis/kint2pp/info.json b/keyboards/kinesis/kint2pp/info.json
new file mode 100644
index 0000000000..b44abddfdf
--- /dev/null
+++ b/keyboards/kinesis/kint2pp/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+    "manufacturer": "QMK",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h
index 188c83345d..00aea7508d 100644
--- a/keyboards/kinesis/kint36/config.h
+++ b/keyboards/kinesis/kint36/config.h
@@ -16,18 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#undef VENDOR_ID
-#define VENDOR_ID 0x1209
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x345C
-#undef DEVICE_VER
-#define DEVICE_VER 0x0001
-#undef MANUFACTURER
-#define MANUFACTURER "https://github.com/stapelberg"
-#undef PRODUCT
-#define PRODUCT "kinT (kint36)"
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS 7
diff --git a/keyboards/kinesis/kint36/info.json b/keyboards/kinesis/kint36/info.json
new file mode 100644
index 0000000000..2fbfcc5661
--- /dev/null
+++ b/keyboards/kinesis/kint36/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "kinT (kint36)",
+    "manufacturer": "https://github.com/stapelberg",
+    "usb": {
+        "vid": "0x1209",
+        "pid": "0x345C",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kinesis/kint41/config.h b/keyboards/kinesis/kint41/config.h
index 3e13e84606..934a8efbfb 100644
--- a/keyboards/kinesis/kint41/config.h
+++ b/keyboards/kinesis/kint41/config.h
@@ -16,18 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#undef VENDOR_ID
-#define VENDOR_ID 0x1209
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x345C
-#undef DEVICE_VER
-#define DEVICE_VER 0x0001
-#undef MANUFACTURER
-#define MANUFACTURER "https://github.com/stapelberg"
-#undef PRODUCT
-#define PRODUCT "kinT (kint41)"
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS 7
diff --git a/keyboards/kinesis/kint41/info.json b/keyboards/kinesis/kint41/info.json
new file mode 100644
index 0000000000..45481a5b84
--- /dev/null
+++ b/keyboards/kinesis/kint41/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "kinT (kint41)",
+    "manufacturer": "https://github.com/stapelberg",
+    "usb": {
+        "vid": "0x1209",
+        "pid": "0x345C",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kinesis/kintlc/config.h b/keyboards/kinesis/kintlc/config.h
index 8e15fea479..72d4f88aac 100644
--- a/keyboards/kinesis/kintlc/config.h
+++ b/keyboards/kinesis/kintlc/config.h
@@ -16,18 +16,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#undef VENDOR_ID
-#define VENDOR_ID 0x1209
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x345C
-#undef DEVICE_VER
-#define DEVICE_VER 0x0001
-#undef MANUFACTURER
-#define MANUFACTURER "https://github.com/stapelberg"
-#undef PRODUCT
-#define PRODUCT "kinT (kintlc)"
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS 7
diff --git a/keyboards/kinesis/kintlc/info.json b/keyboards/kinesis/kintlc/info.json
new file mode 100644
index 0000000000..721ebbfe82
--- /dev/null
+++ b/keyboards/kinesis/kintlc/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "kinT (kintlc)",
+    "manufacturer": "https://github.com/stapelberg",
+    "usb": {
+        "vid": "0x1209",
+        "pid": "0x345C",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/kinesis/nguyenvietyen/config.h b/keyboards/kinesis/nguyenvietyen/config.h
index f1b41e61bc..e1fe914eca 100644
--- a/keyboards/kinesis/nguyenvietyen/config.h
+++ b/keyboards/kinesis/nguyenvietyen/config.h
@@ -1,9 +1,5 @@
 #pragma once
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-
 /* key matrix size */
 #define MATRIX_ROWS 16
 #define MATRIX_COLS 8
diff --git a/keyboards/kinesis/nguyenvietyen/info.json b/keyboards/kinesis/nguyenvietyen/info.json
new file mode 100644
index 0000000000..4035bb8e11
--- /dev/null
+++ b/keyboards/kinesis/nguyenvietyen/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+    "manufacturer": "QMK",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h
index fe44131adb..62bff1cd16 100644
--- a/keyboards/kinesis/stapelberg/config.h
+++ b/keyboards/kinesis/stapelberg/config.h
@@ -3,10 +3,6 @@
 #include "../config.h"
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0002
-
 /* key matrix size */
 #define MATRIX_ROWS 15
 #define MATRIX_COLS  7 
diff --git a/keyboards/kinesis/stapelberg/info.json b/keyboards/kinesis/stapelberg/info.json
new file mode 100644
index 0000000000..b44abddfdf
--- /dev/null
+++ b/keyboards/kinesis/stapelberg/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+    "manufacturer": "QMK",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6060",
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/kingly_keys/ave/config.h b/keyboards/kingly_keys/ave/config.h
index 8a663da356..5a428b077e 100644
--- a/keyboards/kingly_keys/ave/config.h
+++ b/keyboards/kingly_keys/ave/config.h
@@ -19,13 +19,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4B4B // "KK"
-#define PRODUCT_ID      0x1225
-#define DEVICE_VER      0x0011
-#define MANUFACTURER    Kingly-Keys
-#define PRODUCT         The Ave.
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 13
diff --git a/keyboards/kingly_keys/ave/ortho/info.json b/keyboards/kingly_keys/ave/ortho/info.json
index e45a3bbe44..bc8b83334f 100644
--- a/keyboards/kingly_keys/ave/ortho/info.json
+++ b/keyboards/kingly_keys/ave/ortho/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "The Ave. (Ortholinear Ed. PCB)",
+  "keyboard_name": "The Ave. Ortholinear",
+  "manufacturer": "Kingly-Keys",
   "url": "",
   "maintainer": "the-royal",
+  "usb": {
+      "vid": "0x4B4B",
+      "pid": "0x1225",
+      "device_version": "0.1.1"
+  },
   "layouts": {
     "LAYOUT_ortho_all": {
        "layout": [
diff --git a/keyboards/kingly_keys/ave/staggered/info.json b/keyboards/kingly_keys/ave/staggered/info.json
index bb720b196b..9757472b9f 100644
--- a/keyboards/kingly_keys/ave/staggered/info.json
+++ b/keyboards/kingly_keys/ave/staggered/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "The Ave. (Staggered Ed. PCB)",
+  "keyboard_name": "The Ave. Staggered",
+  "manufacturer": "Kingly-Keys",
   "url": "",
   "maintainer": "the-royal",
+  "usb": {
+     "vid": "0x4B4B",
+     "pid": "0x1225",
+     "device_version": "0.1.1"
+  },
   "layouts": {
      "LAYOUT_staggered": {
         "layout": [
diff --git a/keyboards/kudox_game/info.json b/keyboards/kudox_game/info.json
index 47fdd84b34..4cfc75850a 100644
--- a/keyboards/kudox_game/info.json
+++ b/keyboards/kudox_game/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "Kudox Game Keyboard",
+    "keyboard_name": "The Kudox Game Keyboard",
+    "manufacturer": "Kumao Kobo",
     "url": "",
     "maintainer": "Kumao Kobo",
+    "usb": {
+        "vid": "0xABBA",
+        "pid": "0x9696"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/kudox_game/rev1/config.h b/keyboards/kudox_game/rev1/config.h
index 821a6af8bb..1fc6411359 100644
--- a/keyboards/kudox_game/rev1/config.h
+++ b/keyboards/kudox_game/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       0xABBA
-#define PRODUCT_ID      0x9696
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Kumao Kobo
-#define PRODUCT         The Kudox Game Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 7
diff --git a/keyboards/kudox_game/rev1/info.json b/keyboards/kudox_game/rev1/info.json
new file mode 100644
index 0000000000..ad889c2304
--- /dev/null
+++ b/keyboards/kudox_game/rev1/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kudox_game/rev2/config.h
index e1907bf29f..f61b42eb7f 100644
--- a/keyboards/kudox_game/rev2/config.h
+++ b/keyboards/kudox_game/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       0xABBA
-#define PRODUCT_ID      0x9696
-#define DEVICE_VER      0x0200
-#define MANUFACTURER    Kumao Kobo
-#define PRODUCT         The Kudox Game Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 7
diff --git a/keyboards/kudox_game/rev2/info.json b/keyboards/kudox_game/rev2/info.json
new file mode 100644
index 0000000000..3bdd63ee28
--- /dev/null
+++ b/keyboards/kudox_game/rev2/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "2.0.0"
+    }
+}
diff --git a/keyboards/late9/config.h b/keyboards/late9/config.h
index a4dc07a7c4..6057518955 100644
--- a/keyboards/late9/config.h
+++ b/keyboards/late9/config.h
@@ -18,12 +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       0xFEED
-#define PRODUCT_ID      0x3777
-#define MANUFACTURER    rookiebwoy
-#define PRODUCT         LATE-9
-
 /* COL2ROW or ROW2COL */
 #define DIODE_DIRECTION ROW2COL
 
diff --git a/keyboards/late9/rev1/config.h b/keyboards/late9/rev1/config.h
index 20d1a553cc..7521f34330 100644
--- a/keyboards/late9/rev1/config.h
+++ b/keyboards/late9/rev1/config.h
@@ -18,9 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define DEVICE_VER      0x0010
-
 /* Column/Row IO definitions */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 3
diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json
index 66175c9afa..b439b05347 100644
--- a/keyboards/late9/rev1/info.json
+++ b/keyboards/late9/rev1/info.json
@@ -1,8 +1,13 @@
 {
     "keyboard_name": "LATE-9",
-    "keyboard_folder": "late9/rev1",
+    "manufacturer": "rookiebwoy",
     "url": "https://github.com/rookiebwoy/late-9)",
     "maintainer": "rookiebwoy",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x3777",
+        "device_version": "0.1.0"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/lazydesigners/dimple/config.h b/keyboards/lazydesigners/dimple/config.h
index 7ed6da4064..5e68b6e660 100644
--- a/keyboards/lazydesigners/dimple/config.h
+++ b/keyboards/lazydesigners/dimple/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       0x4C44 // "LD"
-#define PRODUCT_ID      0x0040
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    LazyDesigners
-#define PRODUCT         Dimple
-
 /* key matrix size */
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 12
diff --git a/keyboards/lazydesigners/dimple/ortho/info.json b/keyboards/lazydesigners/dimple/ortho/info.json
index dbe70f821f..752f8293d4 100644
--- a/keyboards/lazydesigners/dimple/ortho/info.json
+++ b/keyboards/lazydesigners/dimple/ortho/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dimple", 
+    "manufacturer": "LazyDesigners",
     "url": "http://lazydesigners.cn", 
     "maintainer": "Jacky@LAZYDESIGNERS", 
+    "usb": {
+        "vid": "0x4C44",
+        "pid": "0x0040",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_ortho_2u": {
             "layout": [
diff --git a/keyboards/lazydesigners/dimple/staggered/info.json b/keyboards/lazydesigners/dimple/staggered/info.json
index 4cfa1e6f18..36be5aefeb 100644
--- a/keyboards/lazydesigners/dimple/staggered/info.json
+++ b/keyboards/lazydesigners/dimple/staggered/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Dimple", 
+    "manufacturer": "LazyDesigners",
     "url": "http://lazydesigners.cn", 
     "maintainer": "Erovia", 
+    "usb": {
+        "vid": "0x4C44",
+        "pid": "0x0040",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/lets_split/info.json b/keyboards/lets_split/info.json
index aa47a84834..0bb8f31219 100644
--- a/keyboards/lets_split/info.json
+++ b/keyboards/lets_split/info.json
@@ -1,5 +1,4 @@
 {
-  "keyboard_name": "Let's Split",
   "url": "",
   "maintainer": "qmk",
   "layouts": {
diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h
index fc9e348a86..77b0c3b095 100644
--- a/keyboards/lets_split/rev1/config.h
+++ b/keyboards/lets_split/rev1/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x3060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Wootpatoot
-#define PRODUCT         Lets Split v1
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/rev1/info.json b/keyboards/lets_split/rev1/info.json
new file mode 100644
index 0000000000..ae781da15f
--- /dev/null
+++ b/keyboards/lets_split/rev1/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Lets Split v1",
+    "manufacturer": "Wootpatoot",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x3060",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h
index 7d8dff4f2f..6fbfaba982 100644
--- a/keyboards/lets_split/rev2/config.h
+++ b/keyboards/lets_split/rev2/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x6F77
-#define PRODUCT_ID      0x0002
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Wootpatoot
-#define PRODUCT         Lets Split v2
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/rev2/info.json b/keyboards/lets_split/rev2/info.json
new file mode 100644
index 0000000000..fd9960697b
--- /dev/null
+++ b/keyboards/lets_split/rev2/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Lets Split v2",
+    "manufacturer": "Wootpatoot",
+    "usb": {
+        "vid": "0x6F77",
+        "pid": "0x0002",
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
index 70cbc18cd5..0adf933032 100644
--- a/keyboards/lets_split/sockets/config.h
+++ b/keyboards/lets_split/sockets/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0BEE
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Duckle29
-#define PRODUCT         Lets Split Sockets
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/sockets/info.json b/keyboards/lets_split/sockets/info.json
new file mode 100644
index 0000000000..700fffb622
--- /dev/null
+++ b/keyboards/lets_split/sockets/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Lets Split Sockets",
+    "manufacturer": "Duckle29",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0BEE",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/lfkeyboards/smk65/info.json b/keyboards/lfkeyboards/smk65/info.json
index 038893c8f3..5522d1bbb7 100644
--- a/keyboards/lfkeyboards/smk65/info.json
+++ b/keyboards/lfkeyboards/smk65/info.json
@@ -1,7 +1,12 @@
 {
-  "keyboard_name": "SMK65",
+  "keyboard_name": "SMK65v2",
+  "manufacturer": "LFKeyboards",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0x4C46",
+    "device_version": "0.0.6"
+  },
   "layouts": {
     "LAYOUT_65_ansi": {
       "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, "w":2}, {"x":15, "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, "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, "y":2}, {"x":0, "y":3, "w":2.25}, {"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":15, "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}, {"x":15, "y":4}]
diff --git a/keyboards/lfkeyboards/smk65/revb/config.h b/keyboards/lfkeyboards/smk65/revb/config.h
index ecb183e8af..a5649075e0 100644
--- a/keyboards/lfkeyboards/smk65/revb/config.h
+++ b/keyboards/lfkeyboards/smk65/revb/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       0x4C46   // "LF"
-#define PRODUCT_ID      0x565B   // "s65b"
-#define DEVICE_VER      0x0006
-#define MANUFACTURER    LFKeyboards
-#define PRODUCT         SMK65v2
-
 // RevA
 // #define DIODE_DIRECTION COL2ROW
 // #define MATRIX_ROWS 5
diff --git a/keyboards/lfkeyboards/smk65/revb/info.json b/keyboards/lfkeyboards/smk65/revb/info.json
new file mode 100644
index 0000000000..8790e7e33a
--- /dev/null
+++ b/keyboards/lfkeyboards/smk65/revb/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "pid": "0x565B"
+    }
+}
diff --git a/keyboards/lfkeyboards/smk65/revf/config.h b/keyboards/lfkeyboards/smk65/revf/config.h
index 1b8295b152..9ef7ce72a8 100644
--- a/keyboards/lfkeyboards/smk65/revf/config.h
+++ b/keyboards/lfkeyboards/smk65/revf/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       0x4C46   // "LF"
-#define PRODUCT_ID      0x565F   // "s65f"
-#define DEVICE_VER      0x0006
-#define MANUFACTURER    LFKeyboards
-#define PRODUCT         SMK65v2
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
diff --git a/keyboards/lfkeyboards/smk65/revf/info.json b/keyboards/lfkeyboards/smk65/revf/info.json
new file mode 100644
index 0000000000..071eab2f47
--- /dev/null
+++ b/keyboards/lfkeyboards/smk65/revf/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "pid": "0x565F"
+    }
+}