76bd5142cfed1fb8e07b9f32fb0b010fbc068fa4

Author
James Young <18669334+noroadsleft@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

Data-Driven Keyboard Conversions: 0-9 (#23357)

Diff

This diff is truncated to protect this page.

   1diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h
   2deleted file mode 100644
   3index 244a5f192df0d7dbf7f55fc70abdc5648d83cb3a..0000000000000000000000000000000000000000
   4--- a/keyboards/0xc7/61key/config.h
   5+++ /dev/null
   6@@ -1,39 +0,0 @@
   7-/*
   8-Copyright 2021 0xC7
   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/0xc7/61key/keyboard.json b/keyboards/0xc7/61key/keyboard.json
  47index 6585b970c1e5983b6075bba9af6ba356af3e61f3..ab5127db38abf05686b145fba7ef8d36de876ea7 100644
  48--- a/keyboards/0xc7/61key/keyboard.json
  49+++ b/keyboards/0xc7/61key/keyboard.json
  50@@ -20,6 +20,12 @@
  51         "mousekey": false,
  52         "nkro": false
  53     },
  54+    "qmk": {
  55+        "locking": {
  56+            "enabled": true,
  57+            "resync": true
  58+        }
  59+    },
  60     "matrix_pins": {
  61         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "F7", "F6", "F5", "F4", "F1", "F0"],
  62         "rows": ["B0", "B1", "B2", "B3", "B7"]
  63diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h
  64index 5791b324b65cd138b868686f814f435369d8b638..5fec622271ca1e778ff7379664e648c373971174 100644
  65--- a/keyboards/0xcb/1337/config.h
  66+++ b/keyboards/0xcb/1337/config.h
  67@@ -19,10 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  68 /* default setup after eeprom reset */
  69 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
  70 
  71-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  72-#define LOCKING_SUPPORT_ENABLE
  73-/* Locking resynchronize hack */
  74-#define LOCKING_RESYNC_ENABLE
  75 /* Oled Size */
  76 #define OLED_DISPLAY_128X64
  77 #define OLED_FONT_END 255
  78diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json
  79index 5b583dc291be8c97f66af8bf03550bbde52409e6..f264d4ed065f92e78d5060f94f34ecb6c4cae2c2 100644
  80--- a/keyboards/0xcb/1337/keyboard.json
  81+++ b/keyboards/0xcb/1337/keyboard.json
  82@@ -19,6 +19,10 @@
  83     ]
  84   },
  85   "qmk": {
  86+    "locking": {
  87+      "enabled": true,
  88+      "resync": true
  89+    },
  90     "tap_keycode_delay": 10
  91   },
  92   "qmk_lufa_bootloader": {
  93@@ -80,9 +84,11 @@
  94         {"x": 0, "y": 0, "matrix": [0, 0]},
  95         {"x": 1, "y": 0, "matrix": [0, 1]},
  96         {"x": 2, "y": 0, "matrix": [0, 2]},
  97+
  98         {"x": 0, "y": 1, "matrix": [1, 0]},
  99         {"x": 1, "y": 1, "matrix": [1, 1]},
 100         {"x": 2, "y": 1, "matrix": [1, 2]},
 101+
 102         {"x": 0, "y": 2, "matrix": [2, 0]},
 103         {"x": 1, "y": 2, "matrix": [2, 1]},
 104         {"x": 2, "y": 2, "matrix": [2, 2]}
 105diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h
 106index 179c84088bb315b1d7563d1913e55d1fc0540c2e..60d9ff232a953de0c98a77f97969624098157278 100644
 107--- a/keyboards/0xcb/static/config.h
 108+++ b/keyboards/0xcb/static/config.h
 109@@ -16,11 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 110 */
 111 #pragma once
 112 
 113-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 114-#define LOCKING_SUPPORT_ENABLE
 115-/* Locking resynchronize hack */
 116-#define LOCKING_RESYNC_ENABLE
 117-
 118 /* oled custom font */
 119 #define OLED_FONT_END 255
 120 #define OLED_FONT_H "gfxfont.c"
 121diff --git a/keyboards/0xcb/static/keyboard.json b/keyboards/0xcb/static/keyboard.json
 122index cd3d492870708f3999a5659afe0cc3cd1de295ba..73a6a802cc58fada1c79651f155d85f492e55262 100644
 123--- a/keyboards/0xcb/static/keyboard.json
 124+++ b/keyboards/0xcb/static/keyboard.json
 125@@ -32,6 +32,10 @@
 126     ]
 127   },
 128   "qmk": {
 129+    "locking": {
 130+      "enabled": true,
 131+      "resync": true
 132+    },
 133     "tap_keycode_delay": 10
 134   },
 135   "processor": "atmega328p",
 136diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
 137deleted file mode 100644
 138index d876570c808ee13a971560fe2424afb24022f2eb..0000000000000000000000000000000000000000
 139--- a/keyboards/1upkeyboards/1up60hse/config.h
 140+++ /dev/null
 141@@ -1,39 +0,0 @@
 142-/*
 143-Copyright 2018 MechMerlin
 144-
 145-This program is free software: you can redistribute it and/or modify
 146-it under the terms of the GNU General Public License as published by
 147-the Free Software Foundation, either version 2 of the License, or
 148-(at your option) any later version.
 149-
 150-This program is distributed in the hope that it will be useful,
 151-but WITHOUT ANY WARRANTY; without even the implied warranty of
 152-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 153-GNU General Public License for more details.
 154-
 155-You should have received a copy of the GNU General Public License
 156-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 157-*/
 158-
 159-#pragma once
 160-
 161-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 162-#define LOCKING_SUPPORT_ENABLE
 163-/* Locking resynchronize hack */
 164-#define LOCKING_RESYNC_ENABLE
 165-
 166-/*
 167- * Feature disable options
 168- *  These options are also useful to firmware size reduction.
 169- */
 170-
 171-/* disable debug print */
 172-//#define NO_DEBUG
 173-
 174-/* disable print */
 175-//#define NO_PRINT
 176-
 177-/* disable action features */
 178-//#define NO_ACTION_LAYER
 179-//#define NO_ACTION_TAPPING
 180-//#define NO_ACTION_ONESHOT
 181diff --git a/keyboards/1upkeyboards/1up60hse/keyboard.json b/keyboards/1upkeyboards/1up60hse/keyboard.json
 182index ac8d5247121535efb58ef3a68b4f4b662ad8df53..990b51c1f84d186b79408d6413572ac9758ed2c7 100644
 183--- a/keyboards/1upkeyboards/1up60hse/keyboard.json
 184+++ b/keyboards/1upkeyboards/1up60hse/keyboard.json
 185@@ -31,6 +31,12 @@
 186         "levels": 5,
 187         "breathing": true
 188     },
 189+    "qmk": {
 190+        "locking": {
 191+            "enabled": true,
 192+            "resync": true
 193+        }
 194+    },
 195     "rgblight": {
 196         "saturation_steps": 8,
 197         "brightness_steps": 8,
 198diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h
 199deleted file mode 100644
 200index eddf290b4c3fa1a7fa5bb104f02ad5e4e91fd12b..0000000000000000000000000000000000000000
 201--- a/keyboards/1upkeyboards/1up60hte/config.h
 202+++ /dev/null
 203@@ -1,25 +0,0 @@
 204-/*
 205-Copyright 2019 Bubnick
 206-
 207-This program is free software: you can redistribute it and/or modify
 208-it under the terms of the GNU General Public License as published by
 209-the Free Software Foundation, either version 2 of the License, or
 210-(at your option) any later version.
 211-
 212-This program is distributed in the hope that it will be useful,
 213-but WITHOUT ANY WARRANTY; without even the implied warranty of
 214-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 215-GNU General Public License for more details.
 216-
 217-You should have received a copy of the GNU General Public License
 218-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 219-*/
 220-
 221-
 222-#pragma once
 223-
 224-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 225-#define LOCKING_SUPPORT_ENABLE
 226-
 227-/* Locking resynchronize hack */
 228-#define LOCKING_RESYNC_ENABLE
 229diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json
 230index 25f519bea795695720c389193e1fcf4fcfc68883..53e91017ddc89b0a5c049bbba5b540dea68adb5c 100644
 231--- a/keyboards/1upkeyboards/1up60hte/keyboard.json
 232+++ b/keyboards/1upkeyboards/1up60hte/keyboard.json
 233@@ -26,6 +26,12 @@
 234         "rows": ["B3", "B2", "B1", "B0", "D4"]
 235     },
 236     "diode_direction": "COL2ROW",
 237+    "qmk": {
 238+        "locking": {
 239+            "enabled": true,
 240+            "resync": true
 241+        }
 242+    },
 243     "backlight": {
 244         "pin": "B7"
 245     },
 246diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
 247deleted file mode 100644
 248index 5f360813239bad2c21db930bcae016798f148177..0000000000000000000000000000000000000000
 249--- a/keyboards/1upkeyboards/1up60rgb/config.h
 250+++ /dev/null
 251@@ -1,7 +0,0 @@
 252-#pragma once
 253-
 254-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 255-#define LOCKING_SUPPORT_ENABLE
 256-
 257-/* Locking resynchronize hack */
 258-#define LOCKING_RESYNC_ENABLE
 259diff --git a/keyboards/1upkeyboards/1up60rgb/keyboard.json b/keyboards/1upkeyboards/1up60rgb/keyboard.json
 260index 2985b5ae4f7d76542fca87049c0ae29322425b7c..f4ba111251142d3140d528bfc38bba9e7e7e7985 100644
 261--- a/keyboards/1upkeyboards/1up60rgb/keyboard.json
 262+++ b/keyboards/1upkeyboards/1up60rgb/keyboard.json
 263@@ -18,6 +18,12 @@
 264     "nkro": true,
 265     "rgblight": true
 266   },
 267+  "qmk": {
 268+    "locking": {
 269+      "enabled": true,
 270+      "resync": true
 271+    }
 272+  },
 273   "matrix_pins": {
 274     "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"],
 275     "rows": ["D0", "D1", "D2", "D3", "D5"]
 276diff --git a/keyboards/1upkeyboards/pi60/config.h b/keyboards/1upkeyboards/pi60/config.h
 277deleted file mode 100644
 278index a697e565c9bd85489d58e52527359c4b95d72e43..0000000000000000000000000000000000000000
 279--- a/keyboards/1upkeyboards/pi60/config.h
 280+++ /dev/null
 281@@ -1,9 +0,0 @@
 282-// Copyright 2022 ziptyze (@ziptyze)
 283-// SPDX-License-Identifier: GPL-2.0-or-later
 284-
 285-#pragma once
 286-
 287-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 288-#define LOCKING_SUPPORT_ENABLE
 289-/* Locking resynchronize hack */
 290-#define LOCKING_RESYNC_ENABLE
 291diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json
 292index 71619db3605e150389ea455d444b3d0eb1c16fbb..45c3876a6b6c34efcd4df356c505348d83f96356 100644
 293--- a/keyboards/1upkeyboards/pi60/keyboard.json
 294+++ b/keyboards/1upkeyboards/pi60/keyboard.json
 295@@ -24,6 +24,12 @@
 296         "nkro": false,
 297         "rgb_matrix": true
 298     },
 299+    "qmk": {
 300+        "locking": {
 301+            "enabled": true,
 302+            "resync": true
 303+        }
 304+    },
 305     "ws2812": {
 306         "pin": "GP17",
 307         "driver": "vendor"
 308diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h
 309deleted file mode 100644
 310index 2c04274299f3dc31c25a8cf1bacb17f229d4fe6a..0000000000000000000000000000000000000000
 311--- a/keyboards/1upkeyboards/pi60_hse/config.h
 312+++ /dev/null
 313@@ -1,9 +0,0 @@
 314-// Copyright 2022 ziptyze (@ziptyze)
 315-// SPDX-License-Identifier: GPL-2.0-or-later
 316-
 317-#pragma once
 318-
 319-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 320-#define LOCKING_SUPPORT_ENABLE
 321-/* Locking resynchronize hack */
 322-#define LOCKING_RESYNC_ENABLE
 323diff --git a/keyboards/1upkeyboards/pi60_hse/keyboard.json b/keyboards/1upkeyboards/pi60_hse/keyboard.json
 324index 204e42f48c709770186882bea1b21d1be3e6c56b..d5a5f861873933364854b5905fe7df1f3a2e156b 100644
 325--- a/keyboards/1upkeyboards/pi60_hse/keyboard.json
 326+++ b/keyboards/1upkeyboards/pi60_hse/keyboard.json
 327@@ -23,6 +23,12 @@
 328         "nkro": false,
 329         "rgb_matrix": true
 330     },
 331+    "qmk": {
 332+        "locking": {
 333+            "enabled": true,
 334+            "resync": true
 335+        }
 336+    },
 337     "ws2812": {
 338         "pin": "GP15",
 339         "driver": "vendor"
 340diff --git a/keyboards/1upkeyboards/pi60_rgb/config.h b/keyboards/1upkeyboards/pi60_rgb/config.h
 341deleted file mode 100644
 342index 2c04274299f3dc31c25a8cf1bacb17f229d4fe6a..0000000000000000000000000000000000000000
 343--- a/keyboards/1upkeyboards/pi60_rgb/config.h
 344+++ /dev/null
 345@@ -1,9 +0,0 @@
 346-// Copyright 2022 ziptyze (@ziptyze)
 347-// SPDX-License-Identifier: GPL-2.0-or-later
 348-
 349-#pragma once
 350-
 351-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 352-#define LOCKING_SUPPORT_ENABLE
 353-/* Locking resynchronize hack */
 354-#define LOCKING_RESYNC_ENABLE
 355diff --git a/keyboards/1upkeyboards/pi60_rgb/keyboard.json b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
 356index b6580e616a4cd283f4312a358ba97699567ad3eb..21dab3f71ae1a970645bbd4b3964b6c073bdeaf0 100644
 357--- a/keyboards/1upkeyboards/pi60_rgb/keyboard.json
 358+++ b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
 359@@ -23,6 +23,12 @@
 360         "nkro": false,
 361         "rgb_matrix": true
 362     },
 363+    "qmk": {
 364+        "locking": {
 365+            "enabled": true,
 366+            "resync": true
 367+        }
 368+    },
 369     "ws2812": {
 370         "pin": "GP19",
 371         "driver": "vendor"
 372diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
 373deleted file mode 100644
 374index 043d8b154b1b1d9f829e6bdbaa3d37cb59dcc4c7..0000000000000000000000000000000000000000
 375--- a/keyboards/1upkeyboards/super16/config.h
 376+++ /dev/null
 377@@ -1,40 +0,0 @@
 378-/*
 379-Copyright 2019 MechMerlin
 380-
 381-This program is free software: you can redistribute it and/or modify
 382-it under the terms of the GNU General Public License as published by
 383-the Free Software Foundation, either version 2 of the License, or
 384-(at your option) any later version.
 385-
 386-This program is distributed in the hope that it will be useful,
 387-but WITHOUT ANY WARRANTY; without even the implied warranty of
 388-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 389-GNU General Public License for more details.
 390-
 391-You should have received a copy of the GNU General Public License
 392-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 393-*/
 394-
 395-#pragma once
 396-
 397-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 398-#define LOCKING_SUPPORT_ENABLE
 399-
 400-/* Locking resynchronize hack */
 401-#define LOCKING_RESYNC_ENABLE
 402-
 403-/*
 404- * Feature disable options
 405- *  These options are also useful to firmware size reduction.
 406- */
 407-
 408-/* disable debug print */
 409-//#define NO_DEBUG
 410-
 411-/* disable print */
 412-//#define NO_PRINT
 413-
 414-/* disable action features */
 415-//#define NO_ACTION_LAYER
 416-//#define NO_ACTION_TAPPING
 417-//#define NO_ACTION_ONESHOT
 418diff --git a/keyboards/1upkeyboards/super16/keyboard.json b/keyboards/1upkeyboards/super16/keyboard.json
 419index 4bc18e98f73d2ef3e3fa38ed8a7059707415ccdf..9da4168d4716c2581dd083870da007b326dc04c9 100644
 420--- a/keyboards/1upkeyboards/super16/keyboard.json
 421+++ b/keyboards/1upkeyboards/super16/keyboard.json
 422@@ -86,6 +86,12 @@
 423     "nkro": false,
 424     "rgb_matrix": true
 425   },
 426+  "qmk": {
 427+    "locking": {
 428+      "enabled": true,
 429+      "resync": true
 430+    }
 431+  },
 432   "matrix_pins": {
 433     "cols": ["D4", "C6", "F6", "F7"],
 434     "rows": ["D1", "D0", "F4", "F5"]
 435diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h
 436index 67af6d7cab82fdb9b9a86d85918380d30f1c2603..6abfa8f431a1f08dee442ae3db4f70576679da48 100644
 437--- a/keyboards/1upkeyboards/super16v2/config.h
 438+++ b/keyboards/1upkeyboards/super16v2/config.h
 439@@ -18,11 +18,6 @@
 440 
 441 #define MOUSEKEY_MOVE_DELTA 25
 442 
 443-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 444-#define LOCKING_SUPPORT_ENABLE
 445-/* Locking resynchronize hack */
 446-#define LOCKING_RESYNC_ENABLE
 447-
 448 /*
 449  * Feature disable options
 450  *  These options are also useful to firmware size reduction.
 451diff --git a/keyboards/1upkeyboards/super16v2/keyboard.json b/keyboards/1upkeyboards/super16v2/keyboard.json
 452index 3bc7bf0e07f956ac224c2a78f8db665d98bca48e..652b03006e1ca95e71b5e9958e2750c875e2cb80 100644
 453--- a/keyboards/1upkeyboards/super16v2/keyboard.json
 454+++ b/keyboards/1upkeyboards/super16v2/keyboard.json
 455@@ -59,6 +59,12 @@
 456         "nkro": false,
 457         "rgb_matrix": true
 458     },
 459+    "qmk": {
 460+      "locking": {
 461+        "enabled": true,
 462+        "resync": true
 463+      }
 464+    },
 465     "matrix_pins": {
 466       "cols": ["D5", "D6", "C2", "D0"],
 467       "rows": ["D1", "D2", "D3", "D4"]
 468diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h
 469deleted file mode 100644
 470index 5f360813239bad2c21db930bcae016798f148177..0000000000000000000000000000000000000000
 471--- a/keyboards/1upkeyboards/sweet16/config.h
 472+++ /dev/null
 473@@ -1,7 +0,0 @@
 474-#pragma once
 475-
 476-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 477-#define LOCKING_SUPPORT_ENABLE
 478-
 479-/* Locking resynchronize hack */
 480-#define LOCKING_RESYNC_ENABLE
 481diff --git a/keyboards/1upkeyboards/sweet16/v1/info.json b/keyboards/1upkeyboards/sweet16/v1/info.json
 482deleted file mode 100644
 483index bbecccae0206b1ce11a2afe520d7e8981c54c4cd..0000000000000000000000000000000000000000
 484--- a/keyboards/1upkeyboards/sweet16/v1/info.json
 485+++ /dev/null
 486@@ -1,33 +0,0 @@
 487-{
 488-    "usb": {
 489-        "pid": "0x0161",
 490-        "device_version": "0.0.1"
 491-    },
 492-    "rgblight": {
 493-        "saturation_steps": 8,
 494-        "brightness_steps": 8,
 495-        "led_count": 1,
 496-        "animations": {
 497-            "breathing": true,
 498-            "rainbow_mood": true,
 499-            "rainbow_swirl": true,
 500-            "snake": true,
 501-            "knight": true,
 502-            "christmas": true,
 503-            "static_gradient": true,
 504-            "rgb_test": true,
 505-            "alternating": true,
 506-            "twinkle": true
 507-        }
 508-    },
 509-    "ws2812": {
 510-        "pin": "B1"
 511-    },
 512-    "matrix_pins": {
 513-        "cols": ["D1", "D0", "D4", "C6"],
 514-        "rows": ["F4", "F5", "F6", "F7"]
 515-    },
 516-    "diode_direction": "COL2ROW",
 517-    "processor": "atmega32u4",
 518-    "bootloader": "caterina"
 519-}
 520diff --git a/keyboards/1upkeyboards/sweet16/v1/keyboard.json b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
 521new file mode 100644
 522index 0000000000000000000000000000000000000000..3ac73ce8eb0bef1d60a6ff09218337aaf12321df
 523--- /dev/null
 524+++ b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
 525@@ -0,0 +1,99 @@
 526+{
 527+    "keyboard_name": "Sweet16",
 528+    "manufacturer": "1up Keyboards",
 529+    "url": "",
 530+    "maintainer": "skullydazed",
 531+    "usb": {
 532+        "vid": "0x6F75",
 533+        "pid": "0x0161",
 534+        "device_version": "0.0.1"
 535+    },
 536+    "features": {
 537+        "bootmagic": false,
 538+        "mousekey": true,
 539+        "extrakey": true,
 540+        "nkro": true,
 541+        "rgblight": true
 542+    },
 543+    "build": {
 544+        "lto": true
 545+    },
 546+    "qmk": {
 547+        "locking": {
 548+            "enabled": true,
 549+            "resync": true
 550+        }
 551+    },
 552+    "rgblight": {
 553+        "saturation_steps": 8,
 554+        "brightness_steps": 8,
 555+        "led_count": 1,
 556+        "animations": {
 557+            "breathing": true,
 558+            "rainbow_mood": true,
 559+            "rainbow_swirl": true,
 560+            "snake": true,
 561+            "knight": true,
 562+            "christmas": true,
 563+            "static_gradient": true,
 564+            "rgb_test": true,
 565+            "alternating": true,
 566+            "twinkle": true
 567+        }
 568+    },
 569+    "ws2812": {
 570+        "pin": "B1"
 571+    },
 572+    "matrix_pins": {
 573+        "cols": ["D1", "D0", "D4", "C6"],
 574+        "rows": ["F4", "F5", "F6", "F7"]
 575+    },
 576+    "diode_direction": "COL2ROW",
 577+    "processor": "atmega32u4",
 578+    "bootloader": "caterina",
 579+    "layouts": {
 580+        "LAYOUT_ortho_4x4": {
 581+            "layout": [
 582+                {"matrix": [0, 0], "x": 0, "y": 0},
 583+                {"matrix": [0, 1], "x": 1, "y": 0},
 584+                {"matrix": [0, 2], "x": 2, "y": 0},
 585+                {"matrix": [0, 3], "x": 3, "y": 0},
 586+
 587+                {"matrix": [1, 0], "x": 0, "y": 1},
 588+                {"matrix": [1, 1], "x": 1, "y": 1},
 589+                {"matrix": [1, 2], "x": 2, "y": 1},
 590+                {"matrix": [1, 3], "x": 3, "y": 1},
 591+
 592+                {"matrix": [2, 0], "x": 0, "y": 2},
 593+                {"matrix": [2, 1], "x": 1, "y": 2},
 594+                {"matrix": [2, 2], "x": 2, "y": 2},
 595+                {"matrix": [2, 3], "x": 3, "y": 2},
 596+
 597+                {"matrix": [3, 0], "x": 0, "y": 3},
 598+                {"matrix": [3, 1], "x": 1, "y": 3},
 599+                {"matrix": [3, 2], "x": 2, "y": 3},
 600+                {"matrix": [3, 3], "x": 3, "y": 3}
 601+           ]
 602+       },
 603+        "LAYOUT_numpad_4x4": {
 604+            "layout": [
 605+                {"matrix": [0, 0], "x": 0, "y": 0},
 606+                {"matrix": [0, 1], "x": 1, "y": 0},
 607+                {"matrix": [0, 2], "x": 2, "y": 0},
 608+                {"matrix": [0, 3], "x": 3, "y": 0, "h": 2},
 609+
 610+                {"matrix": [1, 0], "x": 0, "y": 1},
 611+                {"matrix": [1, 1], "x": 1, "y": 1},
 612+                {"matrix": [1, 2], "x": 2, "y": 1},
 613+
 614+                {"matrix": [2, 0], "x": 0, "y": 2},
 615+                {"matrix": [2, 1], "x": 1, "y": 2},
 616+                {"matrix": [2, 2], "x": 2, "y": 2},
 617+                {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
 618+
 619+                {"matrix": [3, 1], "x": 0, "y": 3, "w": 2},
 620+                {"matrix": [3, 2], "x": 2, "y": 3}
 621+           ]
 622+       }
 623+    }
 624+}
 625diff --git a/keyboards/1upkeyboards/sweet16/v1/rules.mk b/keyboards/1upkeyboards/sweet16/v1/rules.mk
 626deleted file mode 100644
 627index 0912a1b4a60c214486726a69f6a5f9c42db66cfe..0000000000000000000000000000000000000000
 628--- a/keyboards/1upkeyboards/sweet16/v1/rules.mk
 629+++ /dev/null
 630@@ -1,4 +0,0 @@
 631-RGBLIGHT_ENABLE = yes
 632-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
 633-
 634-LTO_ENABLE = yes
 635diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
 636deleted file mode 100644
 637index 39e43b90cd35eb1e27dd1faa5002238406363506..0000000000000000000000000000000000000000
 638--- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
 639+++ /dev/null
 640@@ -1,22 +0,0 @@
 641-/* Copyright 2022 ziptyze
 642- *
 643- * This program is free software: you can redistribute it and/or modify
 644- * it under the terms of the GNU General Public License as published by
 645- * the Free Software Foundation, either version 2 of the License, or
 646- * (at your option) any later version.
 647- *
 648- * This program is distributed in the hope that it will be useful,
 649- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 650- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 651- * GNU General Public License for more details.
 652- *
 653- * You should have received a copy of the GNU General Public License
 654- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 655- */
 656-
 657-#pragma once
 658-
 659-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 660-#define LOCKING_SUPPORT_ENABLE
 661-/* Locking resynchronize hack */
 662-#define LOCKING_RESYNC_ENABLE
 663diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
 664index 0d09632a995a7beeceb26bfc4eab27fa0c4dd284..d8d6c5e3eae57e88168cf96fb9855f1287250670 100644
 665--- a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
 666+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
 667@@ -21,6 +21,12 @@
 668         "nkro": false,
 669         "rgb_matrix": true
 670     },
 671+    "qmk": {
 672+        "locking": {
 673+            "enabled": true,
 674+            "resync": true
 675+        }
 676+    },
 677     "ws2812": {
 678         "pin": "GP6",
 679         "driver": "vendor"
 680diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
 681deleted file mode 100644
 682index 39e43b90cd35eb1e27dd1faa5002238406363506..0000000000000000000000000000000000000000
 683--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
 684+++ /dev/null
 685@@ -1,22 +0,0 @@
 686-/* Copyright 2022 ziptyze
 687- *
 688- * This program is free software: you can redistribute it and/or modify
 689- * it under the terms of the GNU General Public License as published by
 690- * the Free Software Foundation, either version 2 of the License, or
 691- * (at your option) any later version.
 692- *
 693- * This program is distributed in the hope that it will be useful,
 694- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 695- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 696- * GNU General Public License for more details.
 697- *
 698- * You should have received a copy of the GNU General Public License
 699- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 700- */
 701-
 702-#pragma once
 703-
 704-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 705-#define LOCKING_SUPPORT_ENABLE
 706-/* Locking resynchronize hack */
 707-#define LOCKING_RESYNC_ENABLE
 708diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
 709index d23bc6633d248d33bf08f9e2b17788d2b4562f50..d46f723a17ed9a0cbb2c742cc9ea0e52d197b414 100644
 710--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
 711+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
 712@@ -20,6 +20,12 @@
 713         "nkro": false,
 714         "rgb_matrix": true
 715     },
 716+    "qmk": {
 717+        "locking": {
 718+            "enabled": true,
 719+            "resync": true
 720+        }
 721+    },
 722     "ws2812": {
 723         "pin": "D7"
 724     },
 725diff --git a/keyboards/25keys/aleth42/info.json b/keyboards/25keys/aleth42/info.json
 726deleted file mode 100644
 727index 2000c037f58d2de97781820ed12c9e1708f7b4d3..0000000000000000000000000000000000000000
 728--- a/keyboards/25keys/aleth42/info.json
 729+++ /dev/null
 730@@ -1,10 +0,0 @@
 731-{
 732-    "keyboard_name": "ALETH42",
 733-    "manufacturer": "25KEYS",
 734-    "url": "http://www.sho-k.co.uk/tech/aleth42",
 735-    "maintainer": "monksoffunk",
 736-    "usb": {
 737-        "vid": "0x04D8",
 738-        "pid": "0xEAC8"
 739-    }
 740-}
 741diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h
 742deleted file mode 100644
 743index 0d7a5de56056a882f6f0ee24438b929a302425f7..0000000000000000000000000000000000000000
 744--- a/keyboards/25keys/aleth42/rev0/config.h
 745+++ /dev/null
 746@@ -1,23 +0,0 @@
 747-/*
 748-Copyright 2020 monksoffunk
 749-
 750-This program is free software: you can redistribute it and/or modify
 751-it under the terms of the GNU General Public License as published by
 752-the Free Software Foundation, either version 2 of the License, or
 753-(at your option) any later version.
 754-
 755-This program is distributed in the hope that it will be useful,
 756-but WITHOUT ANY WARRANTY; without even the implied warranty of
 757-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 758-GNU General Public License for more details.
 759-
 760-You should have received a copy of the GNU General Public License
 761-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 762-*/
 763-
 764-#pragma once
 765-
 766-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 767-#define LOCKING_SUPPORT_ENABLE
 768-/* Locking resynchronize hack */
 769-#define LOCKING_RESYNC_ENABLE
 770diff --git a/keyboards/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/keyboard.json
 771rename from keyboards/25keys/aleth42/rev0/info.json
 772rename to keyboards/25keys/aleth42/rev0/keyboard.json
 773index 675c741bf52ae7d7514b1237af8f139fdde894e9..bbb566d909620fe29da283bc760c3e348b699241 100644
 774--- a/keyboards/25keys/aleth42/rev0/info.json
 775+++ b/keyboards/25keys/aleth42/rev0/keyboard.json
 776@@ -1,7 +1,27 @@
 777 {
 778+    "keyboard_name": "ALETH42",
 779+    "manufacturer": "25KEYS",
 780+    "url": "http://www.sho-k.co.uk/tech/aleth42",
 781+    "maintainer": "monksoffunk",
 782     "usb": {
 783+        "vid": "0x04D8",
 784+        "pid": "0xEAC8",
 785         "device_version": "0.0.0"
 786     },
 787+    "features": {
 788+        "bootmagic": false,
 789+        "mousekey": false,
 790+        "extrakey": true,
 791+        "console": true,
 792+        "rgblight": true,
 793+        "encoder": true
 794+    },
 795+    "qmk": {
 796+        "locking": {
 797+            "enabled": true,
 798+            "resync": true
 799+        }
 800+    },
 801     "matrix_pins": {
 802         "cols": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "C2", "C4", "C5", "C6"],
 803         "rows": ["B0", "B1", "B2", "B3"]
 804diff --git a/keyboards/25keys/aleth42/rev0/rules.mk b/keyboards/25keys/aleth42/rev0/rules.mk
 805deleted file mode 100644
 806index e0954e7355bd5df94df17f4e662f7445383d338e..0000000000000000000000000000000000000000
 807--- a/keyboards/25keys/aleth42/rev0/rules.mk
 808+++ /dev/null
 809@@ -1,12 +0,0 @@
 810-# Build Options
 811-#   change yes to no to disable
 812-#
 813-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 814-MOUSEKEY_ENABLE = no       # Mouse keys
 815-EXTRAKEY_ENABLE = yes       # Audio control and System control
 816-CONSOLE_ENABLE = yes        # Console for debug
 817-COMMAND_ENABLE = no        # Commands for debug and configuration
 818-NKRO_ENABLE = no            # Enable N-Key Rollover
 819-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 820-RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow
 821-ENCODER_ENABLE = yes
 822diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h
 823deleted file mode 100644
 824index 0d7a5de56056a882f6f0ee24438b929a302425f7..0000000000000000000000000000000000000000
 825--- a/keyboards/25keys/aleth42/rev1/config.h
 826+++ /dev/null
 827@@ -1,23 +0,0 @@
 828-/*
 829-Copyright 2020 monksoffunk
 830-
 831-This program is free software: you can redistribute it and/or modify
 832-it under the terms of the GNU General Public License as published by
 833-the Free Software Foundation, either version 2 of the License, or
 834-(at your option) any later version.
 835-
 836-This program is distributed in the hope that it will be useful,
 837-but WITHOUT ANY WARRANTY; without even the implied warranty of
 838-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 839-GNU General Public License for more details.
 840-
 841-You should have received a copy of the GNU General Public License
 842-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 843-*/
 844-
 845-#pragma once
 846-
 847-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 848-#define LOCKING_SUPPORT_ENABLE
 849-/* Locking resynchronize hack */
 850-#define LOCKING_RESYNC_ENABLE
 851diff --git a/keyboards/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/keyboard.json
 852rename from keyboards/25keys/aleth42/rev1/info.json
 853rename to keyboards/25keys/aleth42/rev1/keyboard.json
 854index fd4b07fe3ee23127529d74ff49dabfeb17884dfe..0feab708a01a93d0a5052087d985f9d570c290af 100644
 855--- a/keyboards/25keys/aleth42/rev1/info.json
 856+++ b/keyboards/25keys/aleth42/rev1/keyboard.json
 857@@ -1,7 +1,28 @@
 858 {
 859+    "keyboard_name": "ALETH42",
 860+    "manufacturer": "25KEYS",
 861+    "url": "http://www.sho-k.co.uk/tech/aleth42",
 862+    "maintainer": "monksoffunk",
 863     "usb": {
 864+        "vid": "0x04D8",
 865+        "pid": "0xEAC8",
 866         "device_version": "0.0.1"
 867     },
 868+    "features": {
 869+        "bootmagic": true,
 870+        "mousekey": false,
 871+        "extrakey": true,
 872+        "console": true,
 873+        "backlight": true,
 874+        "rgblight": true,
 875+        "encoder": true
 876+    },
 877+    "qmk": {
 878+        "locking": {
 879+            "enabled": true,
 880+            "resync": true
 881+        }
 882+    },
 883     "matrix_pins": {
 884         "cols": ["D5", "D3", "D2", "D1", "D0", "D6", "D4", "F7", "F0", "F1", "F4"],
 885         "rows": ["B4", "B0", "B2", "B1"]
 886diff --git a/keyboards/25keys/aleth42/rev1/rules.mk b/keyboards/25keys/aleth42/rev1/rules.mk
 887deleted file mode 100644
 888index 683b2498022264dd53c7f17b0e35e73470349bb2..0000000000000000000000000000000000000000
 889--- a/keyboards/25keys/aleth42/rev1/rules.mk
 890+++ /dev/null
 891@@ -1,12 +0,0 @@
 892-# Build Options
 893-#   change yes to no to disable
 894-#
 895-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 896-MOUSEKEY_ENABLE = no        # Mouse keys
 897-EXTRAKEY_ENABLE = yes       # Audio control and System control
 898-CONSOLE_ENABLE = yes        # Console for debug
 899-COMMAND_ENABLE = no         # Commands for debug and configuration
 900-NKRO_ENABLE = no            # Enable N-Key Rollover
 901-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 902-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 903-ENCODER_ENABLE = yes
 904diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/keyboard.json
 905rename from keyboards/25keys/cassette42/info.json
 906rename to keyboards/25keys/cassette42/keyboard.json
 907index 38a73368f635f84eff46faf053287c70e30cfe8a..cba2e61272156fd432034bdf763a53ef34c9c923 100644
 908--- a/keyboards/25keys/cassette42/info.json
 909+++ b/keyboards/25keys/cassette42/keyboard.json
 910@@ -8,6 +8,14 @@
 911         "pid": "0xCA42",
 912         "device_version": "0.0.1"
 913     },
 914+    "features": {
 915+        "bootmagic": false,
 916+        "mousekey": false,
 917+        "extrakey": true,
 918+        "rgblight": true,
 919+        "encoder": true,
 920+        "oled": true
 921+    },
 922     "encoder": {
 923         "rotary": [
 924             {"pin_a": "B6", "pin_b": "B2"},
 925diff --git a/keyboards/25keys/cassette42/rules.mk b/keyboards/25keys/cassette42/rules.mk
 926index f8febbdec8d11c519e05fc6f0b22af1336b101cb..788ba43e591c01ec981d8d793590da4e86dd2178 100644
 927--- a/keyboards/25keys/cassette42/rules.mk
 928+++ b/keyboards/25keys/cassette42/rules.mk
 929@@ -1,16 +1 @@
 930-# Build Options
 931-#   change yes to no to disable
 932-#
 933-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 934-MOUSEKEY_ENABLE = no        # Mouse keys
 935-EXTRAKEY_ENABLE = yes       # Audio control and System control
 936-CONSOLE_ENABLE = no         # Console for debug
 937-COMMAND_ENABLE = no         # Commands for debug and configuration
 938-NKRO_ENABLE = no            # Enable N-Key Rollover
 939-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 940-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 941-AUDIO_ENABLE = no           # Audio output
 942-ENCODER_ENABLE = yes
 943-OLED_ENABLE = yes
 944-
 945 SRC += ./common/oled_helper.c
 946diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json
 947deleted file mode 100644
 948index 2350242316801407d9480a500e4976fac9897ab3..0000000000000000000000000000000000000000
 949--- a/keyboards/25keys/zinc/info.json
 950+++ /dev/null
 951@@ -1,15 +0,0 @@
 952-{
 953-  "manufacturer": "25KEYS",
 954-  "url": "https://github.com/monksoffunk/zinc",
 955-  "maintainer": "monksoffunk",
 956-   "usb": {
 957-    "vid": "0x04D8",
 958-    "pid": "0xEA3B",
 959-    "device_version": "0.0.1"
 960-   },
 961-   "rgb_matrix": {
 962-     "driver": "ws2812"
 963-   },
 964-  "processor": "atmega32u4",
 965-  "bootloader": "caterina"
 966-}
 967diff --git a/keyboards/25keys/zinc/rev1/info.json b/keyboards/25keys/zinc/rev1/keyboard.json
 968rename from keyboards/25keys/zinc/rev1/info.json
 969rename to keyboards/25keys/zinc/rev1/keyboard.json
 970index 47fb1f2e98e2ed697fa92a074e694d097e058e9c..c1bead2d8ab5c195633319ceb2597f1b4bf91dce 100644
 971--- a/keyboards/25keys/zinc/rev1/info.json
 972+++ b/keyboards/25keys/zinc/rev1/keyboard.json
 973@@ -1,16 +1,35 @@
 974 {
 975   "keyboard_name": "Zinc rev.1",
 976+  "manufacturer": "25KEYS",
 977+  "url": "https://github.com/monksoffunk/zinc",
 978+  "maintainer": "monksoffunk",
 979+  "usb": {
 980+    "vid": "0x04D8",
 981+    "pid": "0xEA3B",
 982+    "device_version": "0.0.1"
 983+  },
 984+  "processor": "atmega32u4",
 985+  "bootloader": "caterina",
 986   "matrix_pins": {
 987     "cols": ["F4", "D4", "C6", "D7", "E6", "B4"],
 988     "rows": ["F6", "F7", "B1", "B3"]
 989   },
 990   "diode_direction": "COL2ROW",
 991+  "features": {
 992+    "bootmagic": false,
 993+    "mousekey": false,
 994+    "extrakey": false
 995+  },
 996   "split": {
 997+    "enabled": true,
 998     "soft_serial_pin": "D2"
 999   },
1000   "tapping": {
1001     "term": 100
1002   },
1003+  "rgb_matrix": {
1004+    "driver": "ws2812"
1005+  },
1006   "rgblight": {
1007     "hue_steps": 10
1008   },
1009diff --git a/keyboards/25keys/zinc/rev1/rules.mk b/keyboards/25keys/zinc/rev1/rules.mk
1010deleted file mode 100644
1011index d38a618090753dc0573e7d755b16231883e6b314..0000000000000000000000000000000000000000
1012--- a/keyboards/25keys/zinc/rev1/rules.mk
1013+++ /dev/null
1014@@ -1 +0,0 @@
1015-SPLIT_KEYBOARD = yes
1016diff --git a/keyboards/25keys/zinc/reva/info.json b/keyboards/25keys/zinc/reva/keyboard.json
1017rename from keyboards/25keys/zinc/reva/info.json
1018rename to keyboards/25keys/zinc/reva/keyboard.json
1019index 1ab2fb7e38f3dd80c29a982cb1ee2e988da296d2..01d2291c4915bc5a3f717db49d2386f70433f13d 100644
1020--- a/keyboards/25keys/zinc/reva/info.json
1021+++ b/keyboards/25keys/zinc/reva/keyboard.json
1022@@ -1,16 +1,35 @@
1023 {
1024   "keyboard_name": "Zinc rev.A",
1025+  "manufacturer": "25KEYS",
1026+  "url": "https://github.com/monksoffunk/zinc",
1027+  "maintainer": "monksoffunk",
1028+  "usb": {
1029+    "vid": "0x04D8",
1030+    "pid": "0xEA3B",
1031+    "device_version": "0.0.1"
1032+  },
1033+  "processor": "atmega32u4",
1034+  "bootloader": "caterina",
1035   "matrix_pins": {
1036     "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
1037     "rows": ["D4", "C6", "D7", "E6"]
1038   },
1039   "diode_direction": "COL2ROW",
1040+  "features": {
1041+    "bootmagic": false,
1042+    "mousekey": false,
1043+    "extrakey": false
1044+  },
1045   "split": {
1046+    "enabled": true,
1047     "soft_serial_pin": "D2"
1048   },
1049   "tapping": {
1050     "term": 100
1051   },
1052+  "rgb_matrix": {
1053+    "driver": "ws2812"
1054+  },
1055   "rgblight": {
1056     "hue_steps": 10
1057   },
1058diff --git a/keyboards/25keys/zinc/reva/rules.mk b/keyboards/25keys/zinc/reva/rules.mk
1059deleted file mode 100644
1060index 83895bdcb878e1c04bedde601630bef79f89068e..0000000000000000000000000000000000000000
1061--- a/keyboards/25keys/zinc/reva/rules.mk
1062+++ /dev/null
1063@@ -1 +0,0 @@
1064-SPLIT_KEYBOARD = yes
1065diff --git a/keyboards/25keys/zinc/rules.mk b/keyboards/25keys/zinc/rules.mk
1066index 1e1d687ebbe72162958c9ce2418276cbc44e2807..a8c773a3054ee94511dc91fe8a1c4491d37bae39 100644
1067--- a/keyboards/25keys/zinc/rules.mk
1068+++ b/keyboards/25keys/zinc/rules.mk
1069@@ -1,17 +1,3 @@
1070-# Build Options
1071-#   change yes to no to disable
1072-#
1073-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
1074-MOUSEKEY_ENABLE = no       # Mouse keys
1075-EXTRAKEY_ENABLE = no       # Audio control and System control
1076-CONSOLE_ENABLE = no         # Console for debug
1077-COMMAND_ENABLE = no        # Commands for debug and configuration
1078-NKRO_ENABLE = no            # Enable N-Key Rollover
1079-BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
1080-AUDIO_ENABLE = no           # Audio output
1081-RGBLIGHT_ENABLE = no       # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
1082-RGB_MATRIX_ENABLE = no
1083-
1084 DEFAULT_FOLDER = 25keys/zinc/rev1
1085 
1086 #SRC += i2c.c
1087diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h
1088deleted file mode 100644
1089index 5f360813239bad2c21db930bcae016798f148177..0000000000000000000000000000000000000000
1090--- a/keyboards/2key2crawl/config.h
1091+++ /dev/null
1092@@ -1,7 +0,0 @@
1093-#pragma once
1094-
1095-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
1096-#define LOCKING_SUPPORT_ENABLE
1097-
1098-/* Locking resynchronize hack */
1099-#define LOCKING_RESYNC_ENABLE
1100diff --git a/keyboards/2key2crawl/keyboard.json b/keyboards/2key2crawl/keyboard.json
1101index 4dfecbd696fa097e4ae75431e1ed4f487e8145ba..fec55c811a68a2b51f0ee858aa1a1e94c17c85c7 100644
1102--- a/keyboards/2key2crawl/keyboard.json
1103+++ b/keyboards/2key2crawl/keyboard.json
1104@@ -17,6 +17,12 @@
1105         "mousekey": false,
1106         "nkro": false
1107     },
1108+    "qmk": {
1109+        "locking": {
1110+            "enabled": true,
1111+            "resync": true
1112+        }
1113+    },
1114     "matrix_pins": {
1115         "cols": ["B3", "B4", "B5", "B6", "B7", "C7", "B2"],
1116         "rows": ["C4", "C5"]
1117diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
1118index 20ecf9470808bba813190ea7bce1a056764a6c0f..1710ba42ee9b99ca86d714b24e877c41c36bf758 100644
1119--- a/keyboards/40percentclub/25/config.h
1120+++ b/keyboards/40percentclub/25/config.h
1121@@ -21,11 +21,6 @@
1122 //#define MASTER_RIGHT
1123 //#define EE_HANDS
1124 
1125-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
1126-#define LOCKING_SUPPORT_ENABLE
1127-/* Locking resynchronize hack */
1128-#define LOCKING_RESYNC_ENABLE
1129-
1130 /*
1131  * Feature disable options
1132  *  These options are also useful to firmware size reduction.
1133diff --git a/keyboards/40percentclub/25/info.json b/keyboards/40percentclub/25/keyboard.json
1134rename from keyboards/40percentclub/25/info.json
1135rename to keyboards/40percentclub/25/keyboard.json
1136index b5ab2c0cbdb90aee0997f9dd319a2484c2e8b094..aede80ef1727da23b9b84de32e196a0f19ba8715 100644
1137--- a/keyboards/40percentclub/25/info.json
1138+++ b/keyboards/40percentclub/25/keyboard.json
1139@@ -13,7 +13,21 @@
1140         "rows": ["D4", "C6", "D7", "E6", "B4"]
1141     },
1142     "diode_direction": "COL2ROW",
1143+    "features": {
1144+        "bootmagic": true,
1145+        "mousekey": true,
1146+        "extrakey": true,
1147+        "command": true,
1148+        "nkro": true
1149+    },
1150+    "qmk": {
1151+        "locking": {
1152+            "enabled": true,
1153+            "resync": true
1154+        }
1155+    },
1156     "split": {
1157+        "enabled": true,
1158         "soft_serial_pin": "D0"
1159     },
1160     "processor": "atmega32u4",
1161diff --git a/keyboards/40percentclub/25/rules.mk b/keyboards/40percentclub/25/rules.mk
1162deleted file mode 100644
1163index 25d4c400516cc04a15254f0d1a5141d3e229aae4..0000000000000000000000000000000000000000
1164--- a/keyboards/40percentclub/25/rules.mk
1165+++ /dev/null
1166@@ -1,15 +0,0 @@
1167-# Build Options
1168-#   change yes to no to disable
1169-#
1170-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
1171-MOUSEKEY_ENABLE = yes       # Mouse keys
1172-EXTRAKEY_ENABLE = yes       # Audio control and System control
1173-CONSOLE_ENABLE = no         # Console for debug
1174-COMMAND_ENABLE = yes        # Commands for debug and configuration
1175-NKRO_ENABLE = yes           # Enable N-Key Rollover
1176-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
1177-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
1178-AUDIO_ENABLE = no           # Audio output
1179-
1180-# Enable generic behavior for split boards
1181-SPLIT_KEYBOARD = yes