From 73f9fb91a391555748d4839161154b98f95eb8fc Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Tue, 21 May 2024 05:04:53 -0700
Subject: [PATCH] Migrate `LOCKING_*_ENABLE` to Data-Driven: G (#23758)

Affects:

  - `gboards/ergotaco`
  - `gboards/georgi`
  - `gboards/gergo`
  - `geekboards/tester`
  - `geonworks/frogmini/fmh`
  - `geonworks/frogmini/fms`
  - `gh60/revc`
  - `gh60/satan`
  - `ghs/rar`
  - `gkeyboard/gkb_m16`
  - `gkeyboard/gpad8_2r`
  - `gl516/a52gl`
  - `gl516/j73gl`
  - `gl516/n51gl`
  - `gmmk/gmmk2/p65`
  - `gmmk/gmmk2/p96`
  - `gmmk/numpad`
  - `gmmk/pro`
  - `gon/nerd60`
  - `gon/nerdtkl`
  - `gray_studio/aero75`
  - `gray_studio/cod67`
  - `gray_studio/space65`
  - `gray_studio/space65r3`
  - `gray_studio/think65v3`
  - `grid600/press`
---
 keyboards/gboards/ergotaco/config.h           |  5 ---
 keyboards/gboards/ergotaco/keyboard.json      |  6 +++
 keyboards/gboards/georgi/config.h             |  5 ---
 keyboards/gboards/georgi/keyboard.json        |  6 +++
 keyboards/gboards/gergo/config.h              |  5 ---
 keyboards/gboards/gergo/keyboard.json         |  6 +++
 keyboards/geekboards/tester/config.h          |  3 --
 keyboards/geekboards/tester/keyboard.json     |  6 +++
 keyboards/geonworks/frogmini/fmh/config.h     |  3 --
 .../geonworks/frogmini/fmh/keyboard.json      |  6 +++
 keyboards/geonworks/frogmini/fms/config.h     |  3 --
 .../geonworks/frogmini/fms/keyboard.json      |  6 +++
 keyboards/gh60/revc/config.h                  | 39 -------------------
 keyboards/gh60/revc/keyboard.json             |  6 +++
 keyboards/gh60/satan/config.h                 | 39 -------------------
 keyboards/gh60/satan/keyboard.json            |  6 +++
 keyboards/ghs/rar/config.h                    | 39 -------------------
 keyboards/ghs/rar/keyboard.json               |  6 +++
 keyboards/gkeyboard/gkb_m16/config.h          | 39 -------------------
 keyboards/gkeyboard/gkb_m16/keyboard.json     |  6 +++
 keyboards/gkeyboard/gpad8_2r/config.h         |  9 -----
 keyboards/gkeyboard/gpad8_2r/keyboard.json    |  6 +++
 keyboards/gl516/a52gl/config.h                |  5 ---
 keyboards/gl516/a52gl/keyboard.json           |  6 +++
 keyboards/gl516/j73gl/config.h                |  5 ---
 keyboards/gl516/j73gl/keyboard.json           |  6 +++
 keyboards/gl516/n51gl/config.h                |  5 ---
 keyboards/gl516/n51gl/keyboard.json           |  6 +++
 keyboards/gmmk/gmmk2/p65/config.h             |  5 ---
 keyboards/gmmk/gmmk2/p65/info.json            |  8 +++-
 keyboards/gmmk/gmmk2/p96/config.h             |  5 ---
 keyboards/gmmk/gmmk2/p96/info.json            |  8 +++-
 keyboards/gmmk/numpad/config.h                |  3 --
 keyboards/gmmk/numpad/keyboard.json           |  6 +++
 keyboards/gmmk/pro/config.h                   |  5 ---
 keyboards/gmmk/pro/info.json                  |  8 +++-
 keyboards/gon/nerd60/config.h                 |  6 ---
 keyboards/gon/nerd60/keyboard.json            |  6 +++
 keyboards/gon/nerdtkl/config.h                |  6 ---
 keyboards/gon/nerdtkl/keyboard.json           |  6 +++
 keyboards/gray_studio/aero75/config.h         | 10 -----
 keyboards/gray_studio/aero75/keyboard.json    |  6 +++
 keyboards/gray_studio/cod67/config.h          | 23 -----------
 keyboards/gray_studio/cod67/keyboard.json     |  6 +++
 keyboards/gray_studio/space65/config.h        | 39 -------------------
 keyboards/gray_studio/space65/keyboard.json   |  6 +++
 keyboards/gray_studio/space65r3/config.h      |  8 ----
 keyboards/gray_studio/space65r3/keyboard.json |  6 +++
 keyboards/gray_studio/think65v3/config.h      |  9 -----
 keyboards/gray_studio/think65v3/keyboard.json |  6 +++
 keyboards/grid600/press/config.h              | 23 -----------
 keyboards/grid600/press/keyboard.json         |  6 +++
 52 files changed, 159 insertions(+), 349 deletions(-)
 delete mode 100644 keyboards/gh60/revc/config.h
 delete mode 100644 keyboards/gh60/satan/config.h
 delete mode 100644 keyboards/ghs/rar/config.h
 delete mode 100644 keyboards/gkeyboard/gkb_m16/config.h
 delete mode 100644 keyboards/gkeyboard/gpad8_2r/config.h
 delete mode 100644 keyboards/gon/nerd60/config.h
 delete mode 100644 keyboards/gon/nerdtkl/config.h
 delete mode 100644 keyboards/gray_studio/aero75/config.h
 delete mode 100644 keyboards/gray_studio/cod67/config.h
 delete mode 100644 keyboards/gray_studio/space65/config.h
 delete mode 100644 keyboards/gray_studio/space65r3/config.h
 delete mode 100644 keyboards/gray_studio/think65v3/config.h
 delete mode 100644 keyboards/grid600/press/config.h

diff --git a/keyboards/gboards/ergotaco/config.h b/keyboards/gboards/ergotaco/config.h
index 0ab992eac3..dccdbf8528 100644
--- a/keyboards/gboards/ergotaco/config.h
+++ b/keyboards/gboards/ergotaco/config.h
@@ -33,10 +33,5 @@ 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_MASK_CTRL || get_mods() == MOD_MASK_SHIFT)
diff --git a/keyboards/gboards/ergotaco/keyboard.json b/keyboards/gboards/ergotaco/keyboard.json
index 1d13c2458a..dfd1177c9e 100644
--- a/keyboards/gboards/ergotaco/keyboard.json
+++ b/keyboards/gboards/ergotaco/keyboard.json
@@ -17,6 +17,12 @@
         "console": true,
         "command": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "tapping": {
         "toggle": 1
     },
