diff --git a/keyboards/palette1202/info.json b/keyboards/palette1202/keyboard.json
similarity index 87%
rename from keyboards/palette1202/info.json
rename to keyboards/palette1202/keyboard.json
index 99f43a73f2..db2a83573a 100644
--- a/keyboards/palette1202/info.json
+++ b/keyboards/palette1202/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x1202",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "command": true,
+ "console": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "oled": true
+ },
"matrix_pins": {
"cols": ["C6", "D7", "E6", "B4", "B5"],
"rows": ["B6", "B2", "B3"]
diff --git a/keyboards/palette1202/rules.mk b/keyboards/palette1202/rules.mk
index 8876586f4b..37d8ebf017 100644
--- a/keyboards/palette1202/rules.mk
+++ b/keyboards/palette1202/rules.mk
@@ -1,17 +1,2 @@
-# 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 = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable support for rotary encoders
-OLED_ENABLE = yes
-
# Additional code
SRC += lib/oled_helper.c # Adding OLED
diff --git a/keyboards/pearlboards/atlas/info.json b/keyboards/pearlboards/atlas/keyboard.json
similarity index 98%
rename from keyboards/pearlboards/atlas/info.json
rename to keyboards/pearlboards/atlas/keyboard.json
index 5433eb3c75..173a20892b 100644
--- a/keyboards/pearlboards/atlas/info.json
+++ b/keyboards/pearlboards/atlas/keyboard.json
@@ -8,6 +8,19 @@
"pid": "0x6964",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": false,
+ "encoder": true,
+ "extrakey": true,
+ "haptic": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"matrix_pins": {
"cols": ["D5", "D4", "C1", "C2", "C3", "C5", "C7", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "F7"],
"rows": ["D6", "E1", "C0", "C4", "E3"]
diff --git a/keyboards/pearlboards/atlas/rules.mk b/keyboards/pearlboards/atlas/rules.mk
index 1dd174f436..dea510c2ab 100644
--- a/keyboards/pearlboards/atlas/rules.mk
+++ b/keyboards/pearlboards/atlas/rules.mk
@@ -1,17 +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 = no # 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 = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
-ENCODER_ENABLE = yes
-HAPTIC_ENABLE = yes
HAPTIC_DRIVER = drv2605l
-
-LTO_ENABLE = yes
diff --git a/keyboards/pearlboards/pearl/info.json b/keyboards/pearlboards/pearl/keyboard.json
similarity index 96%
rename from keyboards/pearlboards/pearl/info.json
rename to keyboards/pearlboards/pearl/keyboard.json
index 43dd3ad871..e2dddb8662 100644
--- a/keyboards/pearlboards/pearl/info.json
+++ b/keyboards/pearlboards/pearl/keyboard.json
@@ -8,6 +8,18 @@
"pid": "0x6965",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": false,
+ "extrakey": true,
+ "haptic": true,
+ "mousekey": false,
+ "nkro": true,
+ "rgblight": true
+ },
"matrix_pins": {
"cols": ["D2", "F1", "F4", "F5", "F6", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "D5"],
"rows": ["D3", "F7", "F0", "E6"]
diff --git a/keyboards/pearlboards/pearl/rules.mk b/keyboards/pearlboards/pearl/rules.mk
index 83d6c3a33f..dea510c2ab 100644
--- a/keyboards/pearlboards/pearl/rules.mk
+++ b/keyboards/pearlboards/pearl/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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 = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
-HAPTIC_ENABLE = yes
HAPTIC_DRIVER = drv2605l
-
-LTO_ENABLE = yes
diff --git a/keyboards/pearlboards/zeus/info.json b/keyboards/pearlboards/zeus/keyboard.json
similarity index 99%
rename from keyboards/pearlboards/zeus/info.json
rename to keyboards/pearlboards/zeus/keyboard.json
index 3128b8c1d8..c77adfb5cf 100644
--- a/keyboards/pearlboards/zeus/info.json
+++ b/keyboards/pearlboards/zeus/keyboard.json
@@ -8,6 +8,19 @@
"pid": "0x6966",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": false,
+ "encoder": true,
+ "extrakey": true,
+ "haptic": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"matrix_pins": {
"cols": ["F1", "F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C2", "C0"],
"rows": ["F0", "C1", "E1", "E0", "D7", "D6"]
diff --git a/keyboards/pearlboards/zeus/rules.mk b/keyboards/pearlboards/zeus/rules.mk
index 5cb2d9b649..34900998f7 100644
--- a/keyboards/pearlboards/zeus/rules.mk
+++ b/keyboards/pearlboards/zeus/rules.mk
@@ -1,17 +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 = no # 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 = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
-ENCODER_ENABLE = yes # Rotary encoder
-HAPTIC_ENABLE = yes # Rumble feefback
HAPTIC_DRIVER = drv2605l # Rumble motor
-
-LTO_ENABLE = yes # Link time optimization
diff --git a/keyboards/peej/rosaline/ortho/info.json b/keyboards/peej/rosaline/ortho/keyboard.json
similarity index 96%
rename from keyboards/peej/rosaline/ortho/info.json
rename to keyboards/peej/rosaline/ortho/keyboard.json
index 9fb9d3cb40..49c3b9fb92 100644
--- a/keyboards/peej/rosaline/ortho/info.json
+++ b/keyboards/peej/rosaline/ortho/keyboard.json
@@ -9,6 +9,12 @@
"device_version": "0.0.1",
"max_power": 100
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"matrix_pins": {
"cols": ["B0", "D7", "D6", "C2", "D4", "D1", "D0", "C1"],
"rows": ["C0", "B5", "B4", "B3", "B2", "B1", "C3", "D5"]
diff --git a/keyboards/peej/rosaline/ortho/rules.mk b/keyboards/peej/rosaline/ortho/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/peej/rosaline/ortho/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peej/rosaline/staggered/info.json b/keyboards/peej/rosaline/staggered/keyboard.json
similarity index 98%
rename from keyboards/peej/rosaline/staggered/info.json
rename to keyboards/peej/rosaline/staggered/keyboard.json
index 0679203163..ed4de2313f 100644
--- a/keyboards/peej/rosaline/staggered/info.json
+++ b/keyboards/peej/rosaline/staggered/keyboard.json
@@ -9,6 +9,12 @@
"device_version": "0.0.1",
"max_power": 100
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"matrix_pins": {
"cols": ["B0", "D7", "D6", "C2", "D4", "D1", "D0", "C1"],
"rows": ["C0", "B5", "B4", "B3", "B2", "B1", "C3", "D5"]
diff --git a/keyboards/peej/rosaline/staggered/rules.mk b/keyboards/peej/rosaline/staggered/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/peej/rosaline/staggered/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h
deleted file mode 100644
index bbe3b73627..0000000000
--- a/keyboards/peranekofactory/tone/rev1/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 peraneko
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/peranekofactory/tone/rev2/info.json b/keyboards/peranekofactory/tone/rev1/keyboard.json
similarity index 82%
rename from keyboards/peranekofactory/tone/rev2/info.json
rename to keyboards/peranekofactory/tone/rev1/keyboard.json
index 67e08be688..fb7b41b27a 100644
--- a/keyboards/peranekofactory/tone/rev2/info.json
+++ b/keyboards/peranekofactory/tone/rev1/keyboard.json
@@ -8,12 +8,23 @@
"pid": "0x0000",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B4"}
]
},
"qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ },
"tap_keycode_delay": 100
},
"processor": "atmega32u4",
diff --git a/keyboards/peranekofactory/tone/rev1/rules.mk b/keyboards/peranekofactory/tone/rev1/rules.mk
deleted file mode 100644
index b03b6fa905..0000000000
--- a/keyboards/peranekofactory/tone/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h
deleted file mode 100644
index bbe3b73627..0000000000
--- a/keyboards/peranekofactory/tone/rev2/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 peraneko
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/peranekofactory/tone/rev1/info.json b/keyboards/peranekofactory/tone/rev2/keyboard.json
similarity index 82%
rename from keyboards/peranekofactory/tone/rev1/info.json
rename to keyboards/peranekofactory/tone/rev2/keyboard.json
index 67e08be688..fb7b41b27a 100644
--- a/keyboards/peranekofactory/tone/rev1/info.json
+++ b/keyboards/peranekofactory/tone/rev2/keyboard.json
@@ -8,12 +8,23 @@
"pid": "0x0000",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B4"}
]
},
"qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ },
"tap_keycode_delay": 100
},
"processor": "atmega32u4",
diff --git a/keyboards/peranekofactory/tone/rev2/rules.mk b/keyboards/peranekofactory/tone/rev2/rules.mk
deleted file mode 100644
index b03b6fa905..0000000000
--- a/keyboards/peranekofactory/tone/rev2/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/percent/canoe_gen2/canoe_gen2.c b/keyboards/percent/canoe_gen2/canoe_gen2.c
index e5beff54a3..d174d01876 100644
--- a/keyboards/percent/canoe_gen2/canoe_gen2.c
+++ b/keyboards/percent/canoe_gen2/canoe_gen2.c
@@ -20,6 +20,8 @@ along with this program. If not, see .
void keyboard_pre_init_kb(void) {
setPinOutput(E6);
writePinHigh(E6);
+
+ keyboard_pre_init_user();
}
bool led_update_kb(led_t led_state) {
diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h
deleted file mode 100644
index 1f54b79bd0..0000000000
--- a/keyboards/percent/canoe_gen2/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2020 Evy Dekkers
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/keyboard.json
similarity index 97%
rename from keyboards/percent/canoe_gen2/info.json
rename to keyboards/percent/canoe_gen2/keyboard.json
index 0fe5d0e894..0b6ece2613 100644
--- a/keyboards/percent/canoe_gen2/info.json
+++ b/keyboards/percent/canoe_gen2/keyboard.json
@@ -8,6 +8,20 @@
"pid": "0x89F0",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false,
+ "rgb_matrix": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "B7"
},
diff --git a/keyboards/percent/canoe_gen2/rules.mk b/keyboards/percent/canoe_gen2/rules.mk
index d399c10822..942ef4c5db 100644
--- a/keyboards/percent/canoe_gen2/rules.mk
+++ b/keyboards/percent/canoe_gen2/rules.mk
@@ -1,15 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-RGB_MATRIX_ENABLE = yes
-
RGB_MATRIX_CUSTOM_KB = yes
diff --git a/keyboards/phage_studio/pila87/info.json b/keyboards/phage_studio/pila87/keyboard.json
similarity index 98%
rename from keyboards/phage_studio/pila87/info.json
rename to keyboards/phage_studio/pila87/keyboard.json
index 4d12cf2573..fbdf5f637a 100644
--- a/keyboards/phage_studio/pila87/info.json
+++ b/keyboards/phage_studio/pila87/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x5887",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"rgb_matrix": {
"animations": {
"alphas_mods": true,
diff --git a/keyboards/phage_studio/pila87/rules.mk b/keyboards/phage_studio/pila87/rules.mk
index 25fb7ed8c0..6f0a3736a7 100644
--- a/keyboards/phage_studio/pila87/rules.mk
+++ b/keyboards/phage_studio/pila87/rules.mk
@@ -1,18 +1,2 @@
# Configure for 128K flash
MCU_LDSCRIPT = STM32F103xB
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
-
-# RGB Matrix enabled
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/keyboard.json
similarity index 96%
rename from keyboards/phase_studio/titan65/hotswap/info.json
rename to keyboards/phase_studio/titan65/hotswap/keyboard.json
index 2c1f3e2854..8bf3152b90 100644
--- a/keyboards/phase_studio/titan65/hotswap/info.json
+++ b/keyboards/phase_studio/titan65/hotswap/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0xBB91",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"ws2812": {
"pin": "E6"
},
diff --git a/keyboards/phase_studio/titan65/hotswap/rules.mk b/keyboards/phase_studio/titan65/hotswap/rules.mk
index 871008928e..5813081a71 100644
--- a/keyboards/phase_studio/titan65/hotswap/rules.mk
+++ b/keyboards/phase_studio/titan65/hotswap/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
-RGB_MATRIX_ENABLE = yes
-
AUDIO_SUPPORTED = no
RGBLIGHT_SUPPORTED = no
diff --git a/keyboards/phase_studio/titan65/soldered/info.json b/keyboards/phase_studio/titan65/soldered/keyboard.json
similarity index 99%
rename from keyboards/phase_studio/titan65/soldered/info.json
rename to keyboards/phase_studio/titan65/soldered/keyboard.json
index ad1b8c07b5..c60c689932 100644
--- a/keyboards/phase_studio/titan65/soldered/info.json
+++ b/keyboards/phase_studio/titan65/soldered/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0xBB92",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3"],
"rows": ["B6", "C6", "C7", "F7", "E6"]
diff --git a/keyboards/phase_studio/titan65/soldered/rules.mk b/keyboards/phase_studio/titan65/soldered/rules.mk
index ad3fad5cb5..5203005979 100644
--- a/keyboards/phase_studio/titan65/soldered/rules.mk
+++ b/keyboards/phase_studio/titan65/soldered/rules.mk
@@ -1,17 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
-
-
AUDIO_SUPPORTED = no
RGBLIGHT_SUPPORTED = no
RGB_MATRIX_SUPPORTED = no
diff --git a/keyboards/phoenix/info.json b/keyboards/phoenix/keyboard.json
similarity index 97%
rename from keyboards/phoenix/info.json
rename to keyboards/phoenix/keyboard.json
index c6a55a973a..b6dd359966 100644
--- a/keyboards/phoenix/info.json
+++ b/keyboards/phoenix/keyboard.json
@@ -6,7 +6,16 @@
"usb": {
"vid": "0x456B",
"pid": "0x0001",
- "device_version": "0.0.1"
+ "device_version": "0.0.1",
+ "shared_endpoint": {
+ "keyboard": true
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
},
"matrix_pins": {
"cols": ["B10", "B12", "B13", "B14", "B15", "A8", "A10"],
diff --git a/keyboards/phoenix/rules.mk b/keyboards/phoenix/rules.mk
index 1e98eb214a..c6e2988321 100644
--- a/keyboards/phoenix/rules.mk
+++ b/keyboards/phoenix/rules.mk
@@ -1,17 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
-STENO_ENABLE = no
SERIAL_DRIVER = usart
-KEYBOARD_SHARED_EP = yes
-
-OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
diff --git a/keyboards/pica40/rev2/info.json b/keyboards/pica40/rev2/keyboard.json
similarity index 100%
rename from keyboards/pica40/rev2/info.json
rename to keyboards/pica40/rev2/keyboard.json
diff --git a/keyboards/pierce/info.json b/keyboards/pierce/keyboard.json
similarity index 95%
rename from keyboards/pierce/info.json
rename to keyboards/pierce/keyboard.json
index 971b9939cf..ca6bb48425 100644
--- a/keyboards/pierce/info.json
+++ b/keyboards/pierce/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x6060",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["split_3x5_3"],
diff --git a/keyboards/pierce/rules.mk b/keyboards/pierce/rules.mk
index 660bba3c3f..721c8fd903 100644
--- a/keyboards/pierce/rules.mk
+++ b/keyboards/pierce/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
-
CUSTOM_MATRIX = lite
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_slave.c
diff --git a/keyboards/pinky/info.json b/keyboards/pinky/info.json
index 2b9790e84e..7fb7f9efe6 100644
--- a/keyboards/pinky/info.json
+++ b/keyboards/pinky/info.json
@@ -1,4 +1,10 @@
{
+ "features": {
+ "bootmagic": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": false
+ },
"split": {
"enabled": true
}
diff --git a/keyboards/pinky/rules.mk b/keyboards/pinky/rules.mk
index 0329fc8dd5..89b708f68f 100644
--- a/keyboards/pinky/rules.mk
+++ b/keyboards/pinky/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
DEFAULT_FOLDER = pinky/3
diff --git a/keyboards/pizzakeyboards/slice65/info.json b/keyboards/pizzakeyboards/slice65/keyboard.json
similarity index 100%
rename from keyboards/pizzakeyboards/slice65/info.json
rename to keyboards/pizzakeyboards/slice65/keyboard.json
diff --git a/keyboards/planck/ez/glow/info.json b/keyboards/planck/ez/glow/keyboard.json
similarity index 62%
rename from keyboards/planck/ez/glow/info.json
rename to keyboards/planck/ez/glow/keyboard.json
index 4852258570..6c957b165b 100644
--- a/keyboards/planck/ez/glow/info.json
+++ b/keyboards/planck/ez/glow/keyboard.json
@@ -2,5 +2,8 @@
"keyboard_name": "Planck EZ Glow",
"usb": {
"pid": "0xC6CF"
+ },
+ "features": {
+ "rgb_matrix": true
}
}
diff --git a/keyboards/planck/ez/glow/rules.mk b/keyboards/planck/ez/glow/rules.mk
deleted file mode 100644
index aad92997d0..0000000000
--- a/keyboards/planck/ez/glow/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json
index 044e187c4b..4244b4d83d 100644
--- a/keyboards/planck/ez/info.json
+++ b/keyboards/planck/ez/info.json
@@ -4,7 +4,20 @@
"maintainer": "jackhumbert",
"usb": {
"vid": "0x3297",
- "device_version": "0.0.1"
+ "device_version": "0.0.1",
+ "shared_endpoint": {
+ "mouse": false
+ }
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
},
"rgb_matrix": {
"animations": {
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index 97f68215f8..6cdb6ed4c2 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -1,22 +1,6 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = yes # Audio output
AUDIO_DRIVER = dac_additive
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-ENCODER_ENABLE = yes
RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no
-MOUSE_SHARED_EP = no
-
DEFAULT_FOLDER = planck/ez/base
diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/keyboard.json
similarity index 98%
rename from keyboards/planck/rev6_drop/info.json
rename to keyboards/planck/rev6_drop/keyboard.json
index aff2eef5d7..ff301f8c86 100644
--- a/keyboards/planck/rev6_drop/info.json
+++ b/keyboards/planck/rev6_drop/keyboard.json
@@ -8,6 +8,18 @@
"pid": "0xA4F9",
"device_version": "0.0.6"
},
+ "features": {
+ "audio": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"led_count": 9
},
diff --git a/keyboards/planck/rev6_drop/rules.mk b/keyboards/planck/rev6_drop/rules.mk
index 022a5ccd53..30ce5d293b 100644
--- a/keyboards/planck/rev6_drop/rules.mk
+++ b/keyboards/planck/rev6_drop/rules.mk
@@ -1,19 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
CUSTOM_MATRIX = lite
-# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
-RGB_MATRIX_ENABLE = no
-ENCODER_ENABLE = yes
-DIP_SWITCH_ENABLE = yes
-
SRC += matrix.c
diff --git a/keyboards/planck/rev7/info.json b/keyboards/planck/rev7/keyboard.json
similarity index 99%
rename from keyboards/planck/rev7/info.json
rename to keyboards/planck/rev7/keyboard.json
index d674af98d1..691394d5d5 100644
--- a/keyboards/planck/rev7/info.json
+++ b/keyboards/planck/rev7/keyboard.json
@@ -42,6 +42,7 @@
"command": true,
"console": true,
"encoder": true,
+ "dip_switch": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/planck/rev7/rules.mk b/keyboards/planck/rev7/rules.mk
index 04b21019ae..30ce5d293b 100644
--- a/keyboards/planck/rev7/rules.mk
+++ b/keyboards/planck/rev7/rules.mk
@@ -1,7 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
CUSTOM_MATRIX = lite
-DIP_SWITCH_ENABLE = yes
-
SRC += matrix.c
diff --git a/keyboards/planck/thk/info.json b/keyboards/planck/thk/keyboard.json
similarity index 97%
rename from keyboards/planck/thk/info.json
rename to keyboards/planck/thk/keyboard.json
index 24b8d5f0a5..b2c07ca0f0 100644
--- a/keyboards/planck/thk/info.json
+++ b/keyboards/planck/thk/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x25A7",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"matrix_pins": {
"cols": ["D7", "C2", "C3", "C4", "C5", "C6", "C7", "A3", "A2", "A1", "A0", "B0"],
"rows": ["A7", "A6", "A5", "A4"]
diff --git a/keyboards/planck/thk/rules.mk b/keyboards/planck/thk/rules.mk
index 417fb95129..c2ee0bc86f 100644
--- a/keyboards/planck/thk/rules.mk
+++ b/keyboards/planck/thk/rules.mk
@@ -1,17 +1,2 @@
# Processor frequency
F_CPU = 16000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-DIP_SWITCH_ENABLE = yes
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/keyboard.json
similarity index 100%
rename from keyboards/ploopyco/mouse/info.json
rename to keyboards/ploopyco/mouse/keyboard.json
diff --git a/keyboards/pmk/posey_split/v4/info.json b/keyboards/pmk/posey_split/v4/keyboard.json
similarity index 100%
rename from keyboards/pmk/posey_split/v4/info.json
rename to keyboards/pmk/posey_split/v4/keyboard.json
diff --git a/keyboards/pmk/posey_split/v5/info.json b/keyboards/pmk/posey_split/v5/keyboard.json
similarity index 100%
rename from keyboards/pmk/posey_split/v5/info.json
rename to keyboards/pmk/posey_split/v5/keyboard.json
diff --git a/keyboards/pmk/recore/v3/info.json b/keyboards/pmk/recore/v3/keyboard.json
similarity index 100%
rename from keyboards/pmk/recore/v3/info.json
rename to keyboards/pmk/recore/v3/keyboard.json
diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/keyboard.json
similarity index 98%
rename from keyboards/preonic/rev3_drop/info.json
rename to keyboards/preonic/rev3_drop/keyboard.json
index 79487deaab..f1cf1dfec1 100644
--- a/keyboards/preonic/rev3_drop/info.json
+++ b/keyboards/preonic/rev3_drop/keyboard.json
@@ -6,6 +6,18 @@
"pid": "0xA649",
"device_version": "0.0.3"
},
+ "features": {
+ "audio": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"led_count": 9,
"animations": {
diff --git a/keyboards/preonic/rev3_drop/rules.mk b/keyboards/preonic/rev3_drop/rules.mk
index d3ff068813..8784813b33 100644
--- a/keyboards/preonic/rev3_drop/rules.mk
+++ b/keyboards/preonic/rev3_drop/rules.mk
@@ -1,20 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
CUSTOM_MATRIX = yes
-ENCODER_ENABLE = yes
-DIP_SWITCH_ENABLE = yes
-
-# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
-RGB_MATRIX_ENABLE = no
-
SRC += matrix.c
diff --git a/keyboards/primekb/prime_e/config.h b/keyboards/primekb/prime_e/config.h
deleted file mode 100644
index 6c8ce4c0ea..0000000000
--- a/keyboards/primekb/prime_e/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2019 Holten Campbell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json
index 44b8227fb6..e7ed77e403 100644
--- a/keyboards/primekb/prime_e/info.json
+++ b/keyboards/primekb/prime_e/info.json
@@ -13,6 +13,12 @@
"mousekey": false,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
"rows": ["E6", "C7", "B5", "B4"]
diff --git a/keyboards/primekb/prime_e/rgb/info.json b/keyboards/primekb/prime_e/rgb/keyboard.json
similarity index 91%
rename from keyboards/primekb/prime_e/rgb/info.json
rename to keyboards/primekb/prime_e/rgb/keyboard.json
index 998331ad89..f1cb67358c 100644
--- a/keyboards/primekb/prime_e/rgb/info.json
+++ b/keyboards/primekb/prime_e/rgb/keyboard.json
@@ -4,6 +4,9 @@
"pid": "0x0052",
"device_version": "0.0.1"
},
+ "features": {
+ "rgblight": true
+ },
"rgblight": {
"led_count": 8,
"animations": {
diff --git a/keyboards/primekb/prime_e/rgb/rules.mk b/keyboards/primekb/prime_e/rgb/rules.mk
deleted file mode 100644
index 725c0cebcc..0000000000
--- a/keyboards/primekb/prime_e/rgb/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/primekb/prime_e/std/info.json b/keyboards/primekb/prime_e/std/keyboard.json
similarity index 78%
rename from keyboards/primekb/prime_e/std/info.json
rename to keyboards/primekb/prime_e/std/keyboard.json
index b6078c9d7a..989ff941b5 100644
--- a/keyboards/primekb/prime_e/std/info.json
+++ b/keyboards/primekb/prime_e/std/keyboard.json
@@ -4,6 +4,9 @@
"pid": "0x0051",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true
+ },
"backlight": {
"pin": "B7",
"levels": 5
diff --git a/keyboards/primekb/prime_e/std/rules.mk b/keyboards/primekb/prime_e/std/rules.mk
deleted file mode 100644
index f938676f44..0000000000
--- a/keyboards/primekb/prime_e/std/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/primekb/prime_l/config.h b/keyboards/primekb/prime_l/config.h
deleted file mode 100644
index 053bc6236a..0000000000
--- a/keyboards/primekb/prime_l/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2018 Jumail Mundekkat
-Copyright 2020 Holten Campbell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json
index 52d6713914..ed905f2b0b 100644
--- a/keyboards/primekb/prime_l/info.json
+++ b/keyboards/primekb/prime_l/info.json
@@ -10,6 +10,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"usb": {
"vid": "0x5052"
},
diff --git a/keyboards/primekb/prime_l/v1/info.json b/keyboards/primekb/prime_l/v1/keyboard.json
similarity index 99%
rename from keyboards/primekb/prime_l/v1/info.json
rename to keyboards/primekb/prime_l/v1/keyboard.json
index c68d992943..c14d18ece3 100644
--- a/keyboards/primekb/prime_l/v1/info.json
+++ b/keyboards/primekb/prime_l/v1/keyboard.json
@@ -6,6 +6,9 @@
"pid": "0x504C",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true
+ },
"matrix_pins": {
"cols": ["D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "C7", "C6", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["D1", "D0", "B7", "B3", "B2"]
diff --git a/keyboards/primekb/prime_l/v1/rules.mk b/keyboards/primekb/prime_l/v1/rules.mk
deleted file mode 100644
index 54a2685bf6..0000000000
--- a/keyboards/primekb/prime_l/v1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BACKLIGHT_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v2/info.json b/keyboards/primekb/prime_l/v2/keyboard.json
similarity index 100%
rename from keyboards/primekb/prime_l/v2/info.json
rename to keyboards/primekb/prime_l/v2/keyboard.json
diff --git a/keyboards/primekb/prime_l/v2/rules.mk b/keyboards/primekb/prime_l/v2/rules.mk
deleted file mode 100644
index f845616741..0000000000
--- a/keyboards/primekb/prime_l/v2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BACKLIGHT_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/printedpad/info.json b/keyboards/printedpad/keyboard.json
similarity index 100%
rename from keyboards/printedpad/info.json
rename to keyboards/printedpad/keyboard.json
diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h
deleted file mode 100644
index dcf558fdf7..0000000000
--- a/keyboards/program_yoink/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2020 melonbred
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/program_yoink/info.json b/keyboards/program_yoink/info.json
new file mode 100644
index 0000000000..36a2befc70
--- /dev/null
+++ b/keyboards/program_yoink/info.json
@@ -0,0 +1,16 @@
+{
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/program_yoink/rules.mk b/keyboards/program_yoink/rules.mk
index 1d2265b833..a7cc1a2dbf 100644
--- a/keyboards/program_yoink/rules.mk
+++ b/keyboards/program_yoink/rules.mk
@@ -1,15 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable rotary encoder
-
DEFAULT_FOLDER = program_yoink/staggered
diff --git a/keyboards/projectkb/alice/rev1/info.json b/keyboards/projectkb/alice/rev1/keyboard.json
similarity index 75%
rename from keyboards/projectkb/alice/rev1/info.json
rename to keyboards/projectkb/alice/rev1/keyboard.json
index 1157fb13ae..1e97746ee8 100644
--- a/keyboards/projectkb/alice/rev1/info.json
+++ b/keyboards/projectkb/alice/rev1/keyboard.json
@@ -1,4 +1,14 @@
{
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/projectkb/alice/rev1/rules.mk b/keyboards/projectkb/alice/rev1/rules.mk
deleted file mode 100644
index f689205b38..0000000000
--- a/keyboards/projectkb/alice/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
diff --git a/keyboards/projectkb/alice/rev2/info.json b/keyboards/projectkb/alice/rev2/keyboard.json
similarity index 75%
rename from keyboards/projectkb/alice/rev2/info.json
rename to keyboards/projectkb/alice/rev2/keyboard.json
index be97136ccd..0ed3b88ea2 100644
--- a/keyboards/projectkb/alice/rev2/info.json
+++ b/keyboards/projectkb/alice/rev2/keyboard.json
@@ -1,4 +1,14 @@
{
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/projectkb/alice/rev2/rules.mk b/keyboards/projectkb/alice/rev2/rules.mk
deleted file mode 100644
index f689205b38..0000000000
--- a/keyboards/projectkb/alice/rev2/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
diff --git a/keyboards/prototypist/oceanographer/info.json b/keyboards/prototypist/oceanographer/keyboard.json
similarity index 98%
rename from keyboards/prototypist/oceanographer/info.json
rename to keyboards/prototypist/oceanographer/keyboard.json
index d7117d6abc..8b0209d451 100644
--- a/keyboards/prototypist/oceanographer/info.json
+++ b/keyboards/prototypist/oceanographer/keyboard.json
@@ -4,13 +4,18 @@
"maintainer": "Anjheos",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
+ "audio": true,
"bootmagic": true,
- "command": false,
- "console": false,
+ "encoder": true,
"extrakey": true,
"mousekey": false,
- "nkro": true
+ "nkro": true,
+ "oled": true,
+ "rgblight": true
},
"encoder": {
"rotary": [
diff --git a/keyboards/prototypist/oceanographer/rules.mk b/keyboards/prototypist/oceanographer/rules.mk
deleted file mode 100644
index e18a6cecee..0000000000
--- a/keyboards/prototypist/oceanographer/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-AUDIO_ENABLE = yes
-LTO_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-ENCODER_ENABLE = yes
diff --git a/keyboards/protozoa/cassini/info.json b/keyboards/protozoa/cassini/keyboard.json
similarity index 99%
rename from keyboards/protozoa/cassini/info.json
rename to keyboards/protozoa/cassini/keyboard.json
index 079679be43..696480024f 100644
--- a/keyboards/protozoa/cassini/info.json
+++ b/keyboards/protozoa/cassini/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x4341",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14"],
"rows": ["A2", "B9", "B8", "B5", "B4"]
diff --git a/keyboards/protozoa/cassini/rules.mk b/keyboards/protozoa/cassini/rules.mk
index 7c0709f41e..0ab54aaaf7 100644
--- a/keyboards/protozoa/cassini/rules.mk
+++ b/keyboards/protozoa/cassini/rules.mk
@@ -1,15 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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
diff --git a/keyboards/protozoa/event_horizon/info.json b/keyboards/protozoa/event_horizon/keyboard.json
similarity index 100%
rename from keyboards/protozoa/event_horizon/info.json
rename to keyboards/protozoa/event_horizon/keyboard.json
diff --git a/keyboards/protozoa/p01/info.json b/keyboards/protozoa/p01/keyboard.json
similarity index 99%
rename from keyboards/protozoa/p01/info.json
rename to keyboards/protozoa/p01/keyboard.json
index f414d6d71a..4b45385552 100644
--- a/keyboards/protozoa/p01/info.json
+++ b/keyboards/protozoa/p01/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x5031",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/protozoa/p01/rules.mk b/keyboards/protozoa/p01/rules.mk
index adb0000e01..0ab54aaaf7 100644
--- a/keyboards/protozoa/p01/rules.mk
+++ b/keyboards/protozoa/p01/rules.mk
@@ -1,16 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # 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 = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Encoder support
diff --git a/keyboards/punk75/info.json b/keyboards/punk75/keyboard.json
similarity index 96%
rename from keyboards/punk75/info.json
rename to keyboards/punk75/keyboard.json
index 81f2bcc818..5c1bd94a5e 100644
--- a/keyboards/punk75/info.json
+++ b/keyboards/punk75/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false
+ },
"matrix_pins": {
"cols": ["C2", "C3", "C6", "C5", "C4", "A7", "A6", "A5", "A4", "B4", "A3", "B3", "A2", "B2", "A1"],
"rows": ["D6", "D5", "C1", "C0", "D7"]
diff --git a/keyboards/punk75/rules.mk b/keyboards/punk75/rules.mk
index 362b5c8e08..c2ee0bc86f 100644
--- a/keyboards/punk75/rules.mk
+++ b/keyboards/punk75/rules.mk
@@ -1,16 +1,2 @@
# Processor frequency
F_CPU = 16000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable rotary encoders support