9c1662f8f9f28d185ccf0ce1dee084934c896367

Author
Joel Challis <git@zvecr.com>
Committer
GitHub <noreply@github.com>
Date

Message

Migrate build target markers to keyboard.json - TUV (#23514)

Diff

This diff is truncated to protect this page.

   1diff --git a/keyboards/tada68/config.h b/keyboards/tada68/config.h
   2deleted file mode 100755
   3index b9449c4714bf39561a177eb1ee1ba90b87dbc6fb..0000000000000000000000000000000000000000
   4--- a/keyboards/tada68/config.h
   5+++ /dev/null
   6@@ -1,39 +0,0 @@
   7-/*
   8-Copyright 2012 Jun Wako <wakojun@gmail.com>
   9-
  10-This program is free software: you can redistribute it and/or modify
  11-it under the terms of the GNU General Public License as published by
  12-the Free Software Foundation, either version 2 of the License, or
  13-(at your option) any later version.
  14-
  15-This program is distributed in the hope that it will be useful,
  16-but WITHOUT ANY WARRANTY; without even the implied warranty of
  17-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18-GNU General Public License for more details.
  19-
  20-You should have received a copy of the GNU General Public License
  21-along with this program.  If not, see <http://www.gnu.org/licenses/>.
  22-*/
  23-
  24-#pragma once
  25-
  26-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  27-#define LOCKING_SUPPORT_ENABLE
  28-/* Locking resynchronize hack */
  29-#define LOCKING_RESYNC_ENABLE
  30-
  31-/*
  32- * Feature disable options
  33- *  These options are also useful to firmware size reduction.
  34- */
  35-
  36-/* disable debug print */
  37-//#define NO_DEBUG
  38-
  39-/* disable print */
  40-//#define NO_PRINT
  41-
  42-/* disable action features */
  43-//#define NO_ACTION_LAYER
  44-//#define NO_ACTION_TAPPING
  45-//#define NO_ACTION_ONESHOT
  46diff --git a/keyboards/tada68/info.json b/keyboards/tada68/keyboard.json
  47rename from keyboards/tada68/info.json
  48rename to keyboards/tada68/keyboard.json
  49index 1311017d36178d28f169c2953da02bedb50c396b..641def01a31f801f8f840406a77bb0e529a35b26 100644
  50--- a/keyboards/tada68/info.json
  51+++ b/keyboards/tada68/keyboard.json
  52@@ -8,6 +8,20 @@
  53         "pid": "0x0001",
  54         "device_version": "0.0.3"
  55     },
  56+    "features": {
  57+        "backlight": true,
  58+        "bootmagic": false,
  59+        "command": true,
  60+        "extrakey": true,
  61+        "mousekey": true,
  62+        "nkro": true
  63+    },
  64+    "qmk": {
  65+        "locking": {
  66+            "enabled": true,
  67+            "resync": true
  68+        }
  69+    },
  70     "matrix_pins": {
  71         "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"],
  72         "rows": ["D0", "D1", "F6", "F7", "D5"]
  73diff --git a/keyboards/tada68/keymaps/rgb/config.h b/keyboards/tada68/keymaps/rgb/config.h
  74index 21ddfa1850ec466612833ffc1c238f58ee913f99..363a41accd6cb7df291142b710bb2366bc798704 100755
  75--- a/keyboards/tada68/keymaps/rgb/config.h
  76+++ b/keyboards/tada68/keymaps/rgb/config.h
  77@@ -1,4 +1,4 @@
  78-#include "../../config.h"
  79+#pragma once
  80 
  81 /* WS2812B RGB Underglow LED */
  82 #define WS2812_DI_PIN F5   // See readme.md for wiring your led's
  83diff --git a/keyboards/tada68/keymaps/rgb/rules.mk b/keyboards/tada68/keymaps/rgb/rules.mk
  84index 7cffca44fad7deced3b73cf3b5871e7d73458629..c777cb1b9ff87bbf757d8ce189efa52974e7ba87 100644
  85--- a/keyboards/tada68/keymaps/rgb/rules.mk
  86+++ b/keyboards/tada68/keymaps/rgb/rules.mk
  87@@ -1,18 +1 @@
  88-# Build Options
  89-#   change to "no" to disable the options, or define them in the Makefile in 
  90-#   the appropriate keymap folder that will get included automatically
  91-#
  92-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
  93-MOUSEKEY_ENABLE = yes       # Mouse keys
  94-EXTRAKEY_ENABLE = yes       # Audio control and System control
  95-CONSOLE_ENABLE = no         # Console for debug
  96-COMMAND_ENABLE = yes        # Commands for debug and configuration
  97-NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
  98-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
  99-MIDI_ENABLE = no            # MIDI controls
 100-AUDIO_ENABLE = no           # Audio output on port C6
 101-UNICODE_ENABLE = no         # Unicode
 102-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 103 RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight. 
 104-SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 105-
 106diff --git a/keyboards/tada68/rules.mk b/keyboards/tada68/rules.mk
 107index 01310bd4ea07e21baf18b16d6c9707c1a0636918..e22d5248895e4aa90e16fe7732e11c4a44472a6e 100755
 108--- a/keyboards/tada68/rules.mk
 109+++ b/keyboards/tada68/rules.mk
 110@@ -1,15 +1,2 @@
 111 # This board uses the older unsafe 6k version of lufa-ms
 112 BOOTLOADER_SIZE = 6144
 113-
 114-# Build Options
 115-#   change yes to no to disable
 116-#
 117-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 118-MOUSEKEY_ENABLE = yes       # Mouse keys
 119-EXTRAKEY_ENABLE = yes       # Audio control and System control
 120-CONSOLE_ENABLE = no         # Console for debug
 121-COMMAND_ENABLE = yes        # Commands for debug and configuration
 122-NKRO_ENABLE = yes           # Enable N-Key Rollover
 123-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 124-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 125-AUDIO_ENABLE = no           # Audio output
 126diff --git a/keyboards/takashicompany/compacx/config.h b/keyboards/takashicompany/compacx/config.h
 127deleted file mode 100644
 128index 7b4e38bd96430dca5b7f1056c79f9e804b606f55..0000000000000000000000000000000000000000
 129--- a/keyboards/takashicompany/compacx/config.h
 130+++ /dev/null
 131@@ -1,39 +0,0 @@
 132-/*
 133-Copyright 2021 takashicompany
 134-
 135-This program is free software: you can redistribute it and/or modify
 136-it under the terms of the GNU General Public License as published by
 137-the Free Software Foundation, either version 2 of the License, or
 138-(at your option) any later version.
 139-
 140-This program is distributed in the hope that it will be useful,
 141-but WITHOUT ANY WARRANTY; without even the implied warranty of
 142-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 143-GNU General Public License for more details.
 144-
 145-You should have received a copy of the GNU General Public License
 146-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 147-*/
 148-
 149-#pragma once
 150-
 151-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 152-#define LOCKING_SUPPORT_ENABLE
 153-/* Locking resynchronize hack */
 154-#define LOCKING_RESYNC_ENABLE
 155-
 156-/*
 157- * Feature disable options
 158- *  These options are also useful to firmware size reduction.
 159- */
 160-
 161-/* disable debug print */
 162-//#define NO_DEBUG
 163-
 164-/* disable print */
 165-//#define NO_PRINT
 166-
 167-/* disable action features */
 168-//#define NO_ACTION_LAYER
 169-//#define NO_ACTION_TAPPING
 170-//#define NO_ACTION_ONESHOT
 171diff --git a/keyboards/takashicompany/compacx/info.json b/keyboards/takashicompany/compacx/keyboard.json
 172rename from keyboards/takashicompany/compacx/info.json
 173rename to keyboards/takashicompany/compacx/keyboard.json
 174index 08dcbfee54bdaf802ba762108aa08ba0c277d9ce..b4460cce77045d5f071dbd1e9691eb0df456cead 100644
 175--- a/keyboards/takashicompany/compacx/info.json
 176+++ b/keyboards/takashicompany/compacx/keyboard.json
 177@@ -8,6 +8,23 @@
 178         "pid": "0x0014",
 179         "device_version": "0.0.1"
 180     },
 181+    "build": {
 182+        "lto": true
 183+    },
 184+    "features": {
 185+        "bootmagic": true,
 186+        "encoder": true,
 187+        "extrakey": true,
 188+        "mousekey": true,
 189+        "nkro": false,
 190+        "rgblight": true
 191+    },
 192+    "qmk": {
 193+        "locking": {
 194+            "enabled": true,
 195+            "resync": true
 196+        }
 197+    },
 198     "rgblight": {
 199         "saturation_steps": 8,
 200         "brightness_steps": 8,
 201diff --git a/keyboards/takashicompany/compacx/rules.mk b/keyboards/takashicompany/compacx/rules.mk
 202deleted file mode 100644
 203index 25fcdc1a34cc3aa27c84f4f7352360fa3c74b5d3..0000000000000000000000000000000000000000
 204--- a/keyboards/takashicompany/compacx/rules.mk
 205+++ /dev/null
 206@@ -1,14 +0,0 @@
 207-# Build Options
 208-#   change yes to no to disable
 209-#
 210-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 211-MOUSEKEY_ENABLE = yes       # Mouse keys
 212-EXTRAKEY_ENABLE = yes       # Audio control and System control
 213-CONSOLE_ENABLE = no         # Console for debug
 214-COMMAND_ENABLE = no         # Commands for debug and configuration
 215-NKRO_ENABLE = no            # Enable N-Key Rollover
 216-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 217-RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow
 218-AUDIO_ENABLE = no           # Audio output
 219-ENCODER_ENABLE = yes
 220-LTO_ENABLE = yes
 221diff --git a/keyboards/takashicompany/spreadwriter/info.json b/keyboards/takashicompany/spreadwriter/keyboard.json
 222rename from keyboards/takashicompany/spreadwriter/info.json
 223rename to keyboards/takashicompany/spreadwriter/keyboard.json
 224index da5a95b89573768910d27025a3ae62acd52cb9f2..2c9fcd1619a221f779a8e750ac98575c73eaff54 100644
 225--- a/keyboards/takashicompany/spreadwriter/info.json
 226+++ b/keyboards/takashicompany/spreadwriter/keyboard.json
 227@@ -6,11 +6,11 @@
 228     "diode_direction": "COL2ROW",
 229     "features": {
 230         "bootmagic": true,
 231-        "command": false,
 232-        "console": false,
 233+        "encoder": true,
 234         "extrakey": true,
 235         "mousekey": true,
 236-        "nkro": true
 237+        "nkro": true,
 238+        "rgblight": true
 239     },
 240     "matrix_pins": {
 241         "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "D2"],
 242diff --git a/keyboards/takashicompany/spreadwriter/rules.mk b/keyboards/takashicompany/spreadwriter/rules.mk
 243deleted file mode 100644
 244index 248f19320f0eaf85a712d726a439811aed269da5..0000000000000000000000000000000000000000
 245--- a/keyboards/takashicompany/spreadwriter/rules.mk
 246+++ /dev/null
 247@@ -1,2 +0,0 @@
 248-ENCODER_ENABLE = yes
 249-RGBLIGHT_ENABLE = yes
 250diff --git a/keyboards/takashiski/hecomi/alpha/config.h b/keyboards/takashiski/hecomi/alpha/config.h
 251deleted file mode 100644
 252index 1c14611b2b9aeca0af646367cb46c17b282aeb63..0000000000000000000000000000000000000000
 253--- a/keyboards/takashiski/hecomi/alpha/config.h
 254+++ /dev/null
 255@@ -1,47 +0,0 @@
 256-/*
 257-Copyright 2018 takashiski
 258-
 259-This program is free software: you can redistribute it and/or modify
 260-it under the terms of the GNU General Public License as published by
 261-the Free Software Foundation, either version 2 of the License, or
 262-(at your option) any later version.
 263-
 264-This program is distributed in the hope that it will be useful,
 265-but WITHOUT ANY WARRANTY; without even the implied warranty of
 266-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 267-GNU General Public License for more details.
 268-
 269-You should have received a copy of the GNU General Public License
 270-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 271-*/
 272-
 273-#pragma once
 274-
 275-//#define USE_I2C
 276-
 277-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 278-#define LOCKING_SUPPORT_ENABLE
 279-/* Locking resynchronize hack */
 280-#define LOCKING_RESYNC_ENABLE
 281-
 282-/*
 283- * Feature disable options
 284- *  These options are also useful to firmware size reduction.
 285- */
 286-
 287-/* disable debug print */
 288-//#define NO_DEBUG
 289-
 290-/* disable print */
 291-//#define NO_PRINT
 292-
 293-/* disable action features */
 294-//#define NO_ACTION_LAYER
 295-//#define NO_ACTION_TAPPING
 296-//#define NO_ACTION_ONESHOT
 297-
 298-/*
 299-#define USE_I2C
 300-#define MASTER_LEFT
 301-#define EEHANDS
 302-*/
 303diff --git a/keyboards/takashiski/hecomi/alpha/info.json b/keyboards/takashiski/hecomi/alpha/keyboard.json
 304rename from keyboards/takashiski/hecomi/alpha/info.json
 305rename to keyboards/takashiski/hecomi/alpha/keyboard.json
 306index 767f787e5e346a85f6706d137280bf3ab8df557b..0a6bf513f0c0559bfe49d7b3daca32168043d108 100644
 307--- a/keyboards/takashiski/hecomi/alpha/info.json
 308+++ b/keyboards/takashiski/hecomi/alpha/keyboard.json
 309@@ -8,6 +8,21 @@
 310     "pid": "0x0000",
 311     "device_version": "0.0.1"
 312   },
 313+  "features": {
 314+    "bootmagic": false,
 315+    "command": true,
 316+    "console": true,
 317+    "extrakey": true,
 318+    "mousekey": false,
 319+    "nkro": false,
 320+    "rgblight": true
 321+  },
 322+  "qmk": {
 323+    "locking": {
 324+      "enabled": true,
 325+      "resync": true
 326+    }
 327+  },
 328   "matrix_pins": {
 329     "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
 330     "rows": ["C6", "D7", "E6", "B4", "B5"]
 331diff --git a/keyboards/takashiski/hecomi/alpha/rules.mk b/keyboards/takashiski/hecomi/alpha/rules.mk
 332deleted file mode 100644
 333index 98c2f6b6a7fe0bcae2cdf8738e55a927029e3b47..0000000000000000000000000000000000000000
 334--- a/keyboards/takashiski/hecomi/alpha/rules.mk
 335+++ /dev/null
 336@@ -1,12 +0,0 @@
 337-# Build Options
 338-#   change yes to no to disable
 339-#
 340-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 341-MOUSEKEY_ENABLE = no       # Mouse keys
 342-EXTRAKEY_ENABLE = yes       # Audio control and System control
 343-CONSOLE_ENABLE = yes        # Console for debug
 344-COMMAND_ENABLE = yes        # Commands for debug and configuration
 345-NKRO_ENABLE = no            # Enable N-Key Rollover
 346-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 347-RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow
 348-AUDIO_ENABLE = no           # Audio output
 349diff --git a/keyboards/telophase/info.json b/keyboards/telophase/keyboard.json
 350rename from keyboards/telophase/info.json
 351rename to keyboards/telophase/keyboard.json
 352index 2dd6c5dc7837e62b1ab413861852f554f9b835c4..8efbae55195f9d35d0612aa502a718e52f734c98 100644
 353--- a/keyboards/telophase/info.json
 354+++ b/keyboards/telophase/keyboard.json
 355@@ -8,6 +8,14 @@
 356         "pid": "0x6060",
 357         "device_version": "0.0.1"
 358     },
 359+    "features": {
 360+        "bootmagic": false,
 361+        "command": true,
 362+        "console": true,
 363+        "extrakey": true,
 364+        "mousekey": true,
 365+        "nkro": true
 366+    },
 367     "processor": "atmega32u4",
 368     "bootloader": "caterina",
 369     "community_layouts": ["ortho_4x12"],
 370diff --git a/keyboards/telophase/rules.mk b/keyboards/telophase/rules.mk
 371index 706d610653891f04f9e513db22d20f67125c5b1e..ae63f87e079cf649c21ea7db2f5e3c268556b5e4 100644
 372--- a/keyboards/telophase/rules.mk
 373+++ b/keyboards/telophase/rules.mk
 374@@ -1,18 +1,4 @@
 375-# Build Options
 376-#   change yes to no to disable
 377-#
 378-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 379-MOUSEKEY_ENABLE = yes       # Mouse keys
 380-EXTRAKEY_ENABLE = yes       # Audio control and System control
 381-CONSOLE_ENABLE = yes        # Console for debug
 382-COMMAND_ENABLE = yes        # Commands for debug and configuration
 383-NKRO_ENABLE = yes           # Enable N-Key Rollover
 384-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 385-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 386-AUDIO_ENABLE = no           # Audio output
 387 CUSTOM_MATRIX = lite
 388-
 389-# project specific files
 390 SRC += matrix.c
 391 UART_DRIVER_REQUIRED = yes
 392 
 393diff --git a/keyboards/tkc/portico/info.json b/keyboards/tkc/portico/keyboard.json
 394rename from keyboards/tkc/portico/info.json
 395rename to keyboards/tkc/portico/keyboard.json
 396index 4f908c83e622005122f23f3bbf9c6023aa2eb735..29b7d8246b2a9eee1e01b14fe396beb5a645428f 100644
 397--- a/keyboards/tkc/portico/info.json
 398+++ b/keyboards/tkc/portico/keyboard.json
 399@@ -8,6 +8,13 @@
 400         "pid": "0x0008",
 401         "device_version": "0.0.1"
 402     },
 403+    "features": {
 404+        "bootmagic": true,
 405+        "command": true,
 406+        "extrakey": true,
 407+        "mousekey": true,
 408+        "nkro": true
 409+    },
 410     "rgb_matrix": {
 411         "animations": {
 412             "alphas_mods": true,
 413diff --git a/keyboards/tkc/portico/rules.mk b/keyboards/tkc/portico/rules.mk
 414index 6bc05372affcd21408694b821daab8e7884771b3..4263ceb168464c8489799f289bb314d5ad174eb1 100644
 415--- a/keyboards/tkc/portico/rules.mk
 416+++ b/keyboards/tkc/portico/rules.mk
 417@@ -1,22 +1,8 @@
 418-# Build Options
 419-#   change yes to no to disable
 420-#
 421-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 422-MOUSEKEY_ENABLE = yes          # Mouse keys
 423-EXTRAKEY_ENABLE = yes          # Audio control and System control
 424-CONSOLE_ENABLE = no            # Console for debug
 425-COMMAND_ENABLE = yes           # Commands for debug and configuration
 426-NKRO_ENABLE = yes           # Enable N-Key Rollover
 427-BACKLIGHT_ENABLE = no          # Enable keyboard backlight functionality
 428-RGBLIGHT_ENABLE = no           # Enable keyboard RGB underglow
 429-AUDIO_ENABLE = no              # Audio output
 430-RGB_MATRIX_ENABLE = no
 431 CIE1931_CURVE = yes
 432+I2C_DRIVER_REQUIRED = yes
 433 
 434 # project specific files
 435 SRC += keyboards/wilba_tech/wt_main.c \
 436        keyboards/wilba_tech/wt_rgb_backlight.c \
 437        quantum/color.c \
 438        drivers/led/issi/is31fl3731.c
 439-
 440-I2C_DRIVER_REQUIRED = yes
 441diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/keyboard.json
 442rename from keyboards/tkc/portico75/info.json
 443rename to keyboards/tkc/portico75/keyboard.json
 444index fa2a24951fa35ae58bbcd1b460e2fb327425ae7e..79ead697648cbb4ef2aab817062a8953c5458948 100644
 445--- a/keyboards/tkc/portico75/info.json
 446+++ b/keyboards/tkc/portico75/keyboard.json
 447@@ -8,6 +8,15 @@
 448         "pid": "0x0011",
 449         "device_version": "0.0.1"
 450     },
 451+    "features": {
 452+        "bootmagic": true,
 453+        "command": true,
 454+        "encoder": true,
 455+        "extrakey": true,
 456+        "mousekey": true,
 457+        "nkro": true,
 458+        "rgb_matrix": true
 459+    },
 460     "rgb_matrix": {
 461         "animations": {
 462             "alphas_mods": true,
 463diff --git a/keyboards/tkc/portico75/keymaps/via/rules.mk b/keyboards/tkc/portico75/keymaps/via/rules.mk
 464index 1706771222e03efd28597adfe2afa6dc00273613..81628aba6ba46ccc81237c448a1d463b646b566c 100644
 465--- a/keyboards/tkc/portico75/keymaps/via/rules.mk
 466+++ b/keyboards/tkc/portico75/keymaps/via/rules.mk
 467@@ -10,3 +10,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
 468        drivers/led/issi/is31fl3741.c
 469 
 470 I2C_DRIVER_REQUIRED = yes
 471+CIE1931_CURVE = yes
 472diff --git a/keyboards/tkc/portico75/rules.mk b/keyboards/tkc/portico75/rules.mk
 473deleted file mode 100644
 474index 36e22b992da34ba972200920a94f1d502d77d2a2..0000000000000000000000000000000000000000
 475--- a/keyboards/tkc/portico75/rules.mk
 476+++ /dev/null
 477@@ -1,15 +0,0 @@
 478-# Build Options
 479-#   change yes to no to disable
 480-#
 481-BOOTMAGIC_ENABLE = yes         # Enable Bootmagic Lite
 482-MOUSEKEY_ENABLE = yes          # Mouse keys
 483-EXTRAKEY_ENABLE = yes          # Audio control and System control
 484-CONSOLE_ENABLE = no            # Console for debug
 485-COMMAND_ENABLE = yes           # Commands for debug and configuration
 486-NKRO_ENABLE = yes              # Enable N-Key Rollover
 487-BACKLIGHT_ENABLE = no          # Enable keyboard backlight functionality
 488-RGBLIGHT_ENABLE = no           # Enable keyboard RGB underglow
 489-AUDIO_ENABLE = no              # Audio output
 490-RGB_MATRIX_ENABLE = yes        # Use RGB matrix
 491-CIE1931_CURVE = yes
 492-ENCODER_ENABLE = yes
 493diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json
 494index 7700780b2e8f64ddef0f2b4080f6d0cae511e9f0..507f4c47926037b673ae804291a86eae17ce480e 100644
 495--- a/keyboards/tkw/grandiceps/info.json
 496+++ b/keyboards/tkw/grandiceps/info.json
 497@@ -4,7 +4,19 @@
 498     "maintainer": "vattern",
 499     "usb": {
 500         "vid": "0xFEED",
 501-        "pid": "0x7812"
 502+        "pid": "0x7812",
 503+        "shared_endpoint": {
 504+            "keyboard": true
 505+        }
 506+    },
 507+    "features": {
 508+        "bootmagic": true,
 509+        "encoder": true,
 510+        "extrakey": true,
 511+        "mousekey": true,
 512+        "nkro": true,
 513+        "oled": true,
 514+        "rgblight": true
 515     },
 516     "ws2812": {
 517         "pin": "B1",
 518diff --git a/keyboards/tkw/grandiceps/rev2/info.json b/keyboards/tkw/grandiceps/rev2/keyboard.json
 519rename from keyboards/tkw/grandiceps/rev2/info.json
 520rename to keyboards/tkw/grandiceps/rev2/keyboard.json
 521diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk
 522index 5b78d6fe55cb434413bf6263fb36bd29df23b367..01fa5217635a98fa4c59c40c6ab4df3ba55c4961 100644
 523--- a/keyboards/tkw/grandiceps/rules.mk
 524+++ b/keyboards/tkw/grandiceps/rules.mk
 525@@ -1,20 +1,3 @@
 526-# Build Options
 527-#   change yes to no to disable
 528-#
 529-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 530-MOUSEKEY_ENABLE = yes       # Mouse keys
 531-EXTRAKEY_ENABLE = yes       # Audio control and System control
 532-CONSOLE_ENABLE = no         # Console for debug
 533-COMMAND_ENABLE = no         # Commands for debug and configuration
 534-NKRO_ENABLE = yes           # Enable N-Key Rollover
 535-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 536-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 537-ENCODER_ENABLE = yes        # Enable rotary encoder support
 538-AUDIO_ENABLE = no           # Audio output
 539-KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra
 540-
 541 SERIAL_DRIVER = usart
 542-OLED_ENABLE = yes
 543-OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
 544 
 545 DEFAULT_FOLDER = tkw/grandiceps/rev1
 546diff --git a/keyboards/tkw/stoutgat/v1/info.json b/keyboards/tkw/stoutgat/v1/keyboard.json
 547rename from keyboards/tkw/stoutgat/v1/info.json
 548rename to keyboards/tkw/stoutgat/v1/keyboard.json
 549index 9d7a60a4b97cf37b4e438469fb19c77a0892dced..2dd46af49471fe9817a82b730faa883f029341f8 100644
 550--- a/keyboards/tkw/stoutgat/v1/info.json
 551+++ b/keyboards/tkw/stoutgat/v1/keyboard.json
 552@@ -8,6 +8,13 @@
 553         "pid": "0x7811",
 554         "device_version": "0.0.1"
 555     },
 556+    "features": {
 557+        "bootmagic": true,
 558+        "encoder": true,
 559+        "extrakey": true,
 560+        "mousekey": true,
 561+        "nkro": false
 562+    },
 563     "matrix_pins": {
 564         "cols": ["D6", "D5", "D7", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "A7", "A6", "A5", "A4"],
 565         "rows": ["D1", "D0", "A0", "A1", "A2"]
 566diff --git a/keyboards/tkw/stoutgat/v1/rules.mk b/keyboards/tkw/stoutgat/v1/rules.mk
 567index 8dca0665f774f15921466c60f5098117d74e097f..c2ee0bc86f978b7fbb1163ae7a5e16b69dd7b63d 100644
 568--- a/keyboards/tkw/stoutgat/v1/rules.mk
 569+++ b/keyboards/tkw/stoutgat/v1/rules.mk
 570@@ -1,16 +1,2 @@
 571 # Processor frequency
 572 F_CPU = 16000000
 573-
 574-# Build Options
 575-#   change yes to no to disable
 576-#
 577-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 578-MOUSEKEY_ENABLE = yes       # Mouse keys
 579-EXTRAKEY_ENABLE = yes       # Audio control and System control
 580-CONSOLE_ENABLE = no         # Console for debug
 581-COMMAND_ENABLE = no         # Commands for debug and configuration
 582-NKRO_ENABLE = no            # Enable N-Key Rollover
 583-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 584-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 585-AUDIO_ENABLE = no           # Audio output
 586-ENCODER_ENABLE  = yes
 587diff --git a/keyboards/tkw/stoutgat/v2/info.json b/keyboards/tkw/stoutgat/v2/info.json
 588index b1232f6816eecfecabe26d59ecd749096fb893fd..dbb227b0fdc2b01bc2381cb9b9f32104d1f139e4 100644
 589--- a/keyboards/tkw/stoutgat/v2/info.json
 590+++ b/keyboards/tkw/stoutgat/v2/info.json
 591@@ -8,6 +8,14 @@
 592         "pid": "0x7811",
 593         "device_version": "0.0.2"
 594     },
 595+    "features": {
 596+        "bootmagic": true,
 597+        "encoder": true,
 598+        "extrakey": true,
 599+        "mousekey": true,
 600+        "nkro": true,
 601+        "rgblight": true
 602+    },
 603     "ws2812": {
 604         "pin": "B1",
 605         "driver": "pwm"
 606diff --git a/keyboards/tkw/stoutgat/v2/rules.mk b/keyboards/tkw/stoutgat/v2/rules.mk
 607index 477d680add8929e3eea5ff5a0395a92fcb63e846..1a660af26c9862e5a75a3d9b2518d0cc754e2363 100644
 608--- a/keyboards/tkw/stoutgat/v2/rules.mk
 609+++ b/keyboards/tkw/stoutgat/v2/rules.mk
 610@@ -1,18 +1 @@
 611-# Build Options
 612-#   change yes to no to disable
 613-#
 614-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 615-KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra
 616-MOUSEKEY_ENABLE = yes       # Mouse keys
 617-EXTRAKEY_ENABLE = yes       # Audio control and System control
 618-CONSOLE_ENABLE = no         # Console for debug
 619-COMMAND_ENABLE = no         # Commands for debug and configuration
 620-NKRO_ENABLE = yes           # Enable N-Key Rollover
 621-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 622-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 623-ENCODER_ENABLE = yes        # Enable rotary encoder support
 624-AUDIO_ENABLE = no           # Audio output
 625-
 626-OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
 627-
 628 DEFAULT_FOLDER = tkw/stoutgat/v2/f411
 629diff --git a/keyboards/tokyokeyboard/alix40/info.json b/keyboards/tokyokeyboard/alix40/keyboard.json
 630rename from keyboards/tokyokeyboard/alix40/info.json
 631rename to keyboards/tokyokeyboard/alix40/keyboard.json
 632index 7b2f198e596c2b9162fc1381188a76bdc69bf33e..e4c27aaec21358798a9a1436c26dbe47c9799a76 100644
 633--- a/keyboards/tokyokeyboard/alix40/info.json
 634+++ b/keyboards/tokyokeyboard/alix40/keyboard.json
 635@@ -8,6 +8,14 @@
 636         "pid": "0x4134",
 637         "device_version": "0.0.1"
 638     },
 639+    "features": {
 640+        "bluetooth": true,
 641+        "bootmagic": true,
 642+        "command": true,
 643+        "extrakey": true,
 644+        "mousekey": false,
 645+        "nkro": false
 646+    },
 647     "matrix_pins": {
 648         "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "D0", "D1", "D2", "D3", "D5", "D6"],
 649         "rows": ["D7", "C6", "C7", "B5"]
 650diff --git a/keyboards/tokyokeyboard/alix40/rules.mk b/keyboards/tokyokeyboard/alix40/rules.mk
 651index 5d6d78ae10ae0d8b170699e014a67e478040fd6c..3437a35bdf1d396646ebb3ac285788fb68a6f115 100644
 652--- a/keyboards/tokyokeyboard/alix40/rules.mk
 653+++ b/keyboards/tokyokeyboard/alix40/rules.mk
 654@@ -1,16 +1,2 @@
 655 # Processor frequency
 656 F_CPU = 8000000
 657-
 658-# Build Options
 659-#   change yes to no to disable
 660-#
 661-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 662-MOUSEKEY_ENABLE = no        # Mouse keys
 663-EXTRAKEY_ENABLE = yes       # Audio control and System control
 664-CONSOLE_ENABLE = no         # Console for debug
 665-COMMAND_ENABLE = yes        # Commands for debug and configuration
 666-NKRO_ENABLE = no            # Enable N-Key Rollover
 667-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 668-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 669-AUDIO_ENABLE = no           # Audio output
 670-BLUETOOTH_ENABLE = yes
 671diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/info.json b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
 672rename from keyboards/tominabox1/littlefoot_lx/rev1/info.json
 673rename to keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
 674index be22362de212f3c63eecce52551774b0de7cde09..b021ba9c8d4be0d6015af80b5e3a8e5fb11d7b06 100644
 675--- a/keyboards/tominabox1/littlefoot_lx/rev1/info.json
 676+++ b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
 677@@ -8,6 +8,12 @@
 678         "pid": "0x6C78",
 679         "device_version": "0.0.1"
 680     },
 681+    "features": {
 682+        "bootmagic": true,
 683+        "extrakey": false,
 684+        "mousekey": false,
 685+        "nkro": true
 686+    },
 687     "matrix_pins": {
 688         "cols": ["D7", "D6", "D4", "E2", "F5", "F6", "F7", "B6", "B5", "B4"],
 689         "rows": ["D5", "F4", "D3", "F1", "F0"]
 690diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk
 691deleted file mode 100644
 692index 964fd15539920a7e4a702bf74281da2ea4549f51..0000000000000000000000000000000000000000
 693--- a/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk
 694+++ /dev/null
 695@@ -1,12 +0,0 @@
 696-# Build Options
 697-#   change yes to no to disable
 698-#
 699-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 700-MOUSEKEY_ENABLE = no        # Mouse keys
 701-EXTRAKEY_ENABLE = no        # Audio control and System control
 702-CONSOLE_ENABLE = no         # Console for debug
 703-COMMAND_ENABLE = no         # Commands for debug and configuration
 704-NKRO_ENABLE = yes           # Enable N-Key Rollover
 705-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 706-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 707-AUDIO_ENABLE = no           # Audio output
 708diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/info.json b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
 709rename from keyboards/tominabox1/littlefoot_lx/rev2/info.json
 710rename to keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
 711index 6a48b5076b4fc9c42985669fa93fd1f335c6ccb2..fe1cf6e59600cbd09aaeba20e4e19d89ec611139 100644
 712--- a/keyboards/tominabox1/littlefoot_lx/rev2/info.json
 713+++ b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
 714@@ -8,6 +8,12 @@
 715         "pid": "0x6C78",
 716         "device_version": "0.0.1"
 717     },
 718+    "features": {
 719+        "bootmagic": true,
 720+        "extrakey": false,
 721+        "mousekey": false,
 722+        "nkro": true
 723+    },
 724     "matrix_pins": {
 725         "cols": ["D7", "D6", "D4", "C7", "F5", "F6", "F7", "B6", "B5", "B4"],
 726         "rows": ["D5", "F4", "D3", "F1", "F0"]
 727diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk
 728deleted file mode 100644
 729index 964fd15539920a7e4a702bf74281da2ea4549f51..0000000000000000000000000000000000000000
 730--- a/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk
 731+++ /dev/null
 732@@ -1,12 +0,0 @@
 733-# Build Options
 734-#   change yes to no to disable
 735-#
 736-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 737-MOUSEKEY_ENABLE = no        # Mouse keys
 738-EXTRAKEY_ENABLE = no        # Audio control and System control
 739-CONSOLE_ENABLE = no         # Console for debug
 740-COMMAND_ENABLE = no         # Commands for debug and configuration
 741-NKRO_ENABLE = yes           # Enable N-Key Rollover
 742-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 743-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 744-AUDIO_ENABLE = no           # Audio output
 745diff --git a/keyboards/tominabox1/underscore33/rev1/config.h b/keyboards/tominabox1/underscore33/rev1/config.h
 746deleted file mode 100644
 747index 333d0a100ebbf58f70c66d39bc35fcb878610851..0000000000000000000000000000000000000000
 748--- a/keyboards/tominabox1/underscore33/rev1/config.h
 749+++ /dev/null
 750@@ -1,21 +0,0 @@
 751-/* Copyright 2020 tominabox1
 752- *
 753- * This program is free software: you can redistribute it and/or modify
 754- * it under the terms of the GNU General Public License as published by
 755- * the Free Software Foundation, either version 2 of the License, or
 756- * (at your option) any later version.
 757- *
 758- * This program is distributed in the hope that it will be useful,
 759- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 760- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 761- * GNU General Public License for more details.
 762- *
 763- * You should have received a copy of the GNU General Public License
 764- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 765- */
 766-#pragma once
 767-
 768-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 769-#define LOCKING_SUPPORT_ENABLE
 770-/* Locking resynchronize hack */
 771-#define LOCKING_RESYNC_ENABLE
 772diff --git a/keyboards/tominabox1/underscore33/rev1/info.json b/keyboards/tominabox1/underscore33/rev1/keyboard.json
 773rename from keyboards/tominabox1/underscore33/rev1/info.json
 774rename to keyboards/tominabox1/underscore33/rev1/keyboard.json
 775index c52c1b13730a147179a052f025a49c1d7fd52e5f..221ecccb0419fa2b9d455bcfcd36a0946dfab566 100644
 776--- a/keyboards/tominabox1/underscore33/rev1/info.json
 777+++ b/keyboards/tominabox1/underscore33/rev1/keyboard.json
 778@@ -8,6 +8,18 @@
 779     "pid": "0x3301",
 780     "device_version": "0.0.1"
 781   },
 782+  "features": {
 783+    "bootmagic": true,
 784+    "extrakey": true,
 785+    "mousekey": true,
 786+    "nkro": true
 787+  },
 788+  "qmk": {
 789+    "locking": {
 790+      "enabled": true,
 791+      "resync": true
 792+    }
 793+  },
 794   "matrix_pins": {
 795     "cols": ["B4", "B5", "D5", "F7", "B1", "F4", "B3", "D7", "B0", "B2"],
 796     "rows": ["F5", "F6", "C6", "D0"]
 797diff --git a/keyboards/tominabox1/underscore33/rev1/rules.mk b/keyboards/tominabox1/underscore33/rev1/rules.mk
 798deleted file mode 100644
 799index 3b6a1809db185253a61eef9fd4dc1e290a2eac5b..0000000000000000000000000000000000000000
 800--- a/keyboards/tominabox1/underscore33/rev1/rules.mk
 801+++ /dev/null
 802@@ -1,12 +0,0 @@
 803-# Build Options
 804-#   change yes to no to disable
 805-#
 806-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 807-MOUSEKEY_ENABLE = yes       # Mouse keys
 808-EXTRAKEY_ENABLE = yes       # Audio control and System control
 809-CONSOLE_ENABLE = no         # Console for debug
 810-COMMAND_ENABLE = no         # Commands for debug and configuration
 811-NKRO_ENABLE = yes           # Enable N-Key Rollover
 812-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 813-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 814-AUDIO_ENABLE = no           # Audio output
 815diff --git a/keyboards/tominabox1/underscore33/rev2/config.h b/keyboards/tominabox1/underscore33/rev2/config.h
 816deleted file mode 100644
 817index 333d0a100ebbf58f70c66d39bc35fcb878610851..0000000000000000000000000000000000000000
 818--- a/keyboards/tominabox1/underscore33/rev2/config.h
 819+++ /dev/null
 820@@ -1,21 +0,0 @@
 821-/* Copyright 2020 tominabox1
 822- *
 823- * This program is free software: you can redistribute it and/or modify
 824- * it under the terms of the GNU General Public License as published by
 825- * the Free Software Foundation, either version 2 of the License, or
 826- * (at your option) any later version.
 827- *
 828- * This program is distributed in the hope that it will be useful,
 829- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 830- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 831- * GNU General Public License for more details.
 832- *
 833- * You should have received a copy of the GNU General Public License
 834- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 835- */
 836-#pragma once
 837-
 838-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 839-#define LOCKING_SUPPORT_ENABLE
 840-/* Locking resynchronize hack */
 841-#define LOCKING_RESYNC_ENABLE
 842diff --git a/keyboards/tominabox1/underscore33/rev2/info.json b/keyboards/tominabox1/underscore33/rev2/keyboard.json
 843rename from keyboards/tominabox1/underscore33/rev2/info.json
 844rename to keyboards/tominabox1/underscore33/rev2/keyboard.json
 845index b9c8b87b5020353b6e448cd19e02c3812abbe411..4375116963fb5e03c922c4e10010c565a161cbf7 100644
 846--- a/keyboards/tominabox1/underscore33/rev2/info.json
 847+++ b/keyboards/tominabox1/underscore33/rev2/keyboard.json
 848@@ -8,6 +8,18 @@
 849     "pid": "0x3302",
 850     "device_version": "0.0.2"
 851   },
 852+  "features": {
 853+    "bootmagic": true,
 854+    "extrakey": true,
 855+    "mousekey": false,
 856+    "nkro": true
 857+  },
 858+  "qmk": {
 859+    "locking": {
 860+      "enabled": true,
 861+      "resync": true
 862+    }
 863+  },
 864   "rgblight": {
 865     "led_count": 12,
 866     "animations": {
 867diff --git a/keyboards/tominabox1/underscore33/rev2/rules.mk b/keyboards/tominabox1/underscore33/rev2/rules.mk
 868deleted file mode 100644
 869index dd8f1a5ae7da3d764b1f06bfa92fa350edbf3710..0000000000000000000000000000000000000000
 870--- a/keyboards/tominabox1/underscore33/rev2/rules.mk
 871+++ /dev/null
 872@@ -1,13 +0,0 @@
 873-# Build Options
 874-#   change yes to no to disable
 875-#
 876-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 877-MOUSEKEY_ENABLE = no        # Mouse keys
 878-EXTRAKEY_ENABLE = yes       # Audio control and System control
 879-CONSOLE_ENABLE = no         # Console for debug
 880-COMMAND_ENABLE = no         # Commands for debug and configuration
 881-NKRO_ENABLE = yes           # Enable N-Key Rollover
 882-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 883-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 884-AUDIO_ENABLE = no           # Audio output
 885-
 886diff --git a/keyboards/torn/info.json b/keyboards/torn/keyboard.json
 887rename from keyboards/torn/info.json
 888rename to keyboards/torn/keyboard.json
 889index c1b83188f061ae89b31711db07324826da4f80c1..162e7d08c0e94a35ea8621bed7c3b543451edb1e 100644
 890--- a/keyboards/torn/info.json
 891+++ b/keyboards/torn/keyboard.json
 892@@ -9,6 +9,14 @@
 893     "device_version": "0.0.1",
 894     "max_power": 100
 895   },
 896+  "features": {
 897+    "bootmagic": false,
 898+    "encoder": true,
 899+    "extrakey": false,
 900+    "mousekey": false,
 901+    "oled": true,
 902+    "wpm": true
 903+  },
 904   "encoder": {
 905     "rotary": [
 906       {"pin_a": "B2", "pin_b": "B1"}
 907diff --git a/keyboards/torn/rules.mk b/keyboards/torn/rules.mk
 908index f855a651a55ce4b9f0c15ae23a58a079dce0f836..213b5db8ab89bbfa1314cdd8a5d4073619059e5f 100644
 909--- a/keyboards/torn/rules.mk
 910+++ b/keyboards/torn/rules.mk
 911@@ -1,16 +1,3 @@
 912-# Build Options
 913-#   change yes to no to disable
 914-#
 915-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 916-MOUSEKEY_ENABLE = no        # Mouse keys
 917-EXTRAKEY_ENABLE = no        # Audio control and System control
 918-CONSOLE_ENABLE = no         # Console for debug
 919-COMMAND_ENABLE = no         # Commands for debug and configuration
 920-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 921-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 922-ENCODER_ENABLE = yes        # Enable rotary encoder
 923-OLED_ENABLE = yes
 924-WPM_ENABLE = yes
 925 CUSTOM_MATRIX = lite
 926 
 927 SRC += matrix.c \
 928diff --git a/keyboards/touchpad/config.h b/keyboards/touchpad/config.h
 929index d499fb795c3c1565da8d1dd807645905a1cc556e..f6f58cc5a125ea207a3e3b1b7dc5fea41943963a 100644
 930--- a/keyboards/touchpad/config.h
 931+++ b/keyboards/touchpad/config.h
 932@@ -17,28 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 933 
 934 #pragma once
 935 
 936-
 937 /* key matrix size */
 938 #define MATRIX_ROWS 6
 939 #define MATRIX_COLS 6
 940-
 941-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 942-#define LOCKING_SUPPORT_ENABLE
 943-/* Locking resynchronize hack */
 944-#define LOCKING_RESYNC_ENABLE
 945-
 946-/*
 947- * Feature disable options
 948- *  These options are also useful to firmware size reduction.
 949- */
 950-
 951-/* disable debug print */
 952-//#define NO_DEBUG
 953-
 954-/* disable print */
 955-//#define NO_PRINT
 956-
 957-/* disable action features */
 958-//#define NO_ACTION_LAYER
 959-//#define NO_ACTION_TAPPING
 960-//#define NO_ACTION_ONESHOT
 961diff --git a/keyboards/touchpad/info.json b/keyboards/touchpad/keyboard.json
 962rename from keyboards/touchpad/info.json
 963rename to keyboards/touchpad/keyboard.json
 964index 7b3cc0950d933ac416eab12c431474d497e9c139..5429b5844db56e78443e151e2fb41501a02a0142 100644
 965--- a/keyboards/touchpad/info.json
 966+++ b/keyboards/touchpad/keyboard.json
 967@@ -8,6 +8,19 @@
 968         "pid": "0x0DB8",
 969         "device_version": "0.0.1"
 970     },
 971+    "features": {
 972+        "bootmagic": false,
 973+        "console": true,
 974+        "extrakey": true,
 975+        "mousekey": false,
 976+        "nkro": true
 977+    },
 978+    "qmk": {
 979+        "locking": {
 980+            "enabled": true,
 981+            "resync": true
 982+        }
 983+    },
 984     "processor": "atmega32u4",
 985     "bootloader": "caterina",
 986     "layouts": {
 987diff --git a/keyboards/touchpad/rules.mk b/keyboards/touchpad/rules.mk
 988index b9fb83c48c7ec12de5c653f3ed7390a9eefc04b3..42be966784aadce3830114004cae02e5ed746f7a 100644
 989--- a/keyboards/touchpad/rules.mk
 990+++ b/keyboards/touchpad/rules.mk
 991@@ -1,15 +1,3 @@
 992-# Build Options
 993-#   change yes to no to disable
 994-#
 995-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 996-MOUSEKEY_ENABLE = no       # Mouse keys
 997-EXTRAKEY_ENABLE = yes       # Audio control and System control
 998-CONSOLE_ENABLE = yes         # Console for debug
 999-COMMAND_ENABLE = no        # Commands for debug and configuration
1000-NKRO_ENABLE = yes           # Enable N-Key Rollover
1001-BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
1002-AUDIO_ENABLE = no           # Audio output
1003-RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
1004 CUSTOM_MATRIX = yes
1005 
1006 SRC += matrix.c
1007diff --git a/keyboards/tweetydabird/lotus58/nanoboot/info.json b/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json
1008rename from keyboards/tweetydabird/lotus58/nanoboot/info.json
1009rename to keyboards/tweetydabird/lotus58/nanoboot/keyboard.json
1010diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/info.json b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
1011rename from keyboards/tweetydabird/lotus58/rp2040_ce/info.json
1012rename to keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
1013diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/keyboard.json
1014rename from keyboards/ungodly/launch_pad/info.json
1015rename to keyboards/ungodly/launch_pad/keyboard.json
1016index d9d0ea30eddb51a4a2aa836cba6eb77ed8c98590..50b6c2bcbf65bb15b4c4bf78b5f1dcdf5ed0bfa3 100644
1017--- a/keyboards/ungodly/launch_pad/info.json
1018+++ b/keyboards/ungodly/launch_pad/keyboard.json
1019@@ -8,6 +8,22 @@
1020     "pid": "0x4C50",
1021     "device_version": "99.9.9"
1022   },
1023+  "build": {
1024+    "lto": true
1025+  },
1026+  "features": {
1027+    "bootmagic": true,
1028+    "encoder": true,
1029+    "extrakey": true,
1030+    "midi": true,
1031+    "mousekey": false,
1032+    "nkro": true,
1033+    "oled": true,
1034+    "rgb_matrix": true,
1035+    "magic": false,
1036+    "grave_esc": false,
1037+    "space_cadet": false
1038+  },
1039   "rgb_matrix": {
1040     "animations": {
1041       "gradient_left_right": true,
1042diff --git a/keyboards/ungodly/launch_pad/rules.mk b/keyboards/ungodly/launch_pad/rules.mk
1043index 31fabc928cac96012b32376e60d20b5fece7bbf9..cc588202788d60f70c4b575dd0ae3572fd554917 100644
1044--- a/keyboards/ungodly/launch_pad/rules.mk
1045+++ b/keyboards/ungodly/launch_pad/rules.mk
1046@@ -1,22 +1 @@
1047-# Build Options
1048-#   change yes to no to disable
1049-#
1050-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
1051-MOUSEKEY_ENABLE = no        # Mouse keys
1052-EXTRAKEY_ENABLE = yes       # Audio control and System control
1053-CONSOLE_ENABLE = no         # Console for debug
1054-COMMAND_ENABLE = no         # Commands for debug and configuration
1055-NKRO_ENABLE = yes           # Enable N-Key Rollover
1056-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
1057-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
1058-AUDIO_ENABLE = no           # Audio output
1059-MIDI_ENABLE = yes
1060-OLED_ENABLE = yes
1061-ENCODER_ENABLE = yes
1062-RGB_MATRIX_ENABLE = yes
1063-SPACE_CADET_ENABLE = no
1064-MAGIC_ENABLE = no
1065-GRAVE_ESC_ENABLE = no
1066-LTO_ENABLE = yes
1067-
1068 ANALOG_DRIVER_REQUIRED = yes
1069diff --git a/keyboards/unicomp/classic_ultracl_post_2013/info.json b/keyboards/unicomp/classic_ultracl_post_2013/info.json
1070index f92299e9fa4ee4311f1a1750b94da8b028b7c6e0..98138b87dd7a9d7eca64b4b50a70fd25781266d0 100644
1071--- a/keyboards/unicomp/classic_ultracl_post_2013/info.json
1072+++ b/keyboards/unicomp/classic_ultracl_post_2013/info.json
1073@@ -5,7 +5,10 @@
1074     "usb": {
1075         "vid": "0x16C0",
1076         "pid": "0x27DB",
1077-        "device_version": "0.0.1"
1078+        "device_version": "0.0.1",
1079+        "shared_endpoint": {
1080+            "keyboard": true
1081+        }
1082     },
1083     "layouts": {
1084         "LAYOUT_all": {
1085diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/keyboard.json
1086rename from keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
1087rename to keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/keyboard.json
1088index 13615db22d43765f1076361266eb0d6c9c24644b..0ef2cc4d5edb765f1e5f740a30efb41bdb4c13fc 100644
1089--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
1090+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/keyboard.json
1091@@ -3,6 +3,13 @@
1092     "manufacturer": "Unicomp/Purdea Andrei",
1093     "maintainer": "purdeaandrei",
1094     "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
1095+    "features": {
1096+        "bootmagic": true,
1097+        "extrakey": true,
1098+        "haptic": true,
1099+        "mousekey": true,
1100+        "nkro": false
1101+    },
1102     "indicators": {
1103         "caps_lock": "C11",
1104         "num_lock": "C12",