summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-09-30 04:23:11 +1000
committerGitHub <noreply@github.com>2022-09-30 04:23:11 +1000
commit45b5ed5c6e1ecdf95e9ce0523a8ff49d45b8822f (patch)
tree081caca5fb2e86ba1af0550a35e6743235cb6922
parentbad8c6718901603b8a64d371b003ae4ab6a24044 (diff)
Onekey: migrate some stuff to data driven (#18502)
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/info.json13
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/rules.mk7
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/info.json13
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/rules.mk7
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json15
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk7
-rw-r--r--keyboards/handwired/onekey/bluepill/config.h8
-rw-r--r--keyboards/handwired/onekey/bluepill/info.json13
-rw-r--r--keyboards/handwired/onekey/bluepill/rules.mk6
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/config.h9
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/info.json14
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/rules.mk4
-rw-r--r--keyboards/handwired/onekey/config.h10
-rw-r--r--keyboards/handwired/onekey/elite_c/config.h6
-rw-r--r--keyboards/handwired/onekey/elite_c/info.json13
-rw-r--r--keyboards/handwired/onekey/elite_c/rules.mk5
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/config.h8
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/info.json8
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/rules.mk6
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/config.h8
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/info.json8
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/rules.mk6
-rw-r--r--keyboards/handwired/onekey/info.json15
-rw-r--r--keyboards/handwired/onekey/kb2040/config.h6
-rw-r--r--keyboards/handwired/onekey/kb2040/info.json10
-rw-r--r--keyboards/handwired/onekey/kb2040/rules.mk5
-rw-r--r--keyboards/handwired/onekey/keymaps/quine/keymap.c4
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/config.h5
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/info.json14
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/rules.mk5
-rw-r--r--keyboards/handwired/onekey/onekey.c2
-rw-r--r--keyboards/handwired/onekey/onekey.h25
-rw-r--r--keyboards/handwired/onekey/promicro/config.h6
-rw-r--r--keyboards/handwired/onekey/promicro/info.json13
-rw-r--r--keyboards/handwired/onekey/promicro/rules.mk5
-rw-r--r--keyboards/handwired/onekey/proton_c/config.h5
-rw-r--r--keyboards/handwired/onekey/proton_c/info.json13
-rw-r--r--keyboards/handwired/onekey/proton_c/rules.mk6
-rw-r--r--keyboards/handwired/onekey/rp2040/config.h6
-rw-r--r--keyboards/handwired/onekey/rp2040/info.json11
-rw-r--r--keyboards/handwired/onekey/rp2040/rules.mk3
-rw-r--r--keyboards/handwired/onekey/rules.mk15
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/config.h7
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/info.json15
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/rules.mk10
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/config.h8
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/info.json14
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/rules.mk6
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/config.h22
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/info.json8
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_2/config.h9
-rw-r--r--keyboards/handwired/onekey/teensy_2/info.json14
-rw-r--r--keyboards/handwired/onekey/teensy_2/rules.mk5
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/config.h9
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/info.json14
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/rules.mk5
-rw-r--r--keyboards/handwired/onekey/teensy_32/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_32/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_32/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_35/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_35/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_35/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_lc/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_lc/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_lc/rules.mk5
69 files changed, 259 insertions, 335 deletions
diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h
index 2554e2207c..4e9552480f 100644
--- a/keyboards/handwired/onekey/blackpill_f401/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401/config.h
@@ -18,13 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { A7 }
-
-#define BACKLIGHT_PIN         A0
 #define BACKLIGHT_PWM_DRIVER  PWMD5
 #define BACKLIGHT_PWM_CHANNEL 1
 
-#define RGB_DI_PIN A1
-
 #define ADC_PIN A0
+
+#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/blackpill_f401/info.json b/keyboards/handwired/onekey/blackpill_f401/info.json
index 50afb4b9b0..b79b17b000 100644
--- a/keyboards/handwired/onekey/blackpill_f401/info.json
+++ b/keyboards/handwired/onekey/blackpill_f401/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Blackpill STM32F401"
+    "keyboard_name": "Onekey Blackpill STM32F401",
+    "development_board": "blackpill_f401",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A0"
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/blackpill_f401/rules.mk b/keyboards/handwired/onekey/blackpill_f401/rules.mk
index 1fec226e9b..1071cf62ee 100644
--- a/keyboards/handwired/onekey/blackpill_f401/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f401/rules.mk
@@ -1,8 +1 @@
-# MCU name
-MCU = STM32F401
-BOARD = BLACKPILL_STM32_F401
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
 KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h
index 9e9737fbf5..b97df0c666 100644
--- a/keyboards/handwired/onekey/blackpill_f411/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411/config.h
@@ -18,17 +18,13 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { A7 }
-
-#define BACKLIGHT_PIN         A0
 #define BACKLIGHT_PWM_DRIVER  PWMD5
 #define BACKLIGHT_PWM_CHANNEL 1
 
-#define RGB_DI_PIN A1
-
 #define ADC_PIN A0
 
+#define RGB_CI_PIN A2
+
 #define SOLENOID_PIN B12
 #define SOLENOID_PINS { B12, B13, B14, B15 }
 #define SOLENOID_PINS_ACTIVE_STATE { high, high, low }
diff --git a/keyboards/handwired/onekey/blackpill_f411/info.json b/keyboards/handwired/onekey/blackpill_f411/info.json
index 0b2c14d5b9..19c6cbfed9 100644
--- a/keyboards/handwired/onekey/blackpill_f411/info.json
+++ b/keyboards/handwired/onekey/blackpill_f411/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Blackpill STM32F411"
+    "keyboard_name": "Onekey Blackpill STM32F411",
+    "development_board": "blackpill_f411",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A0"
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/blackpill_f411/rules.mk b/keyboards/handwired/onekey/blackpill_f411/rules.mk
index cd1657335d..1071cf62ee 100644
--- a/keyboards/handwired/onekey/blackpill_f411/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411/rules.mk
@@ -1,8 +1 @@
-# MCU name
-MCU = STM32F411
-BOARD = BLACKPILL_STM32_F411
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
 KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
index f4b589c6d2..c8800fa163 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
@@ -18,13 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { A7 }
-
-#define BACKLIGHT_PIN         A0
 #define BACKLIGHT_PWM_DRIVER  PWMD5
 #define BACKLIGHT_PWM_CHANNEL 1
 
-#define RGB_DI_PIN A1
-
 #define ADC_PIN A0
+
+#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
index 59cdec59f7..3acccb7148 100644
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
@@ -1,3 +1,16 @@
 {
-    "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2"
+    "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2",
+    "processor": "STM32F411",
+    "bootloader": "tinyuf2",
+    "board": "BLACKPILL_STM32_F411",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A0"
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
index 2c38e9b580..1071cf62ee 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
@@ -1,8 +1 @@
-# MCU name
-MCU = STM32F411
-BOARD = BLACKPILL_STM32_F411
-
-# Bootloader selection
-BOOTLOADER = tinyuf2
-
 KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/bluepill/config.h b/keyboards/handwired/onekey/bluepill/config.h
index 0f85ad91c7..79fa79595a 100644
--- a/keyboards/handwired/onekey/bluepill/config.h
+++ b/keyboards/handwired/onekey/bluepill/config.h
@@ -18,13 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { A7 }
-
-#define BACKLIGHT_PIN         A0
 #define BACKLIGHT_PWM_DRIVER  PWMD2
 #define BACKLIGHT_PWM_CHANNEL 1
 
-#define RGB_DI_PIN A1
-
 #define ADC_PIN A0
+
+#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/bluepill/info.json b/keyboards/handwired/onekey/bluepill/info.json
index 2126c62b05..7bef2db170 100644
--- a/keyboards/handwired/onekey/bluepill/info.json
+++ b/keyboards/handwired/onekey/bluepill/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Bluepill STM32F103"
+    "keyboard_name": "Onekey Bluepill STM32F103",
+    "development_board": "bluepill",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A0"
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/bluepill/rules.mk b/keyboards/handwired/onekey/bluepill/rules.mk
index 019b1130d9..a92b099328 100644
--- a/keyboards/handwired/onekey/bluepill/rules.mk
+++ b/keyboards/handwired/onekey/bluepill/rules.mk
@@ -1,8 +1,2 @@
-# MCU name
-MCU = STM32F103
-
-# Bootloader selection
-BOOTLOADER = stm32duino
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/config.h b/keyboards/handwired/onekey/bluepill_f103c6/config.h
index 903277bd3b..8b62ed86f2 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/config.h
+++ b/keyboards/handwired/onekey/bluepill_f103c6/config.h
@@ -18,18 +18,13 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { A7 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN         A0
 #define BACKLIGHT_PWM_DRIVER  PWMD2
 #define BACKLIGHT_PWM_CHANNEL 1
 
-#define RGB_DI_PIN A1
-
 #define ADC_PIN A0
 
+#define RGB_CI_PIN A2
+
 // This code does not fit into the really small flash of STM32F103x6 together
 // with CONSOLE_ENABLE=yes, and the debugging console is probably more
 // important for the "okeney" testing firmware.  In a real firmware you may be
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/info.json b/keyboards/handwired/onekey/bluepill_f103c6/info.json
index 0ef180f6ec..353f074d92 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/info.json
+++ b/keyboards/handwired/onekey/bluepill_f103c6/info.json
@@ -1,3 +1,15 @@
 {
-    "keyboard_name": "Onekey Bluepill STM32F103C6"
+    "keyboard_name": "Onekey Bluepill STM32F103C6",
+    "processor": "STM32F103",
+    "board": "STM32_F103_STM32DUINO",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A0"
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/rules.mk b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
index f2280a1a59..c76a8ebe6e 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
+++ b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
@@ -1,12 +1,8 @@
-# MCU name
-MCU = STM32F103
-
 # Bootloader selection
 # Cannot use `BOOTLOADER = stm32duino` due to the need to override
 # `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually.
 OPT_DEFS += -DBOOTLOADER_STM32DUINO
 MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader
-BOARD = STM32_F103_STM32DUINO
 BOOTLOADER_TYPE = stm32duino
 DFU_ARGS = -d 1EAF:0003 -a 2 -R
 DFU_SUFFIX_ARGS = -v 1EAF -p 0003
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
index f1ce6d9491..9fcd881321 100644
--- a/keyboards/handwired/onekey/config.h
+++ b/keyboards/handwired/onekey/config.h
@@ -17,16 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
 /* define if matrix has ghost (lacks anti-ghosting diodes) */
 //#define MATRIX_HAS_GHOST
 
diff --git a/keyboards/handwired/onekey/elite_c/config.h b/keyboards/handwired/onekey/elite_c/config.h
index 83eded68de..473cfdfbda 100644
--- a/keyboards/handwired/onekey/elite_c/config.h
+++ b/keyboards/handwired/onekey/elite_c/config.h
@@ -18,12 +18,6 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { F4 }
-#define MATRIX_ROW_PINS { F5 }
-
-#define BACKLIGHT_PIN B6
-
-#define RGB_DI_PIN F6
 #define RGB_CI_PIN B1
 
 #define ADC_PIN F6
diff --git a/keyboards/handwired/onekey/elite_c/info.json b/keyboards/handwired/onekey/elite_c/info.json
index d86f8b4395..1548561041 100644
--- a/keyboards/handwired/onekey/elite_c/info.json
+++ b/keyboards/handwired/onekey/elite_c/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Elite-C"
+    "keyboard_name": "Onekey Elite-C",
+    "development_board": "elite_c",
+    "matrix_pins": {
+        "cols": ["F4"],
+        "rows": ["F5"]
+    },
+    "backlight": {
+        "pin": "B6"
+    },
+    "rgblight": {
+        "pin": "F6"
+    }
 }
diff --git a/keyboards/handwired/onekey/elite_c/rules.mk b/keyboards/handwired/onekey/elite_c/rules.mk
index e8326bcf09..e69de29bb2 100644
--- a/keyboards/handwired/onekey/elite_c/rules.mk
+++ b/keyboards/handwired/onekey/elite_c/rules.mk
@@ -1,5 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
deleted file mode 100644
index 722aa59821..0000000000
--- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2021 Nick Brassel (@tzarc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#include "config_common.h"
-
-#define MATRIX_COL_PINS { B12 }
-#define MATRIX_ROW_PINS { B13 }
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/info.json b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
index c4d9d317e5..6287cdc34a 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/info.json
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey WB32F3G71 Eval"
+    "keyboard_name": "Onekey WB32F3G71 Eval",
+    "processor": "WB32F3G71",
+    "bootloader": "wb32-dfu",
+    "matrix_pins": {
+        "cols": ["B12"],
+        "rows": ["B13"]
+    }
 }
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk b/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
index 9f64c6683f..033dd66aa4 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = WB32F3G71
-
-# Bootloader selection
-BOOTLOADER = wb32-dfu
-
 MOUSEKEY_ENABLE = no       # Mouse keys
 EXTRAKEY_ENABLE = no       # Audio control and System control
 NKRO_ENABLE = no           # Enable N-Key Rollover
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h
deleted file mode 100644
index 722aa59821..0000000000
--- a/keyboards/handwired/onekey/evb_wb32fq95/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2021 Nick Brassel (@tzarc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#include "config_common.h"
-
-#define MATRIX_COL_PINS { B12 }
-#define MATRIX_ROW_PINS { B13 }
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/info.json b/keyboards/handwired/onekey/evb_wb32fq95/info.json
index ccc65b2e70..3fc1c88657 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/info.json
+++ b/keyboards/handwired/onekey/evb_wb32fq95/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey WB32FQ95 Eval"
+    "keyboard_name": "Onekey WB32FQ95 Eval",
+    "processor": "WB32FQ95",
+    "bootloader": "wb32-dfu",
+    "matrix_pins": {
+        "cols": ["B12"],
+        "rows": ["B13"]
+    }
 }
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/rules.mk b/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
index d0dcd16292..033dd66aa4 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
+++ b/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = WB32FQ95
-
-# Bootloader selection
-BOOTLOADER = wb32-dfu
-
 MOUSEKEY_ENABLE = no       # Mouse keys
 EXTRAKEY_ENABLE = no       # Audio control and System control
 NKRO_ENABLE = no           # Enable N-Key Rollover
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
index 46cdc82827..605e73e726 100644
--- a/keyboards/handwired/onekey/info.json
+++ b/keyboards/handwired/onekey/info.json
@@ -7,10 +7,23 @@
         "pid": "0x6465",
         "device_version": "0.0.1"
     },
+    "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": false,
+        "mousekey": true,
+        "extrakey": true,
+        "console": true,
+        "command": false,
+        "nkro": true,
+        "backlight": false,
+        "rgblight": false,
+        "audio": false
+    },
+    "community_layouts": ["ortho_1x1"],
     "layouts": {
         "LAYOUT_ortho_1x1": {
             "layout": [
-                {"x": 0, "y": 0}
+                {"x": 0, "y": 0, "matrix": [0, 0]}
             ]
         }
     }
diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h
index 0bf7adf37f..c6c6dbe2cf 100644
--- a/keyboards/handwired/onekey/kb2040/config.h
+++ b/keyboards/handwired/onekey/kb2040/config.h
@@ -5,10 +5,6 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS \
-    { GP4 }
-#define MATRIX_ROW_PINS \
-    { GP5 }
 #define DEBUG_MATRIX_SCAN_RATE
 
 #define QMK_WAITING_TEST_BUSY_PIN GP8
@@ -18,8 +14,6 @@
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
 
-#define RGB_DI_PIN A1
-
 // settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port
 #define OLED_DISPLAY_128X32
 #define I2C_DRIVER I2CD1
diff --git a/keyboards/handwired/onekey/kb2040/info.json b/keyboards/handwired/onekey/kb2040/info.json
index 696b772142..7982db4678 100644
--- a/keyboards/handwired/onekey/kb2040/info.json
+++ b/keyboards/handwired/onekey/kb2040/info.json
@@ -1,3 +1,11 @@
 {
-    "keyboard_name": "Onekey KB2040"
+    "keyboard_name": "Onekey KB2040",
+    "development_board": "kb2040",
+    "matrix_pins": {
+        "cols": ["GP4"],
+        "rows": ["GP5"]
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/kb2040/rules.mk b/keyboards/handwired/onekey/kb2040/rules.mk
index 624b331bf8..a5429ba993 100644
--- a/keyboards/handwired/onekey/kb2040/rules.mk
+++ b/keyboards/handwired/onekey/kb2040/rules.mk
@@ -1,9 +1,4 @@
-# MCU name
-MCU = RP2040
-BOOTLOADER = rp2040
-
 OLED_ENABLE = yes
 OLED_DRIVER = SSD1306
 
 OPT_DEFS += -DHAL_USE_I2C=TRUE
-
diff --git a/keyboards/handwired/onekey/keymaps/quine/keymap.c b/keyboards/handwired/onekey/keymaps/quine/keymap.c
index e7c1e6d064..f440bba83a 100644
--- a/keyboards/handwired/onekey/keymaps/quine/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/quine/keymap.c
@@ -1,7 +1,7 @@
-#include <handwired/onekey/onekey.h>
+#include <quantum.h>
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };
 const char *buf[30] = {
-"#include <handwired/onekey/onekey.h>",
+"#include <quantum.h>",
 "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };",
 "const char *buf[30] = {",
 "",
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h
index b6b36c4cee..24b136fe2a 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/config.h
+++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h
@@ -4,15 +4,10 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { A2 }
-#define MATRIX_ROW_PINS { A1 }
-
-#define BACKLIGHT_PIN         B8
 #define BACKLIGHT_PWM_DRIVER  PWMD4
 #define BACKLIGHT_PWM_CHANNEL 3
 #define BACKLIGHT_PAL_MODE    2
 
-#define RGB_DI_PIN A0
 #define RGB_CI_PIN B13
 
 #define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/info.json b/keyboards/handwired/onekey/nucleo_l432kc/info.json
index 3f497fc80a..a6e6511040 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/info.json
+++ b/keyboards/handwired/onekey/nucleo_l432kc/info.json
@@ -1,3 +1,15 @@
 {
-    "keyboard_name": "Onekey Nucleo L432KC"
+    "keyboard_name": "Onekey Nucleo L432KC",
+    "processor": "STM32L432",
+    "bootloader": "stm32-dfu",
+    "matrix_pins": {
+        "cols": ["A2"],
+        "rows": ["A1"]
+    },
+    "backlight": {
+        "pin": "B8"
+    },
+    "rgblight": {
+        "pin": "A0"
+    }
 }
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/rules.mk b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
index 64dae7746e..e69de29bb2 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
+++ b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
@@ -1,5 +0,0 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/onekey.c b/keyboards/handwired/onekey/onekey.c
index a29f9ea6d0..14c7697328 100644
--- a/keyboards/handwired/onekey/onekey.c
+++ b/keyboards/handwired/onekey/onekey.c
@@ -1,7 +1,7 @@
 // Copyright 2022 QMK
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "onekey.h"
+#include "quantum.h"
 
 void keyboard_post_init_kb(void) {
     debug_enable   = true;
diff --git a/keyboards/handwired/onekey/onekey.h b/keyboards/handwired/onekey/onekey.h
deleted file mode 100644
index 72cab45be5..0000000000
--- a/keyboards/handwired/onekey/onekey.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2019
- *
- * 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
-
-#include "quantum.h"
-
-#define LAYOUT_ortho_1x1( \
-    k00 \
-) { \
-    { k00 } \
-}
diff --git a/keyboards/handwired/onekey/promicro/config.h b/keyboards/handwired/onekey/promicro/config.h
index 83eded68de..473cfdfbda 100644
--- a/keyboards/handwired/onekey/promicro/config.h
+++ b/keyboards/handwired/onekey/promicro/config.h
@@ -18,12 +18,6 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { F4 }
-#define MATRIX_ROW_PINS { F5 }
-
-#define BACKLIGHT_PIN B6
-
-#define RGB_DI_PIN F6
 #define RGB_CI_PIN B1
 
 #define ADC_PIN F6
diff --git a/keyboards/handwired/onekey/promicro/info.json b/keyboards/handwired/onekey/promicro/info.json
index 6b35da4d75..efefd8d45c 100644
--- a/keyboards/handwired/onekey/promicro/info.json
+++ b/keyboards/handwired/onekey/promicro/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Pro Micro"
+    "keyboard_name": "Onekey Pro Micro",
+    "development_board": "promicro",
+    "matrix_pins": {
+        "cols": ["F4"],
+        "rows": ["F5"]
+    },
+    "backlight": {
+        "pin": "B6"
+    },
+    "rgblight": {
+        "pin": "F6"
+    }
 }
diff --git a/keyboards/handwired/onekey/promicro/rules.mk b/keyboards/handwired/onekey/promicro/rules.mk
index cf663a7ed6..e69de29bb2 100644
--- a/keyboards/handwired/onekey/promicro/rules.mk
+++ b/keyboards/handwired/onekey/promicro/rules.mk
@@ -1,5 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h
index 6e8e28edb4..776c422398 100644
--- a/keyboards/handwired/onekey/proton_c/config.h
+++ b/keyboards/handwired/onekey/proton_c/config.h
@@ -18,15 +18,10 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { A2 }
-#define MATRIX_ROW_PINS { A1 }
-
-#define BACKLIGHT_PIN         B8
 #define BACKLIGHT_PWM_DRIVER  PWMD4
 #define BACKLIGHT_PWM_CHANNEL 3
 #define BACKLIGHT_PAL_MODE    2
 
-#define RGB_DI_PIN A0
 #define RGB_CI_PIN B13
 
 #define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/proton_c/info.json b/keyboards/handwired/onekey/proton_c/info.json
index 47ac089f7a..5292d02567 100644
--- a/keyboards/handwired/onekey/proton_c/info.json
+++ b/keyboards/handwired/onekey/proton_c/info.json
@@ -1,3 +1,14 @@
 {
-    "keyboard_name": "Onekey Proton-C"
+    "keyboard_name": "Onekey Proton-C",
+    "development_board": "proton_c",
+    "matrix_pins": {
+        "cols": ["A2"],
+        "rows": ["A1"]
+    },
+    "backlight": {
+        "pin": "B8"
+    },
+    "rgblight": {
+        "pin": "A0"
+    }
 }
diff --git a/keyboards/handwired/onekey/proton_c/rules.mk b/keyboards/handwired/onekey/proton_c/rules.mk
index 7a846816d1..e69de29bb2 100644
--- a/keyboards/handwired/onekey/proton_c/rules.mk
+++ b/keyboards/handwired/onekey/proton_c/rules.mk
@@ -1,6 +0,0 @@
-# MCU name
-MCU = STM32F303
-BOARD = QMK_PROTON_C
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h
index c0ef468aa9..bcf4047a4f 100644
--- a/keyboards/handwired/onekey/rp2040/config.h
+++ b/keyboards/handwired/onekey/rp2040/config.h
@@ -5,10 +5,6 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS \
-    { GP4 }
-#define MATRIX_ROW_PINS \
-    { GP5 }
 #define DEBUG_MATRIX_SCAN_RATE
 
 #define QMK_WAITING_TEST_BUSY_PIN GP8
@@ -17,5 +13,3 @@
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-
-#define RGB_DI_PIN A1
diff --git a/keyboards/handwired/onekey/rp2040/info.json b/keyboards/handwired/onekey/rp2040/info.json
index 696b021dc1..b34a1cc206 100644
--- a/keyboards/handwired/onekey/rp2040/info.json
+++ b/keyboards/handwired/onekey/rp2040/info.json
@@ -1,3 +1,12 @@
 {
-    "keyboard_name": "Onekey RP2040"
+    "keyboard_name": "Onekey RP2040",
+    "processor": "RP2040",
+    "bootloader": "rp2040",
+    "matrix_pins": {
+        "cols": ["GP4"],
+        "rows": ["GP5"]
+    },
+    "rgblight": {
+        "pin": "A1"
+    }
 }
diff --git a/keyboards/handwired/onekey/rp2040/rules.mk b/keyboards/handwired/onekey/rp2040/rules.mk
index 646402d0bb..e69de29bb2 100644
--- a/keyboards/handwired/onekey/rp2040/rules.mk
+++ b/keyboards/handwired/onekey/rp2040/rules.mk
@@ -1,3 +0,0 @@
-# MCU name
-MCU = RP2040
-BOOTLOADER = rp2040
diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk
index 98a145f714..2094801ed9 100644
--- a/keyboards/handwired/onekey/rules.mk
+++ b/keyboards/handwired/onekey/rules.mk
@@ -1,16 +1 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
 DEFAULT_FOLDER = handwired/onekey/promicro
-
-LAYOUTS = ortho_1x1
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/config.h b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
index 6f97baf57f..74ae76f594 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/config.h
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
@@ -18,16 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS \
-    { B0 }
-#define MATRIX_ROW_PINS \
-    { A7 }
-
-#define BACKLIGHT_PIN A1           /* Green LED. */
 #define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */
 #define BACKLIGHT_PWM_CHANNEL 2    /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */
 
-#define RGB_DI_PIN A2
 #define RGB_CI_PIN B13
 
 #define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/info.json b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
index 10f661c3d9..d14928139b 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/info.json
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
@@ -1,3 +1,16 @@
 {
-    "keyboard_name": "Onekey Sipeed Longan Nano"
+    "keyboard_name": "Onekey Sipeed Longan Nano",
+    "processor": "GD32VF103",
+    "bootloader": "gd32v-dfu",
+    "board": "SIPEED_LONGAN_NANO",
+    "matrix_pins": {
+        "cols": ["B0"],
+        "rows": ["A7"]
+    },
+    "backlight": {
+        "pin": "A1"
+    },
+    "rgblight": {
+        "pin": "A2"
+    }
 }
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk b/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
index aef4fee6b2..1071cf62ee 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
@@ -1,11 +1 @@
-# MCU name
-MCU   = GD32VF103
-BOARD = SIPEED_LONGAN_NANO
-
-# Bootloader selection
-BOOTLOADER = gd32v-dfu
-
-# Build Options
-#   change yes to no to disable
-#
 KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h
index 373f1c943a..7d23fb9307 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f0_disco/config.h
@@ -18,14 +18,10 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { B4 }
-#define MATRIX_ROW_PINS { B5 }
-
-#define BACKLIGHT_PIN         C8
 #define BACKLIGHT_PWM_DRIVER  PWMD3
 #define BACKLIGHT_PWM_CHANNEL 3
 #define BACKLIGHT_PAL_MODE    0
 
-#define RGB_DI_PIN B15
-
 #define ADC_PIN A0
+
+#define RGB_CI_PIN B13
diff --git a/keyboards/handwired/onekey/stm32f0_disco/info.json b/keyboards/handwired/onekey/stm32f0_disco/info.json
index ef4312059b..c76bd73173 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/info.json
+++ b/keyboards/handwired/onekey/stm32f0_disco/info.json
@@ -1,3 +1,15 @@
 {
-    "keyboard_name": "Onekey STM32F072 Discovery"
+    "keyboard_name": "Onekey STM32F072 Discovery",
+    "processor": "STM32F072",
+    "bootloader": "stm32-dfu",
+    "matrix_pins": {
+        "cols": ["B4"],
+        "rows": ["B5"]
+    },
+    "backlight": {
+        "pin": "C8"
+    },
+    "rgblight": {
+        "pin": "B15"
+    }
 }
diff --git a/keyboards/handwired/onekey/stm32f0_disco/rules.mk b/keyboards/handwired/onekey/stm32f0_disco/rules.mk
index 6b37928327..a92b099328 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/rules.mk
+++ b/keyboards/handwired/onekey/stm32f0_disco/rules.mk
@@ -1,8 +1,2 @@
-# MCU name
-MCU = STM32F072
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/stm32f405_feather/config.h b/keyboards/handwired/onekey/stm32f405_feather/config.h
deleted file mode 100644
index ea9f409640..0000000000
--- a/keyboards/handwired/onekey/stm32f405_feather/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2019
- *
- * 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
-
-#include "config_common.h"
-
-#define MATRIX_COL_PINS { C2 }
-#define MATRIX_ROW_PINS { C3 }
diff --git a/keyboards/handwired/onekey/stm32f405_feather/info.json b/keyboards/handwired/onekey/stm32f405_feather/info.json
index 410ddbdd32..5135873576 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/info.json
+++ b/keyboards/handwired/onekey/stm32f405_feather/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey Adafruit Feather STM32F405"
+    "keyboard_name": "Onekey Adafruit Feather STM32F405",
+    "processor": "STM32F405",
+    "bootloader": "stm32-dfu",
+    "matrix_pins": {
+        "cols": ["C2"],
+        "rows": ["C3"],
+    }
 }
diff --git a/keyboards/handwired/onekey/stm32f405_feather/rules.mk b/keyboards/handwired/onekey/stm32f405_feather/rules.mk
index bff7a7e297..a92b099328 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/rules.mk
+++ b/keyboards/handwired/onekey/stm32f405_feather/rules.mk
@@ -1,8 +1,2 @@
-# MCU name
-MCU = STM32F405
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_2/config.h b/keyboards/handwired/onekey/teensy_2/config.h
index fb775a06b0..a2a2a64835 100644
--- a/keyboards/handwired/onekey/teensy_2/config.h
+++ b/keyboards/handwired/onekey/teensy_2/config.h
@@ -18,14 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { F4 }
-#define MATRIX_ROW_PINS { F5 }
-
-#define BACKLIGHT_PIN B6
-
-#define RGB_DI_PIN F6
-
 #define ADC_PIN F6
 
+#define RGB_CI_PIN F7
+
 #define QMK_WAITING_TEST_BUSY_PIN F6
 #define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2/info.json b/keyboards/handwired/onekey/teensy_2/info.json
index f081d3a25c..2425168462 100644
--- a/keyboards/handwired/onekey/teensy_2/info.json
+++ b/keyboards/handwired/onekey/teensy_2/info.json
@@ -1,3 +1,15 @@
 {
-    "keyboard_name": "Onekey Teensy 2.0"
+    "keyboard_name": "Onekey Teensy 2.0",
+    "processor": "atmega32u4",
+    "bootloader": "halfkay",
+    "matrix_pins": {
+        "cols": ["F4"],
+        "rows": ["F5"]
+    },
+    "backlight": {
+        "pin": "B6"
+    },
+    "rgblight": {
+        "pin": "F6"
+    }
 }
diff --git a/keyboards/handwired/onekey/teensy_2/rules.mk b/keyboards/handwired/onekey/teensy_2/rules.mk
index 320633f80f..e69de29bb2 100644
--- a/keyboards/handwired/onekey/teensy_2/rules.mk
+++ b/keyboards/handwired/onekey/teensy_2/rules.mk
@@ -1,5 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = halfkay
diff --git a/keyboards/handwired/onekey/teensy_2pp/config.h b/keyboards/handwired/onekey/teensy_2pp/config.h
index fb775a06b0..a2a2a64835 100644
--- a/keyboards/handwired/onekey/teensy_2pp/config.h
+++ b/keyboards/handwired/onekey/teensy_2pp/config.h
@@ -18,14 +18,9 @@
 
 #include "config_common.h"
 
-#define MATRIX_COL_PINS { F4 }
-#define MATRIX_ROW_PINS { F5 }
-
-#define BACKLIGHT_PIN B6
-
-#define RGB_DI_PIN F6
-
 #define ADC_PIN F6
 
+#define RGB_CI_PIN F7
+
 #define QMK_WAITING_TEST_BUSY_PIN F6
 #define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2pp/info.json b/keyboards/handwired/onekey/teensy_2pp/info.json
index bec94fa3dc..ba7281ce1b 100644
--- a/keyboards/handwired/onekey/teensy_2pp/info.json
+++ b/keyboards/handwired/onekey/teensy_2pp/info.json
@@ -1,3 +1,15 @@
 {
-    "keyboard_name": "Onekey Teensy 2.0++"
+    "keyboard_name": "Onekey Teensy 2.0++",
+    "processor": "at90usb1286",
+    "bootloader": "halfkay",
+    "matrix_pins": {
+        "cols": ["F4"],
+        "rows": ["F5"]
+    },
+    "backlight": {
+        "pin": "B6"
+    },
+    "rgblight": {
+        "pin": "F6"
+    }
 }
diff --git a/keyboards/handwired/onekey/teensy_2pp/rules.mk b/keyboards/handwired/onekey/teensy_2pp/rules.mk
index 149471682d..e69de29bb2 100644
--- a/keyboards/handwired/onekey/teensy_2pp/rules.mk
+++ b/keyboards/handwired/onekey/teensy_2pp/rules.mk
@@ -1,5 +0,0 @@
-# MCU name
-MCU = at90usb1286
-
-# Bootloader selection
-BOOTLOADER = halfkay
diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h
index 3444cca67f..e01cfa3c8c 100644
--- a/keyboards/handwired/onekey/teensy_32/config.h
+++ b/keyboards/handwired/onekey/teensy_32/config.h
@@ -19,9 +19,6 @@
 // TODO: including this causes "error: expected identifier before '(' token" errors
 //#include "config_common.h"
 
-#define MATRIX_COL_PINS { D5 }
-#define MATRIX_ROW_PINS { B2 }
-
 // i2c_master defines
 #define I2C1_SCL_PIN B0 // A2 on pinout = B0
 #define I2C1_SDA_PIN B1 // A3 on pinout = B1
diff --git a/keyboards/handwired/onekey/teensy_32/info.json b/keyboards/handwired/onekey/teensy_32/info.json
index 213b4ea153..6d82d300ba 100644
--- a/keyboards/handwired/onekey/teensy_32/info.json
+++ b/keyboards/handwired/onekey/teensy_32/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey Teensy 3.2"
+    "keyboard_name": "Onekey Teensy 3.2",
+    "processor": "MK20DX256",
+    "bootloader": "halfkay",
+    "matrix_pins": {
+        "cols": ["D5"],
+        "rows": ["B2"]
+    }
 }
diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk
index 937c9d5103..a92b099328 100644
--- a/keyboards/handwired/onekey/teensy_32/rules.mk
+++ b/keyboards/handwired/onekey/teensy_32/rules.mk
@@ -1,8 +1,2 @@
-# MCU name
-MCU = MK20DX256
-
-# Bootloader selection
-BOOTLOADER = halfkay
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_35/config.h b/keyboards/handwired/onekey/teensy_35/config.h
index 13eaf1a4f6..0f15fc87d8 100644
--- a/keyboards/handwired/onekey/teensy_35/config.h
+++ b/keyboards/handwired/onekey/teensy_35/config.h
@@ -19,9 +19,6 @@
 // TODO: including this causes "error: expected identifier before '(' token" errors
 //#include "config_common.h"
 
-#define MATRIX_COL_PINS { D5 } // 20/A6
-#define MATRIX_ROW_PINS { B2 } // 19/A5
-
 // i2c_master defines
 #define I2C1_SCL_PIN B0 // 16/A2 on pinout
 #define I2C1_SDA_PIN B1 // 17/A3 on pinout
diff --git a/keyboards/handwired/onekey/teensy_35/info.json b/keyboards/handwired/onekey/teensy_35/info.json
index 99b6a236c5..59cc1decdc 100644
--- a/keyboards/handwired/onekey/teensy_35/info.json
+++ b/keyboards/handwired/onekey/teensy_35/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey Teensy 3.5"
+    "keyboard_name": "Onekey Teensy 3.5",
+    "processor": "MK64FX512",
+    "bootloader": "halfkay",
+    "matrix_pins": {
+        "cols": ["D5"], // 20/A6
+        "rows": ["B2"]  // 19/A5
+    }
 }