diff --git a/keyboards/gboards/georgi/config.h b/keyboards/gboards/georgi/config.h
index f0785f24bc..279ccca596 100644
--- a/keyboards/gboards/georgi/config.h
+++ b/keyboards/gboards/georgi/config.h
@@ -38,11 +38,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/gboards/georgi/keyboard.json b/keyboards/gboards/georgi/keyboard.json
index 066797a241..0b403a5a44 100644
--- a/keyboards/gboards/georgi/keyboard.json
+++ b/keyboards/gboards/georgi/keyboard.json
@@ -19,6 +19,12 @@
         "nkro": true,
         "steno": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "build": {
         "lto": true
     },
diff --git a/keyboards/gboards/gergo/config.h b/keyboards/gboards/gergo/config.h
index 44cb5a4304..b18d58aeed 100644
--- a/keyboards/gboards/gergo/config.h
+++ b/keyboards/gboards/gergo/config.h
@@ -42,11 +42,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/gboards/gergo/keyboard.json b/keyboards/gboards/gergo/keyboard.json
index e576ac8012..9446b3d183 100644
--- a/keyboards/gboards/gergo/keyboard.json
+++ b/keyboards/gboards/gergo/keyboard.json
@@ -23,6 +23,12 @@
         "console": true,
         "command": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "tapping": {
         "toggle": 1
     },
diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h
index 1c78a34e60..20bed34513 100644
--- a/keyboards/geekboards/tester/config.h
+++ b/keyboards/geekboards/tester/config.h
@@ -1,6 +1,3 @@
 #pragma once
 
 #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-
-#define LOCKING_SUPPORT_ENABL
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/geekboards/tester/keyboard.json b/keyboards/geekboards/tester/keyboard.json
index 0bd115906d..60c6b34e00 100644
--- a/keyboards/geekboards/tester/keyboard.json
+++ b/keyboards/geekboards/tester/keyboard.json
@@ -61,6 +61,12 @@
         "nkro": true,
         "rgb_matrix": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "D2", "D3"],
         "rows": ["B0", "D4"]
diff --git a/keyboards/geonworks/frogmini/fmh/config.h b/keyboards/geonworks/frogmini/fmh/config.h
index 7410a49e59..68fdadddc7 100644
--- a/keyboards/geonworks/frogmini/fmh/config.h
+++ b/keyboards/geonworks/frogmini/fmh/config.h
@@ -25,6 +25,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define EEPROM_I2C_24LC256
 #define I2C1_CLOCK_SPEED 400000
 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/geonworks/frogmini/fmh/keyboard.json b/keyboards/geonworks/frogmini/fmh/keyboard.json
index 899f5084d1..29c5ee8272 100644
--- a/keyboards/geonworks/frogmini/fmh/keyboard.json
+++ b/keyboards/geonworks/frogmini/fmh/keyboard.json
@@ -16,6 +16,12 @@
         "mousekey": false,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["C4", "C5", "B0", "C13", "C14", "C15", "B9", "C1", "C2", "C3", "A6", "A5", "A4", "A0"],
         "rows": ["A3", "A2", "A1", "B8", "A7", "C0"]
diff --git a/keyboards/geonworks/frogmini/fms/config.h b/keyboards/geonworks/frogmini/fms/config.h
index ddeaa2abff..4949570d70 100644
--- a/keyboards/geonworks/frogmini/fms/config.h
+++ b/keyboards/geonworks/frogmini/fms/config.h
@@ -28,6 +28,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define EEPROM_I2C_24LC256
 #define I2C1_CLOCK_SPEED 400000
 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/geonworks/frogmini/fms/keyboard.json b/keyboards/geonworks/frogmini/fms/keyboard.json
index 66a2880585..06a9c56047 100644
--- a/keyboards/geonworks/frogmini/fms/keyboard.json
+++ b/keyboards/geonworks/frogmini/fms/keyboard.json
@@ -17,6 +17,12 @@
         "mousekey": false,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["C4", "C5", "B0", "C13", "C14", "C15", "B9", "C1", "C2", "C3", "A6", "A5", "A4", "A0"],
         "rows": ["A3", "A2", "A1", "B8", "A7", "C0"]
diff --git a/keyboards/gh60/revc/config.h b/keyboards/gh60/revc/config.h
deleted file mode 100644
index baf09cebb5..0000000000
--- a/keyboards/gh60/revc/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/gh60/revc/keyboard.json b/keyboards/gh60/revc/keyboard.json
index bc30efd02f..ea9794d9d2 100644
--- a/keyboards/gh60/revc/keyboard.json
+++ b/keyboards/gh60/revc/keyboard.json
@@ -16,6 +16,12 @@
         "mousekey": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3"],
         "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/gh60/satan/config.h b/keyboards/gh60/satan/config.h
deleted file mode 100644
index b9449c4714..0000000000
--- a/keyboards/gh60/satan/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/gh60/satan/keyboard.json b/keyboards/gh60/satan/keyboard.json
index 54e9d42bcd..e3f2685297 100644
--- a/keyboards/gh60/satan/keyboard.json
+++ b/keyboards/gh60/satan/keyboard.json
@@ -18,6 +18,12 @@
     "nkro": true,
     "rgblight": true
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3"],
     "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/ghs/rar/config.h b/keyboards/ghs/rar/config.h
deleted file mode 100644
index 13265701b0..0000000000
--- a/keyboards/ghs/rar/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 Gone Hacking Studio
-
-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/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json
index e033b08f51..22b133c8f9 100644
--- a/keyboards/ghs/rar/keyboard.json
+++ b/keyboards/ghs/rar/keyboard.json
@@ -35,6 +35,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "D1"],
         "rows": ["B0", "B7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2"]
diff --git a/keyboards/gkeyboard/gkb_m16/config.h b/keyboards/gkeyboard/gkb_m16/config.h
deleted file mode 100644
index a8deb9de2a..0000000000
--- a/keyboards/gkeyboard/gkb_m16/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 gkeyboard
-
-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/gkeyboard/gkb_m16/keyboard.json b/keyboards/gkeyboard/gkb_m16/keyboard.json
index 0d4ddbd4c3..1f1fe50a67 100644
--- a/keyboards/gkeyboard/gkb_m16/keyboard.json
+++ b/keyboards/gkeyboard/gkb_m16/keyboard.json
@@ -38,6 +38,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7"],
         "rows": ["D4", "D5", "D6", "D7"]
diff --git a/keyboards/gkeyboard/gpad8_2r/config.h b/keyboards/gkeyboard/gpad8_2r/config.h
deleted file mode 100644
index 82f451e006..0000000000
--- a/keyboards/gkeyboard/gpad8_2r/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2023 gkeyboard (@gkeyboard)
-// 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/gkeyboard/gpad8_2r/keyboard.json b/keyboards/gkeyboard/gpad8_2r/keyboard.json
index 52e733f961..6c9a779b05 100644
--- a/keyboards/gkeyboard/gpad8_2r/keyboard.json
+++ b/keyboards/gkeyboard/gpad8_2r/keyboard.json
@@ -20,6 +20,12 @@
         "nkro": true,
         "rgb_matrix": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["GP12", "GP11", "GP10", "GP9"],
         "rows": ["GP4", "GP5", "GP6"]
diff --git a/keyboards/gl516/a52gl/config.h b/keyboards/gl516/a52gl/config.h
index a4114e1ca6..7296abd723 100644
--- a/keyboards/gl516/a52gl/config.h
+++ b/keyboards/gl516/a52gl/config.h
@@ -25,8 +25,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // wiring of each half
 #define MATRIX_ROW_PINS { D1, D0, D4, C6 }
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-
-/* 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/gl516/a52gl/keyboard.json b/keyboards/gl516/a52gl/keyboard.json
index 54fbce6bda..ad4921f635 100644
--- a/keyboards/gl516/a52gl/keyboard.json
+++ b/keyboards/gl516/a52gl/keyboard.json
@@ -15,6 +15,12 @@
         "mousekey": true,
         "extrakey": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gl516/j73gl/config.h b/keyboards/gl516/j73gl/config.h
index 16d7526f81..dc93e327c3 100644
--- a/keyboards/gl516/j73gl/config.h
+++ b/keyboards/gl516/j73gl/config.h
@@ -25,8 +25,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // wiring of each half
 #define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, E6 }
-
-/* 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/gl516/j73gl/keyboard.json b/keyboards/gl516/j73gl/keyboard.json
index b252363f70..5fba198a71 100644
--- a/keyboards/gl516/j73gl/keyboard.json
+++ b/keyboards/gl516/j73gl/keyboard.json
@@ -34,6 +34,12 @@
         "extrakey": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gl516/n51gl/config.h b/keyboards/gl516/n51gl/config.h
index a4114e1ca6..7296abd723 100644
--- a/keyboards/gl516/n51gl/config.h
+++ b/keyboards/gl516/n51gl/config.h
@@ -25,8 +25,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // wiring of each half
 #define MATRIX_ROW_PINS { D1, D0, D4, C6 }
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-
-/* 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/gl516/n51gl/keyboard.json b/keyboards/gl516/n51gl/keyboard.json
index 0e54ee52a4..c1ea4ab579 100644
--- a/keyboards/gl516/n51gl/keyboard.json
+++ b/keyboards/gl516/n51gl/keyboard.json
@@ -40,6 +40,12 @@
         "rgblight": true,
         "encoder": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h
index 4ea6b3d739..6d66d0147d 100644
--- a/keyboards/gmmk/gmmk2/p65/config.h
+++ b/keyboards/gmmk/gmmk2/p65/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
-
 /* SPI Config for LED Driver */
 #define SPI_DRIVER SPIDM2
 #define SPI_SCK_PIN B13
diff --git a/keyboards/gmmk/gmmk2/p65/info.json b/keyboards/gmmk/gmmk2/p65/info.json
index 9108057519..aa93e87f62 100644
--- a/keyboards/gmmk/gmmk2/p65/info.json
+++ b/keyboards/gmmk/gmmk2/p65/info.json
@@ -1,4 +1,10 @@
 {
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "rgb_matrix": {
         "animations": {
             "alphas_mods": true,
@@ -48,4 +54,4 @@
         "driver": "aw20216s",
         "sleep": true
     }
-}
\ No newline at end of file
+}
diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h
index 2b73b4a396..1b246e4f3f 100644
--- a/keyboards/gmmk/gmmk2/p96/config.h
+++ b/keyboards/gmmk/gmmk2/p96/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/gmmk/gmmk2/p96/info.json b/keyboards/gmmk/gmmk2/p96/info.json
index 9108057519..aa93e87f62 100644
--- a/keyboards/gmmk/gmmk2/p96/info.json
+++ b/keyboards/gmmk/gmmk2/p96/info.json
@@ -1,4 +1,10 @@
 {
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "rgb_matrix": {
         "animations": {
             "alphas_mods": true,
@@ -48,4 +54,4 @@
         "driver": "aw20216s",
         "sleep": true
     }
-}
\ No newline at end of file
+}
diff --git a/keyboards/gmmk/numpad/config.h b/keyboards/gmmk/numpad/config.h
index 8f8c893af4..11507c56b9 100644
--- a/keyboards/gmmk/numpad/config.h
+++ b/keyboards/gmmk/numpad/config.h
@@ -20,9 +20,6 @@
 #define SLIDER_PIN B0
 #define MIDI_ADVANCED
 
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
 #define SPI_DRIVER SPIDQ
 #define SPI_SCK_PIN B3
 #define SPI_MOSI_PIN B5
diff --git a/keyboards/gmmk/numpad/keyboard.json b/keyboards/gmmk/numpad/keyboard.json
index 70e2d3e679..f5d64bf6cb 100644
--- a/keyboards/gmmk/numpad/keyboard.json
+++ b/keyboards/gmmk/numpad/keyboard.json
@@ -82,6 +82,12 @@
         "encoder": true,
         "midi": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "build": {
         "lto": true
     },
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index 258b57e49d..0b14de1bab 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/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
-
 /* SPI Config for LED Driver */
 #define SPI_SCK_PIN A5
 #define SPI_MOSI_PIN A6
diff --git a/keyboards/gmmk/pro/info.json b/keyboards/gmmk/pro/info.json
index 9108057519..aa93e87f62 100644
--- a/keyboards/gmmk/pro/info.json
+++ b/keyboards/gmmk/pro/info.json
@@ -1,4 +1,10 @@
 {
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "rgb_matrix": {
         "animations": {
             "alphas_mods": true,
@@ -48,4 +54,4 @@
         "driver": "aw20216s",
         "sleep": true
     }
-}
\ No newline at end of file
+}
diff --git a/keyboards/gon/nerd60/config.h b/keyboards/gon/nerd60/config.h
deleted file mode 100644
index fa9a83d08e..0000000000
--- a/keyboards/gon/nerd60/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#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/gon/nerd60/keyboard.json b/keyboards/gon/nerd60/keyboard.json
index 33ad716b4f..590b3f3d9e 100644
--- a/keyboards/gon/nerd60/keyboard.json
+++ b/keyboards/gon/nerd60/keyboard.json
@@ -28,6 +28,12 @@
         "command": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift"],
     "layouts": {
         "LAYOUT_all": {
diff --git a/keyboards/gon/nerdtkl/config.h b/keyboards/gon/nerdtkl/config.h
deleted file mode 100644
index fa9a83d08e..0000000000
--- a/keyboards/gon/nerdtkl/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#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/gon/nerdtkl/keyboard.json b/keyboards/gon/nerdtkl/keyboard.json
index 301cbaf19f..ccf13ec325 100644
--- a/keyboards/gon/nerdtkl/keyboard.json
+++ b/keyboards/gon/nerdtkl/keyboard.json
@@ -28,6 +28,12 @@
         "command": true,
         "nkro": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "layouts": {
         "LAYOUT_tkl": {
             "layout": [
diff --git a/keyboards/gray_studio/aero75/config.h b/keyboards/gray_studio/aero75/config.h
deleted file mode 100644
index 57da6a8ac1..0000000000
--- a/keyboards/gray_studio/aero75/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2022 Yizhen Liu (@edwardslau)
-// SPDX-License-Identifier: GPL-2.0
-
-#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/gray_studio/aero75/keyboard.json b/keyboards/gray_studio/aero75/keyboard.json
index 4119aff5b6..c0ede794c2 100644
--- a/keyboards/gray_studio/aero75/keyboard.json
+++ b/keyboards/gray_studio/aero75/keyboard.json
@@ -46,6 +46,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B1", "A8", "B15", "B14", "B13"],
         "rows": ["A7", "A6", "B12", "A2", "A1", "A0"]
diff --git a/keyboards/gray_studio/cod67/config.h b/keyboards/gray_studio/cod67/config.h
deleted file mode 100644
index 578f469599..0000000000
--- a/keyboards/gray_studio/cod67/config.h
+++ /dev/null
@@ -1,23 +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
diff --git a/keyboards/gray_studio/cod67/keyboard.json b/keyboards/gray_studio/cod67/keyboard.json
index e3687ce959..fa946d9b33 100644
--- a/keyboards/gray_studio/cod67/keyboard.json
+++ b/keyboards/gray_studio/cod67/keyboard.json
@@ -49,6 +49,12 @@
     "backlight": true,
     "rgblight": true
   },
+  "qmk": {
+    "locking": {
+      "enabled": true,
+      "resync": true
+    }
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h
deleted file mode 100644
index b5b661bef2..0000000000
--- a/keyboards/gray_studio/space65/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 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/gray_studio/space65/keyboard.json b/keyboards/gray_studio/space65/keyboard.json
index 7d5270d0da..ffe825ff4c 100644
--- a/keyboards/gray_studio/space65/keyboard.json
+++ b/keyboards/gray_studio/space65/keyboard.json
@@ -18,6 +18,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["B0", "B3", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
         "rows": ["D0", "D1", "F0", "F4", "F1"]
diff --git a/keyboards/gray_studio/space65r3/config.h b/keyboards/gray_studio/space65r3/config.h
deleted file mode 100644
index 67315123e5..0000000000
--- a/keyboards/gray_studio/space65r3/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2022 Yizhen Liu (@edwardslau)
-// SPDX-License-Identifier: GPL-2.0
-#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/gray_studio/space65r3/keyboard.json b/keyboards/gray_studio/space65r3/keyboard.json
index 5895a59194..bdf3624c58 100644
--- a/keyboards/gray_studio/space65r3/keyboard.json
+++ b/keyboards/gray_studio/space65r3/keyboard.json
@@ -46,6 +46,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"],
         "rows": ["A6", "B12", "A2", "A0", "A1"]
diff --git a/keyboards/gray_studio/think65v3/config.h b/keyboards/gray_studio/think65v3/config.h
deleted file mode 100644
index 6b1f49b592..0000000000
--- a/keyboards/gray_studio/think65v3/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2023 Yizhen Liu (@edwardslau)
-// SPDX-License-Identifier: GPL-2.0
-#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
- 
\ No newline at end of file
diff --git a/keyboards/gray_studio/think65v3/keyboard.json b/keyboards/gray_studio/think65v3/keyboard.json
index a61dd5efe1..0c6b8e7938 100644
--- a/keyboards/gray_studio/think65v3/keyboard.json
+++ b/keyboards/gray_studio/think65v3/keyboard.json
@@ -20,6 +20,12 @@
         "nkro": true,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "ws2812": {
         "pin": "B10"
     },
diff --git a/keyboards/grid600/press/config.h b/keyboards/grid600/press/config.h
deleted file mode 100644
index a7f362f47b..0000000000
--- a/keyboards/grid600/press/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2019 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
diff --git a/keyboards/grid600/press/keyboard.json b/keyboards/grid600/press/keyboard.json
index df8f857afe..74c3e7aad1 100644
--- a/keyboards/grid600/press/keyboard.json
+++ b/keyboards/grid600/press/keyboard.json
@@ -17,6 +17,12 @@
         "nkro": false,
         "rgblight": true
     },
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "matrix_pins": {
         "cols": ["F1", "F4", "F5", "F6"],
         "rows": ["F0"]