From 16d2db5048acedfc9dd5f8e85ca19e50f139ba13 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Wed, 22 May 2024 11:06:09 -0700
Subject: [PATCH] Migrate `LOCKING_*_ENABLE` to Data-Driven: I-J (#23767)

Affects:

  - `ianklug/grooveboard`
  - `ibm/model_m/modelh`
  - `ibm/model_m_122/ibm122m`
  - `ibnuda/gurindam`
  - `idb/idb_60`
  - `idobao/id75/v1`
  - `idobao/id75/v2`
  - `idobao/id96`
  - `idobao/montex/v1`
  - `illuminati/is0`
  - `illusion/rosa`
  - `ilumkb/primus75`
  - `ilumkb/volcano660`
  - `inland/kb83`
  - `input_club/ergodox_infinity`
  - `irene`
  - `iriskeyboards`
  - `iron180`
  - `jacky_studio/bear_65/rev1`
  - `jacky_studio/bear_65/rev2`
  - `jacky_studio/s7_elephant/rev1`
  - `jacky_studio/s7_elephant/rev2`
  - `jadookb/jkb65`
  - `jae/j01`
  - `jagdpietr/drakon`
  - `jd40`
  - `jd45`
  - `jels/boaty`
  - `jels/jels60/v1`
  - `jels/jels60/v2`
  - `jels/jels88`
  - `jolofsor/denial75`
  - `jorne/rev1`
  - `joshajohnson/hub16`
  - `joshajohnson/hub20`
  - `jukaie/jk01`
---
 keyboards/ianklug/grooveboard/config.h        | 39 -------------------
 keyboards/ianklug/grooveboard/keyboard.json   |  6 +++
 keyboards/ibm/model_m/modelh/config.h         |  6 ---
 keyboards/ibm/model_m/modelh/keyboard.json    |  6 +++
 keyboards/ibm/model_m_122/ibm122m/config.h    |  5 ---
 .../ibm/model_m_122/ibm122m/keyboard.json     |  6 +++
 keyboards/ibnuda/gurindam/config.h            | 39 -------------------
 keyboards/ibnuda/gurindam/keyboard.json       |  6 +++
 keyboards/idb/idb_60/config.h                 | 39 -------------------
 keyboards/idb/idb_60/keyboard.json            |  6 +++
 keyboards/idobao/id75/v1/config.h             | 39 -------------------
 keyboards/idobao/id75/v1/keyboard.json        |  6 +++
 keyboards/idobao/id75/v2/config.h             | 38 ------------------
 keyboards/idobao/id75/v2/keyboard.json        |  6 +++
 keyboards/idobao/id96/config.h                | 25 ------------
 keyboards/idobao/id96/keyboard.json           |  6 +++
 keyboards/idobao/montex/v1/config.h           | 23 -----------
 keyboards/idobao/montex/v1/keyboard.json      |  6 +++
 keyboards/illuminati/is0/config.h             | 39 -------------------
 keyboards/illuminati/is0/keyboard.json        |  6 +++
 keyboards/illusion/rosa/config.h              | 23 -----------
 keyboards/illusion/rosa/keyboard.json         |  6 +++
 keyboards/ilumkb/primus75/config.h            | 22 -----------
 keyboards/ilumkb/primus75/keyboard.json       |  6 +++
 keyboards/ilumkb/volcano660/config.h          | 21 ----------
 keyboards/ilumkb/volcano660/keyboard.json     |  6 +++
 keyboards/inland/kb83/config.h                |  5 ---
 keyboards/inland/kb83/keyboard.json           |  6 ++-
 .../input_club/ergodox_infinity/config.h      |  5 ---
 .../input_club/ergodox_infinity/keyboard.json |  6 +++
 keyboards/irene/config.h                      | 39 -------------------
 keyboards/irene/keyboard.json                 |  6 +++
 keyboards/iriskeyboards/config.h              | 39 -------------------
 keyboards/iriskeyboards/keyboard.json         |  6 +++
 keyboards/iron180/config.h                    |  5 ---
 keyboards/iron180/keyboard.json               |  6 +++
 keyboards/jacky_studio/bear_65/config.h       | 10 -----
 .../jacky_studio/bear_65/rev1/keyboard.json   |  6 +++
 .../jacky_studio/bear_65/rev2/keyboard.json   |  6 +++
 .../jacky_studio/s7_elephant/rev1/config.h    | 23 -----------
 .../s7_elephant/rev1/keyboard.json            |  6 +++
 .../jacky_studio/s7_elephant/rev2/config.h    | 23 -----------
 .../s7_elephant/rev2/keyboard.json            |  6 +++
 keyboards/jadookb/jkb65/config.h              |  3 --
 keyboards/jadookb/jkb65/info.json             |  6 +++
 keyboards/jae/j01/config.h                    | 39 -------------------
 keyboards/jae/j01/keyboard.json               |  6 +++
 keyboards/jagdpietr/drakon/config.h           | 39 -------------------
 keyboards/jagdpietr/drakon/keyboard.json      |  6 +++
 keyboards/jd40/config.h                       | 23 -----------
 keyboards/jd40/keyboard.json                  |  6 +++
 keyboards/jd45/config.h                       | 39 -------------------
 keyboards/jd45/keyboard.json                  |  6 +++
 keyboards/jels/boaty/config.h                 | 23 -----------
 keyboards/jels/boaty/keyboard.json            |  6 +++
 keyboards/jels/jels60/v1/config.h             | 23 -----------
 keyboards/jels/jels60/v1/keyboard.json        |  6 +++
 keyboards/jels/jels60/v2/config.h             | 22 -----------
 keyboards/jels/jels60/v2/keyboard.json        |  6 +++
 keyboards/jels/jels88/config.h                | 22 -----------
 keyboards/jels/jels88/keyboard.json           |  6 +++
 keyboards/jolofsor/denial75/config.h          |  7 ----
 keyboards/jolofsor/denial75/keyboard.json     |  6 +++
 keyboards/jorne/rev1/config.h                 |  9 -----
 keyboards/jorne/rev1/keyboard.json            |  6 +++
 keyboards/joshajohnson/hub16/config.h         |  5 ---
 keyboards/joshajohnson/hub16/keyboard.json    |  6 +++
 keyboards/joshajohnson/hub20/config.h         | 24 ------------
 keyboards/joshajohnson/hub20/keyboard.json    |  6 ++-
 keyboards/jukaie/jk01/config.h                |  5 ---
 keyboards/jukaie/jk01/keyboard.json           |  6 ++-
 71 files changed, 213 insertions(+), 793 deletions(-)
 delete mode 100644 keyboards/ianklug/grooveboard/config.h
 delete mode 100644 keyboards/ibnuda/gurindam/config.h
 delete mode 100644 keyboards/idb/idb_60/config.h
 delete mode 100644 keyboards/idobao/id75/v1/config.h
 delete mode 100644 keyboards/idobao/id75/v2/config.h
 delete mode 100644 keyboards/idobao/id96/config.h
 delete mode 100644 keyboards/idobao/montex/v1/config.h
 delete mode 100644 keyboards/illuminati/is0/config.h
 delete mode 100644 keyboards/illusion/rosa/config.h
 delete mode 100644 keyboards/ilumkb/primus75/config.h
 delete mode 100644 keyboards/ilumkb/volcano660/config.h
 delete mode 100644 keyboards/irene/config.h
 delete mode 100644 keyboards/iriskeyboards/config.h
 delete mode 100644 keyboards/jacky_studio/bear_65/config.h
 delete mode 100644 keyboards/jacky_studio/s7_elephant/rev1/config.h
 delete mode 100644 keyboards/jacky_studio/s7_elephant/rev2/config.h
 delete mode 100644 keyboards/jae/j01/config.h
 delete mode 100644 keyboards/jagdpietr/drakon/config.h
 delete mode 100644 keyboards/jd40/config.h
 delete mode 100644 keyboards/jd45/config.h
 delete mode 100644 keyboards/jels/boaty/config.h
 delete mode 100644 keyboards/jels/jels60/v1/config.h
 delete mode 100644 keyboards/jels/jels60/v2/config.h
 delete mode 100644 keyboards/jels/jels88/config.h
 delete mode 100644 keyboards/jorne/rev1/config.h
 delete mode 100644 keyboards/joshajohnson/hub20/config.h

diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h
deleted file mode 100644
index 12ff57c16b..0000000000
--- a/keyboards/ianklug/grooveboard/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 ianklug
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ianklug/grooveboard/keyboard.json b/keyboards/ianklug/grooveboard/keyboard.json
index 81dd715867..ce7ac8cc22 100644
--- a/keyboards/ianklug/grooveboard/keyboard.json
+++ b/keyboards/ianklug/grooveboard/keyboard.json
@@ -18,6 +18,12 @@
         "mousekey": true,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "direct": [
             ["F7", "F6", "D1", "D2"]
diff --git a/keyboards/ibm/model_m/modelh/config.h b/keyboards/ibm/model_m/modelh/config.h
index ac95ccfe66..eff37a4b3b 100644
--- a/keyboards/ibm/model_m/modelh/config.h
+++ b/keyboards/ibm/model_m/modelh/config.h
@@ -22,12 +22,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define MODELH_STATUS_LED C13
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json
index 897d9be2f4..513d5d9bb6 100644
--- a/keyboards/ibm/model_m/modelh/keyboard.json
+++ b/keyboards/ibm/model_m/modelh/keyboard.json
@@ -12,6 +12,12 @@
         "mousekey": false,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "indicators": {
         "caps_lock": "B8",
         "num_lock": "B7",
diff --git a/keyboards/ibm/model_m_122/ibm122m/config.h b/keyboards/ibm/model_m_122/ibm122m/config.h
index af3de54eb2..3222783699 100644
--- a/keyboards/ibm/model_m_122/ibm122m/config.h
+++ b/keyboards/ibm/model_m_122/ibm122m/config.h
@@ -17,11 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 #define AUDIO_PIN_ALT B6
 #define AUDIO_PIN C6
 
diff --git a/keyboards/ibm/model_m_122/ibm122m/keyboard.json b/keyboards/ibm/model_m_122/ibm122m/keyboard.json
index 3c43d17d92..a9e10ffd6a 100644
--- a/keyboards/ibm/model_m_122/ibm122m/keyboard.json
+++ b/keyboards/ibm/model_m_122/ibm122m/keyboard.json
@@ -17,6 +17,12 @@
     "mousekey": true,
     "nkro": true
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["E6", "B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C7", "F1"],
     "rows": ["F0", "B5", "B4", "B3", "B2", "B1", "B0", "E7"]
diff --git a/keyboards/ibnuda/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h
deleted file mode 100644
index ae358106eb..0000000000
--- a/keyboards/ibnuda/gurindam/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 Ibnu D. Aji
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ibnuda/gurindam/keyboard.json b/keyboards/ibnuda/gurindam/keyboard.json
index e1253b7d7a..1cf74068b6 100644
--- a/keyboards/ibnuda/gurindam/keyboard.json
+++ b/keyboards/ibnuda/gurindam/keyboard.json
@@ -34,6 +34,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F6", "F5", "F4", "F7", "B1", "B3", "B2", "B6"],
         "rows": ["B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2"]
diff --git a/keyboards/idb/idb_60/config.h b/keyboards/idb/idb_60/config.h
deleted file mode 100644
index baf09cebb5..0000000000
--- a/keyboards/idb/idb_60/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idb/idb_60/keyboard.json b/keyboards/idb/idb_60/keyboard.json
index df88de1dff..80bbd17a5a 100644
--- a/keyboards/idb/idb_60/keyboard.json
+++ b/keyboards/idb/idb_60/keyboard.json
@@ -16,6 +16,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["B2", "B3", "B4", "C6", "B6", "B7", "C7", "B5"],
         "rows": ["C2", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "B0", "B1"]
diff --git a/keyboards/idobao/id75/v1/config.h b/keyboards/idobao/id75/v1/config.h
deleted file mode 100644
index d876570c80..0000000000
--- a/keyboards/idobao/id75/v1/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2018 MechMerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id75/v1/keyboard.json b/keyboards/idobao/id75/v1/keyboard.json
index 99b7f6e2b3..f52938d0d8 100644
--- a/keyboards/idobao/id75/v1/keyboard.json
+++ b/keyboards/idobao/id75/v1/keyboard.json
@@ -21,6 +21,12 @@
     "nkro": false,
     "rgblight": true
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"],
     "rows": ["B0", "B3", "C7", "B6", "C6"]
diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h
deleted file mode 100644
index 51d84749a5..0000000000
--- a/keyboards/idobao/id75/v2/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2022 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id75/v2/keyboard.json b/keyboards/idobao/id75/v2/keyboard.json
index b33e7b6907..09e24dbd47 100644
--- a/keyboards/idobao/id75/v2/keyboard.json
+++ b/keyboards/idobao/id75/v2/keyboard.json
@@ -59,6 +59,12 @@
         "nkro": false,
         "rgb_matrix": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["B0", "B3", "C7", "B6", "C6"]
diff --git a/keyboards/idobao/id96/config.h b/keyboards/idobao/id96/config.h
deleted file mode 100644
index 23990f6ef9..0000000000
--- a/keyboards/idobao/id96/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * This file is part of the QMK Firmware distribution (https://github.com/qmk/qmk_firmware).
- * Copyright 2018-2021 "kaylanm" <http://github.com/kaylanm> [Melody96]
- *                     Vino Rodrigues <http://github.com/vinorodrigues> [ID96]
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/idobao/id96/keyboard.json b/keyboards/idobao/id96/keyboard.json
index 3213cd74a9..c06dfdd454 100644
--- a/keyboards/idobao/id96/keyboard.json
+++ b/keyboards/idobao/id96/keyboard.json
@@ -18,6 +18,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
         "rows": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/idobao/montex/v1/config.h b/keyboards/idobao/montex/v1/config.h
deleted file mode 100644
index 6cbdda8572..0000000000
--- a/keyboards/idobao/montex/v1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 NachoxMacho
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/idobao/montex/v1/keyboard.json b/keyboards/idobao/montex/v1/keyboard.json
index d439a2d09c..2d9f503832 100644
--- a/keyboards/idobao/montex/v1/keyboard.json
+++ b/keyboards/idobao/montex/v1/keyboard.json
@@ -18,6 +18,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D5", "D3", "D2", "D1", "D0"],
         "rows": ["D4", "D6", "D7", "B4", "B5", "C6"]
diff --git a/keyboards/illuminati/is0/config.h b/keyboards/illuminati/is0/config.h
deleted file mode 100644
index 50001e978c..0000000000
--- a/keyboards/illuminati/is0/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Ryota Goto
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/illuminati/is0/keyboard.json b/keyboards/illuminati/is0/keyboard.json
index d03af34507..ee90646b19 100644
--- a/keyboards/illuminati/is0/keyboard.json
+++ b/keyboards/illuminati/is0/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D0"],
         "rows": ["D2"]
diff --git a/keyboards/illusion/rosa/config.h b/keyboards/illusion/rosa/config.h
deleted file mode 100644
index 7b9007c1f6..0000000000
--- a/keyboards/illusion/rosa/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Brandon Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/illusion/rosa/keyboard.json b/keyboards/illusion/rosa/keyboard.json
index c5e9c88a77..7fef56841d 100644
--- a/keyboards/illusion/rosa/keyboard.json
+++ b/keyboards/illusion/rosa/keyboard.json
@@ -16,6 +16,12 @@
         "mousekey": true,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D0", "D2", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6"],
         "rows": ["D1", "D4", "F0", "B0", "B1"]
diff --git a/keyboards/ilumkb/primus75/config.h b/keyboards/ilumkb/primus75/config.h
deleted file mode 100644
index ee087cc051..0000000000
--- a/keyboards/ilumkb/primus75/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/ilumkb/primus75/keyboard.json b/keyboards/ilumkb/primus75/keyboard.json
index f00c146740..15831ffda6 100644
--- a/keyboards/ilumkb/primus75/keyboard.json
+++ b/keyboards/ilumkb/primus75/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7", "C6", "F5", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4", "F6"],
         "rows": ["D0", "D1", "D2", "D3", "D5", "B7"]
diff --git a/keyboards/ilumkb/volcano660/config.h b/keyboards/ilumkb/volcano660/config.h
deleted file mode 100644
index fa9d81cec2..0000000000
--- a/keyboards/ilumkb/volcano660/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json
index 7412a249f8..297b28a5f9 100644
--- a/keyboards/ilumkb/volcano660/keyboard.json
+++ b/keyboards/ilumkb/volcano660/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["B0", "B1", "B2", "B3", "B6"]
diff --git a/keyboards/inland/kb83/config.h b/keyboards/inland/kb83/config.h
index c003d218c2..0ddf8582be 100644
--- a/keyboards/inland/kb83/config.h
+++ b/keyboards/inland/kb83/config.h
@@ -18,11 +18,6 @@
 
 #define RGB_TRIGGER_ON_KEYDOWN
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 /* SPI Config for spi flash*/
 #define SPI_DRIVER SPIDQ
 #define SPI_SCK_PIN B3
diff --git a/keyboards/inland/kb83/keyboard.json b/keyboards/inland/kb83/keyboard.json
index 31ca8f1bda..4c82a557ee 100644
--- a/keyboards/inland/kb83/keyboard.json
+++ b/keyboards/inland/kb83/keyboard.json
@@ -64,7 +64,11 @@
         ]
     },
     "qmk": {
-        "tap_keycode_delay": 15
+        "tap_keycode_delay": 15,
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
     },
     "layouts": {
         "LAYOUT": {
diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h
index bf9ebc980f..28b7d5d777 100644
--- a/keyboards/input_club/ergodox_infinity/config.h
+++ b/keyboards/input_club/ergodox_infinity/config.h
@@ -23,11 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MOUSEKEY_MAX_SPEED      7
 #define MOUSEKEY_WHEEL_DELAY 0
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 /* key combination for command */
 #define IS_COMMAND() ( \
     get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
diff --git a/keyboards/input_club/ergodox_infinity/keyboard.json b/keyboards/input_club/ergodox_infinity/keyboard.json
index 6f47d72685..fd89806b00 100644
--- a/keyboards/input_club/ergodox_infinity/keyboard.json
+++ b/keyboards/input_club/ergodox_infinity/keyboard.json
@@ -55,6 +55,12 @@
         "sleep_led": true,
         "st7565": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "board": "IC_TEENSY_3_1",
     "tapping": {
         "toggle": 1
diff --git a/keyboards/irene/config.h b/keyboards/irene/config.h
deleted file mode 100644
index 656deab55a..0000000000
--- a/keyboards/irene/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 Ramon Imbao
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/irene/keyboard.json b/keyboards/irene/keyboard.json
index fb8b1818c2..3280c34c03 100644
--- a/keyboards/irene/keyboard.json
+++ b/keyboards/irene/keyboard.json
@@ -35,6 +35,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7", "C6", "B6", "B5", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["B0", "F0", "C7", "B4", "B7"]
diff --git a/keyboards/iriskeyboards/config.h b/keyboards/iriskeyboards/config.h
deleted file mode 100644
index d813c012ef..0000000000
--- a/keyboards/iriskeyboards/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 SonOfAres
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/iriskeyboards/keyboard.json b/keyboards/iriskeyboards/keyboard.json
index b0926531b6..4a821b2649 100644
--- a/keyboards/iriskeyboards/keyboard.json
+++ b/keyboards/iriskeyboards/keyboard.json
@@ -16,6 +16,12 @@
         "mousekey": true,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
       "cols": ["F0", "F1", "F4", "F5", "F6", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
       "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/iron180/config.h b/keyboards/iron180/config.h
index f2d3a3c36f..b7a6f9baf9 100644
--- a/keyboards/iron180/config.h
+++ b/keyboards/iron180/config.h
@@ -21,10 +21,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define BACKLIGHT_PWM_CHANNEL   1
 #define BACKLIGHT_PAL_MODE      1
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 // Turn backlight on-off according to capslock (off by default)
 #define CAPSLOCK_BACKLIGHT
diff --git a/keyboards/iron180/keyboard.json b/keyboards/iron180/keyboard.json
index 3952656d28..8daae1b1eb 100644
--- a/keyboards/iron180/keyboard.json
+++ b/keyboards/iron180/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["B7", "B6", "B5", "B4", "B3", "A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B2", "A4", "B1", "A3"],
         "rows": ["B9", "B8", "A15", "B0", "A7", "A5"]
diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h
deleted file mode 100644
index 805f9ad054..0000000000
--- a/keyboards/jacky_studio/bear_65/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2017-2021 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jacky_studio/bear_65/rev1/keyboard.json b/keyboards/jacky_studio/bear_65/rev1/keyboard.json
index 2c79dc41f5..df7be71869 100644
--- a/keyboards/jacky_studio/bear_65/rev1/keyboard.json
+++ b/keyboards/jacky_studio/bear_65/rev1/keyboard.json
@@ -12,6 +12,12 @@
         "backlight": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "build": {
         "lto": true
     },
diff --git a/keyboards/jacky_studio/bear_65/rev2/keyboard.json b/keyboards/jacky_studio/bear_65/rev2/keyboard.json
index ec2ff1b7c7..0fa471d44a 100644
--- a/keyboards/jacky_studio/bear_65/rev2/keyboard.json
+++ b/keyboards/jacky_studio/bear_65/rev2/keyboard.json
@@ -12,6 +12,12 @@
         "backlight": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "build": {
         "lto": true
     },
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/config.h b/keyboards/jacky_studio/s7_elephant/rev1/config.h
deleted file mode 100644
index b9eeb3bf15..0000000000
--- a/keyboards/jacky_studio/s7_elephant/rev1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 MudkipMao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
index fc87e986ba..cbbb27ca04 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
+++ b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
@@ -38,6 +38,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["B6", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F4", "F5", "F6", "F7", "F1"],
         "rows": ["B0", "B1", "B2", "B3", "B4"]
diff --git a/keyboards/jacky_studio/s7_elephant/rev2/config.h b/keyboards/jacky_studio/s7_elephant/rev2/config.h
deleted file mode 100644
index b9eeb3bf15..0000000000
--- a/keyboards/jacky_studio/s7_elephant/rev2/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 MudkipMao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
index 1a32d95c77..23112f5b33 100644
--- a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
+++ b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
@@ -21,6 +21,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0", "E6"],
         "rows": ["B0", "B1", "B2", "B3", "B7"]
diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h
index 4d138814be..a0793c5861 100644
--- a/keyboards/jadookb/jkb65/config.h
+++ b/keyboards/jadookb/jkb65/config.h
@@ -17,6 +17,3 @@
 #pragma once
 
 #define RGB_MATRIX_LED_COUNT 67
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index 99460a3002..054b1c5452 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -14,6 +14,12 @@
         "nkro": true,
         "rgb_matrix": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "usb": {
         "vid": "0x4A4B",
         "pid": "0xEF6A"
diff --git a/keyboards/jae/j01/config.h b/keyboards/jae/j01/config.h
deleted file mode 100644
index 6b5c1ab3f9..0000000000
--- a/keyboards/jae/j01/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Evy Dekkers
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json
index 4bf7171dd5..56a5062c94 100644
--- a/keyboards/jae/j01/keyboard.json
+++ b/keyboards/jae/j01/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": true,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1"],
         "rows": ["B2", "B1", "B3", "B0", "D0"]
diff --git a/keyboards/jagdpietr/drakon/config.h b/keyboards/jagdpietr/drakon/config.h
deleted file mode 100644
index 96c32b09f2..0000000000
--- a/keyboards/jagdpietr/drakon/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 jagdpietr
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/jagdpietr/drakon/keyboard.json b/keyboards/jagdpietr/drakon/keyboard.json
index bbb945aadf..2d2b68a41a 100644
--- a/keyboards/jagdpietr/drakon/keyboard.json
+++ b/keyboards/jagdpietr/drakon/keyboard.json
@@ -22,6 +22,12 @@
         "oled": true,
         "wpm": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7", "C6", "B2", "B3", "B7", "D3", "D5", "D4", "D6", "D7", "B4"],
         "rows": ["C7", "B5", "B6", "B0", "B1", "F1"]
diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h
deleted file mode 100644
index 4e59694818..0000000000
--- a/keyboards/jd40/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jd40/keyboard.json b/keyboards/jd40/keyboard.json
index 6ce0ca5da3..f56602b215 100644
--- a/keyboards/jd40/keyboard.json
+++ b/keyboards/jd40/keyboard.json
@@ -37,6 +37,12 @@
     "nkro": true,
     "rgblight": true
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["F4", "D7", "B5", "B6", "C6", "C7", "D4", "D6", "D5", "D0", "D1", "D2"],
     "rows": ["F0", "F1", "F5", "B4"]
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
deleted file mode 100644
index 9b7700e013..0000000000
--- a/keyboards/jd45/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/jd45/keyboard.json b/keyboards/jd45/keyboard.json
index c9d5bfb123..6c103ec6dd 100644
--- a/keyboards/jd45/keyboard.json
+++ b/keyboards/jd45/keyboard.json
@@ -18,6 +18,12 @@
     "mousekey": true,
     "nkro": false
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["F4", "D7", "B5", "B6", "C6", "C7", "D4", "D6", "D5", "D0", "D1", "D2", "B0"],
     "rows": ["F0", "F1", "F5", "B4"]
diff --git a/keyboards/jels/boaty/config.h b/keyboards/jels/boaty/config.h
deleted file mode 100644
index d78952f261..0000000000
--- a/keyboards/jels/boaty/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
- /* Copyright 2022 Joah Nelson (Jels)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation,   either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
diff --git a/keyboards/jels/boaty/keyboard.json b/keyboards/jels/boaty/keyboard.json
index 6d85c5bd4f..11a6e0aa15 100644
--- a/keyboards/jels/boaty/keyboard.json
+++ b/keyboards/jels/boaty/keyboard.json
@@ -18,6 +18,12 @@
         "console": false,
         "command": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["B1", "C0", "C1", "C2", "D4", "D1", "D0", "C5", "C4", "C3", "D5"],
         "rows": ["D6", "B0", "D7", "B5", "B3", "B4", "B2"]
diff --git a/keyboards/jels/jels60/v1/config.h b/keyboards/jels/jels60/v1/config.h
deleted file mode 100644
index 92b3d36801..0000000000
--- a/keyboards/jels/jels60/v1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2022 Joah Nelson (Jels)
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation,   either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
diff --git a/keyboards/jels/jels60/v1/keyboard.json b/keyboards/jels/jels60/v1/keyboard.json
index 6dc88d7895..1f7b45adef 100644
--- a/keyboards/jels/jels60/v1/keyboard.json
+++ b/keyboards/jels/jels60/v1/keyboard.json
@@ -14,6 +14,12 @@
         "command": false,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu"
 }
diff --git a/keyboards/jels/jels60/v2/config.h b/keyboards/jels/jels60/v2/config.h
deleted file mode 100644
index 274e7fcf62..0000000000
--- a/keyboards/jels/jels60/v2/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2022 Joah Nelson (Jels)
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation,   either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jels/jels60/v2/keyboard.json b/keyboards/jels/jels60/v2/keyboard.json
index 69ec00193a..4ab87eff49 100644
--- a/keyboards/jels/jels60/v2/keyboard.json
+++ b/keyboards/jels/jels60/v2/keyboard.json
@@ -9,6 +9,12 @@
         "command": false,
         "nkro": false
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["GP24", "GP25", "GP23", "GP21", "GP22", "GP2", "GP1", "GP0", "GP6", "GP18", "GP19", "GP20", "GP9", "GP8"],
         "rows": ["GP26", "GP27", "GP3", "GP4", "GP5"]
diff --git a/keyboards/jels/jels88/config.h b/keyboards/jels/jels88/config.h
deleted file mode 100644
index 2d5641fa69..0000000000
--- a/keyboards/jels/jels88/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Joah Nelson (Jels)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation,   either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jels/jels88/keyboard.json b/keyboards/jels/jels88/keyboard.json
index bcddf648a0..ee9b64ed6a 100644
--- a/keyboards/jels/jels88/keyboard.json
+++ b/keyboards/jels/jels88/keyboard.json
@@ -17,6 +17,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["C7", "C6", "F7", "F6", "F5", "F4", "B1", "D2", "D3"],
         "rows": ["B3", "B2", "D1", "D0", "E6", "B0", "F0", "F1", "B5", "B4", "D7", "D6"]
diff --git a/keyboards/jolofsor/denial75/config.h b/keyboards/jolofsor/denial75/config.h
index 785fdc3e5e..da9b8fd9b2 100644
--- a/keyboards/jolofsor/denial75/config.h
+++ b/keyboards/jolofsor/denial75/config.h
@@ -16,12 +16,5 @@
 
 #pragma once
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
 /* RGB Definitions */
 #define RGBLIGHT_MAX_LAYERS 32
diff --git a/keyboards/jolofsor/denial75/keyboard.json b/keyboards/jolofsor/denial75/keyboard.json
index e77c9e4a1f..df7c3157c9 100644
--- a/keyboards/jolofsor/denial75/keyboard.json
+++ b/keyboards/jolofsor/denial75/keyboard.json
@@ -17,6 +17,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F7", "C7", "C6", "B5", "B4", "D7", "D6", "D4", "E6", "B1", "B2", "B3", "B7", "D0", "D1", "D3"],
         "rows": ["B0", "F6", "F5", "F4", "F1", "F0"]
diff --git a/keyboards/jorne/rev1/config.h b/keyboards/jorne/rev1/config.h
deleted file mode 100644
index 3b854d3afc..0000000000
--- a/keyboards/jorne/rev1/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2021 Joric (@joric)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
diff --git a/keyboards/jorne/rev1/keyboard.json b/keyboards/jorne/rev1/keyboard.json
index 93ece816bb..7f67edc6ec 100644
--- a/keyboards/jorne/rev1/keyboard.json
+++ b/keyboards/jorne/rev1/keyboard.json
@@ -39,6 +39,12 @@
         "rgblight": true,
         "oled": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "build": {
         "lto": true
     },
diff --git a/keyboards/joshajohnson/hub16/config.h b/keyboards/joshajohnson/hub16/config.h
index 68576635a8..82ec6081ad 100755
--- a/keyboards/joshajohnson/hub16/config.h
+++ b/keyboards/joshajohnson/hub16/config.h
@@ -25,8 +25,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* COL2ROW, ROW2COL*/
 #define DIODE_DIRECTION COL2ROW
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/joshajohnson/hub16/keyboard.json b/keyboards/joshajohnson/hub16/keyboard.json
index 7d8f0ab356..1c9d3ea436 100644
--- a/keyboards/joshajohnson/hub16/keyboard.json
+++ b/keyboards/joshajohnson/hub16/keyboard.json
@@ -44,6 +44,12 @@
         "rgblight": true,
         "encoder": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "debounce": 20,
     "layouts": {
         "LAYOUT": {
diff --git a/keyboards/joshajohnson/hub20/config.h b/keyboards/joshajohnson/hub20/config.h
deleted file mode 100644
index 29471149d1..0000000000
--- a/keyboards/joshajohnson/hub20/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2020 joshajohnson
-Copyright 2021 peepeetee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/joshajohnson/hub20/keyboard.json b/keyboards/joshajohnson/hub20/keyboard.json
index 4bedd20c4a..44a3361838 100644
--- a/keyboards/joshajohnson/hub20/keyboard.json
+++ b/keyboards/joshajohnson/hub20/keyboard.json
@@ -52,7 +52,11 @@
       ]
     },
     "qmk": {
-      "tap_keycode_delay": 10
+      "tap_keycode_delay": 10,
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
     },
     "rgblight": {
       "led_count": 27
diff --git a/keyboards/jukaie/jk01/config.h b/keyboards/jukaie/jk01/config.h
index e66f922779..d8dfb9f535 100644
--- a/keyboards/jukaie/jk01/config.h
+++ b/keyboards/jukaie/jk01/config.h
@@ -16,11 +16,6 @@
 
 #pragma once
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 /* External spi flash */
 #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
 
diff --git a/keyboards/jukaie/jk01/keyboard.json b/keyboards/jukaie/jk01/keyboard.json
index c713fe2749..cde0b38034 100644
--- a/keyboards/jukaie/jk01/keyboard.json
+++ b/keyboards/jukaie/jk01/keyboard.json
@@ -38,7 +38,11 @@
     },
     "processor": "WB32FQ95",
     "qmk": {
-        "tap_keycode_delay": 10
+        "tap_keycode_delay": 10,
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
     },
     "rgb_matrix": {
         "animations": {