diff --git a/keyboards/handwired/onekey/teensy_35/rules.mk b/keyboards/handwired/onekey/teensy_35/rules.mk
index 8ebefd03f5..a92b099328 100644
--- a/keyboards/handwired/onekey/teensy_35/rules.mk
+++ b/keyboards/handwired/onekey/teensy_35/rules.mk
@@ -1,8 +1,2 @@
-# MCU name
-MCU = MK64FX512
-
-# Bootloader selection
-BOOTLOADER = halfkay
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h
index 3444cca67f..e01cfa3c8c 100644
--- a/keyboards/handwired/onekey/teensy_lc/config.h
+++ b/keyboards/handwired/onekey/teensy_lc/config.h
@@ -19,9 +19,6 @@
 // TODO: including this causes "error: expected identifier before '(' token" errors
 //#include "config_common.h"
 
-#define MATRIX_COL_PINS { D5 }
-#define MATRIX_ROW_PINS { B2 }
-
 // i2c_master defines
 #define I2C1_SCL_PIN B0 // A2 on pinout = B0
 #define I2C1_SDA_PIN B1 // A3 on pinout = B1
diff --git a/keyboards/handwired/onekey/teensy_lc/info.json b/keyboards/handwired/onekey/teensy_lc/info.json
index 68eea92235..a81b90fa8a 100644
--- a/keyboards/handwired/onekey/teensy_lc/info.json
+++ b/keyboards/handwired/onekey/teensy_lc/info.json
@@ -1,3 +1,9 @@
 {
-    "keyboard_name": "Onekey Teensy LC"
+    "keyboard_name": "Onekey Teensy LC",
+    "processor": "MKL26Z64",
+    "bootloader": "halfkay",
+    "matrix_pins": {
+        "cols": ["D5"],
+        "rows": ["B2"]
+    }
 }
diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk
index 0e3c7edf7a..9803d8cc70 100644
--- a/keyboards/handwired/onekey/teensy_lc/rules.mk
+++ b/keyboards/handwired/onekey/teensy_lc/rules.mk
@@ -1,9 +1,4 @@
-# MCU name
-MCU = MKL26Z64
 USE_CHIBIOS_CONTRIB = yes
 
-# Bootloader selection
-BOOTLOADER = halfkay
-
 # Enter lower-power sleep mode when on the ChibiOS idle thread
 OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE