7824e7ed9ba3e79103625b6f038033eb3f5c5320

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

Message

Migrate `led_update_kb` implementations to DD (#23983)

Diff

This diff is truncated to protect this page.

   1diff --git a/keyboards/acheron/austin/austin.c b/keyboards/acheron/austin/austin.c
   2deleted file mode 100644
   3index 9a69d1c086570e32eb0f6f4ed8a2f494ddb7cf89..0000000000000000000000000000000000000000
   4--- a/keyboards/acheron/austin/austin.c
   5+++ /dev/null
   6@@ -1,18 +0,0 @@
   7-#include "quantum.h"
   8-
   9-void keyboard_pre_init_kb(void) {
  10-    gpio_set_pin_output(A0);
  11-    gpio_set_pin_output(A1);
  12-    gpio_set_pin_output(A2);
  13-
  14-    keyboard_pre_init_user();
  15-}
  16-
  17-bool led_update_kb(led_t led_state) {
  18-    if (led_update_user(led_state)) {
  19-        gpio_write_pin(A2, led_state.num_lock);
  20-        gpio_write_pin(A0, led_state.caps_lock);
  21-        gpio_write_pin(A1, led_state.scroll_lock);
  22-    }
  23-    return true;
  24-}
  25diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json
  26index bee675472c9654141ad0cc07d2bc0c7df4c35a4f..a3df5dd75d3e2a2a13f2c6e823fbb33246a54ebe 100755
  27--- a/keyboards/acheron/austin/keyboard.json
  28+++ b/keyboards/acheron/austin/keyboard.json
  29@@ -33,6 +33,11 @@
  30         "levels": 6,
  31         "breathing": true
  32     },
  33+    "indicators": {
  34+        "caps_lock": "A0",
  35+        "num_lock": "A2",
  36+        "scroll_lock": "A1"
  37+    },
  38     "processor": "STM32F072",
  39     "bootloader": "stm32-dfu",
  40     "layouts": {
  41diff --git a/keyboards/cheshire/curiosity/curiosity.c b/keyboards/cheshire/curiosity/curiosity.c
  42deleted file mode 100644
  43index 2813cff9b4a03401613a9403992226999b16c21e..0000000000000000000000000000000000000000
  44--- a/keyboards/cheshire/curiosity/curiosity.c
  45+++ /dev/null
  46@@ -1,17 +0,0 @@
  47-#include "quantum.h"
  48-
  49-void matrix_init_board(void){
  50-    gpio_set_pin_output(A8);
  51-    gpio_set_pin_output(A9);
  52-    gpio_set_pin_output(A10);
  53-}
  54-
  55-bool led_update_kb(led_t led_state) {
  56-    bool runDefault = led_update_user(led_state);
  57-    if (runDefault) {
  58-      gpio_write_pin(A8, !led_state.num_lock);
  59-      gpio_write_pin(A9, !led_state.caps_lock);
  60-      gpio_write_pin(A10, !led_state.scroll_lock);
  61-    }
  62-    return runDefault;
  63-}
  64diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json
  65index 679f2a45d1a16fd05efc5044ee2ca315b8da979d..b408a5b6e9529a11192bdc300ad2260e88daa47f 100644
  66--- a/keyboards/cheshire/curiosity/keyboard.json
  67+++ b/keyboards/cheshire/curiosity/keyboard.json
  68@@ -7,6 +7,12 @@
  69         "pid": "0x0FAD",
  70         "device_version": "0.0.1"
  71     },
  72+    "indicators": {
  73+        "caps_lock": "A9",
  74+        "num_lock": "A8",
  75+        "scroll_lock": "A10",
  76+        "on_state": 0
  77+    },
  78     "rgblight": {
  79         "led_count": 14,
  80         "animations": {
  81diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c
  82index 4a62fdf45f1b6974b040fecb93105414e2920649..de0e2cc7556b80e868f4de2dcfad4c5567be29a6 100644
  83--- a/keyboards/doppelganger/doppelganger.c
  84+++ b/keyboards/doppelganger/doppelganger.c
  85@@ -16,21 +16,9 @@
  86 #include "quantum.h"
  87 
  88 void keyboard_pre_init_kb(void) {
  89-    gpio_set_pin_output(C6);
  90     gpio_set_pin_output(B0);
  91-}
  92 
  93-bool led_update_kb(led_t led_state) {
  94-    bool res = led_update_user(led_state);
  95-    if (res) {
  96-        // gpio_write_pin sets the pin high for 1 and low for 0.
  97-        // In this example the pins are inverted, setting
  98-        // it low/0 turns it on, and high/1 turns the LED off.
  99-        // This behavior depends on whether the LED is between the pin
 100-        // and VCC or the pin and GND.
 101-        gpio_write_pin(C6, !led_state.caps_lock);
 102-    }
 103-    return res;
 104+    keyboard_pre_init_user();
 105 }
 106 
 107 __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
 108diff --git a/keyboards/doppelganger/keyboard.json b/keyboards/doppelganger/keyboard.json
 109index 9ea2241a807b2c0b316f009208f3f7087a7366cc..ccba77fdfa5cb6944da599c050e0f328ca86823e 100644
 110--- a/keyboards/doppelganger/keyboard.json
 111+++ b/keyboards/doppelganger/keyboard.json
 112@@ -8,6 +8,10 @@
 113         "pid": "0x4447",
 114         "device_version": "0.0.1"
 115     },
 116+    "indicators": {
 117+        "caps_lock": "C6",
 118+        "on_state": 0
 119+    },
 120     "matrix_pins": {
 121         "cols": ["F4", "F0", "B7", "B3", "B2", "B1", "D5", "D3", "D2"],
 122         "rows": ["E6", "F1", "C7", "F7", "F6"]
 123diff --git a/keyboards/exclusive/e85/soldered/keyboard.json b/keyboards/exclusive/e85/soldered/keyboard.json
 124index 8b4ebbfc575e6d47e14878accfea074637b3187c..dfd6d18826b5f9e7e24d92ba969bb8f3de81bf2c 100644
 125--- a/keyboards/exclusive/e85/soldered/keyboard.json
 126+++ b/keyboards/exclusive/e85/soldered/keyboard.json
 127@@ -18,6 +18,10 @@
 128         "levels": 6,
 129         "breathing": true
 130     },
 131+    "indicators": {
 132+        "caps_lock": "C7",
 133+        "scroll_lock": "B5"
 134+    },
 135     "rgblight": {
 136         "saturation_steps": 8,
 137         "brightness_steps": 8,
 138diff --git a/keyboards/exclusive/e85/soldered/soldered.c b/keyboards/exclusive/e85/soldered/soldered.c
 139deleted file mode 100644
 140index bdee95c26c687149b626d61a0f45a49dc3996060..0000000000000000000000000000000000000000
 141--- a/keyboards/exclusive/e85/soldered/soldered.c
 142+++ /dev/null
 143@@ -1,32 +0,0 @@
 144-/* Copyright 2020 VashtaNerada
 145- *
 146- * This program is free software: you can redistribute it and/or modify
 147- * it under the terms of the GNU General Public License as published by
 148- * the Free Software Foundation, either version 2 of the License, or
 149- * (at your option) any later version.
 150- *
 151- * This program is distributed in the hope that it will be useful,
 152- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 153- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 154- * GNU General Public License for more details.
 155- *
 156- * You should have received a copy of the GNU General Public License
 157- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 158- */
 159-
 160-#include "quantum.h"
 161-
 162-void keyboard_pre_init_kb(void) {
 163-    gpio_set_pin_output(C7);
 164-    gpio_set_pin_output(B5);
 165-
 166-    keyboard_pre_init_user();
 167-}
 168-
 169-bool led_update_kb(led_t led_state) {
 170-    if (led_update_user(led_state)) {
 171-        gpio_write_pin(C7, led_state.caps_lock);
 172-        gpio_write_pin(B5, led_state.scroll_lock);
 173-    }
 174-    return true;
 175-}
 176diff --git a/keyboards/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json
 177index 22b133c8f99ac9aebe70cec9ef519ff8d31e6120..96184abe6a678542fdb45c9de4b00da517da4343 100644
 178--- a/keyboards/ghs/rar/keyboard.json
 179+++ b/keyboards/ghs/rar/keyboard.json
 180@@ -8,6 +8,10 @@
 181         "pid": "0x0001",
 182         "device_version": "0.0.1"
 183     },
 184+    "indicators": {
 185+        "caps_lock": "B1",
 186+        "scroll_lock": "B3"
 187+    },
 188     "rgblight": {
 189         "led_count": 17,
 190         "animations": {
 191diff --git a/keyboards/ghs/rar/rar.c b/keyboards/ghs/rar/rar.c
 192deleted file mode 100644
 193index 591932c99c28e6475bb166dd7e273da34d3ed2e3..0000000000000000000000000000000000000000
 194--- a/keyboards/ghs/rar/rar.c
 195+++ /dev/null
 196@@ -1,36 +0,0 @@
 197-/* Copyright 2020 Gone Hacking Studio
 198- *
 199- * This program is free software: you can redistribute it and/or modify
 200- * it under the terms of the GNU General Public License as published by
 201- * the Free Software Foundation, either version 2 of the License, or
 202- * (at your option) any later version.
 203- *
 204- * This program is distributed in the hope that it will be useful,
 205- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 206- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 207- * GNU General Public License for more details.
 208- *
 209- * You should have received a copy of the GNU General Public License
 210- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 211- */
 212-
 213-#include "quantum.h"
 214-
 215-void keyboard_pre_init_kb(void) {
 216-    // Set our LED pins as output.
 217-    gpio_set_pin_output(B1);
 218-    gpio_set_pin_output(B3);
 219-
 220-    keyboard_pre_init_user();
 221-}
 222-
 223-bool led_update_kb(led_t led_state) {
 224-    bool res = led_update_user(led_state);
 225-
 226-    if (res) {
 227-        gpio_write_pin(B1, led_state.caps_lock);
 228-        gpio_write_pin(B3, led_state.scroll_lock);
 229-    }
 230-
 231-    return res;
 232-}
 233diff --git a/keyboards/gray_studio/think65/solder/keyboard.json b/keyboards/gray_studio/think65/solder/keyboard.json
 234index 9706e8b4b49948964c21d014f01ebc0b6ad1e2e4..09096a854e55d139bac6a8c4285fcbceb6b9d41c 100644
 235--- a/keyboards/gray_studio/think65/solder/keyboard.json
 236+++ b/keyboards/gray_studio/think65/solder/keyboard.json
 237@@ -41,6 +41,10 @@
 238         "nkro": false,
 239         "rgblight": true
 240     },
 241+    "indicators": {
 242+        "caps_lock": "C7",
 243+        "on_state": 0
 244+    },
 245     "matrix_pins": {
 246         "cols": ["D1", "D0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "F0", "F1", "B6", "F4", "F5", "F6"],
 247         "rows": ["B0", "B1", "B2", "B3", "E6"]
 248diff --git a/keyboards/gray_studio/think65/solder/solder.c b/keyboards/gray_studio/think65/solder/solder.c
 249deleted file mode 100644
 250index 84267b9db076a8cd037cc1712585632071a47997..0000000000000000000000000000000000000000
 251--- a/keyboards/gray_studio/think65/solder/solder.c
 252+++ /dev/null
 253@@ -1,36 +0,0 @@
 254-/* Copyright 2019 MechMerlin
 255- *
 256- * This program is free software: you can redistribute it and/or modify
 257- * it under the terms of the GNU General Public License as published by
 258- * the Free Software Foundation, either version 2 of the License, or
 259- * (at your option) any later version.
 260- *
 261- * This program is distributed in the hope that it will be useful,
 262- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 263- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 264- * GNU General Public License for more details.
 265- *
 266- * You should have received a copy of the GNU General Public License
 267- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 268- */
 269-#include "quantum.h"
 270-
 271-// Optional override functions below.
 272-// You can leave any or all of these undefined.
 273-// These are only required if you want to perform custom actions.
 274-
 275-
 276-void matrix_init_kb(void) {
 277-  // put your keyboard start-up code here
 278-  // runs once when the firmware starts up
 279-
 280-  gpio_set_pin_output(C7);
 281-  matrix_init_user();
 282-}
 283-
 284-bool led_update_kb(led_t led_state) {
 285-  if(led_update_user(led_state)) {
 286-    gpio_write_pin(C7, !led_state.caps_lock);
 287-  }
 288-  return true;
 289-}
 290diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json
 291index 297b28a5f92b5100ef0e6389fe6702b66fe4e900..fa74e46fedb9dd67e4aac53c5316c78e83958d04 100644
 292--- a/keyboards/ilumkb/volcano660/keyboard.json
 293+++ b/keyboards/ilumkb/volcano660/keyboard.json
 294@@ -32,6 +32,12 @@
 295         "pin": "B7",
 296         "levels": 5
 297     },
 298+    "indicators": {
 299+        "caps_lock": "D2",
 300+        "num_lock": "D0",
 301+        "scroll_lock": "D1",
 302+        "on_state": 0
 303+    },
 304     "processor": "atmega32u4",
 305     "bootloader": "atmel-dfu",
 306     "community_layouts": [
 307diff --git a/keyboards/ilumkb/volcano660/volcano660.c b/keyboards/ilumkb/volcano660/volcano660.c
 308deleted file mode 100644
 309index 5e6d67c9ba9551033e817c59209f4aa85f74be56..0000000000000000000000000000000000000000
 310--- a/keyboards/ilumkb/volcano660/volcano660.c
 311+++ /dev/null
 312@@ -1,34 +0,0 @@
 313-/* Copyright 2020 dztech
 314- *
 315- * This program is free software: you can redistribute it and/or modify
 316- * it under the terms of the GNU General Public License as published by
 317- * the Free Software Foundation, either version 2 of the License, or
 318- * (at your option) any later version.
 319- *
 320- * This program is distributed in the hope that it will be useful,
 321- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 322- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 323- * GNU General Public License for more details.
 324- *
 325- * You should have received a copy of the GNU General Public License
 326- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 327- */
 328-#include "quantum.h"
 329-
 330-void matrix_init_kb(void) {
 331-    gpio_set_pin_output(D0);
 332-    gpio_set_pin_output(D1);
 333-    gpio_set_pin_output(D2); 
 334-    matrix_init_user();
 335-}
 336-
 337-bool led_update_kb(led_t led_state) {
 338-    bool res = led_update_user(led_state);
 339-    if(res) {
 340-        gpio_write_pin(D0, !led_state.num_lock);
 341-        gpio_write_pin(D2, !led_state.caps_lock);
 342-        gpio_write_pin(D1, !led_state.scroll_lock);
 343-
 344-    }
 345-    return res;
 346-}
 347diff --git a/keyboards/jae/j01/j01.c b/keyboards/jae/j01/j01.c
 348deleted file mode 100644
 349index 4d3f8ced46c9ee0241151e63c58461c741677b5d..0000000000000000000000000000000000000000
 350--- a/keyboards/jae/j01/j01.c
 351+++ /dev/null
 352@@ -1,38 +0,0 @@
 353-/* Copyright Evy Dekkers
 354- *
 355- * This program is free software: you can redistribute it and/or modify
 356- * it under the terms of the GNU General Public License as published by
 357- * the Free Software Foundation, either version 2 of the License, or
 358- * (at your option) any later version.
 359- *
 360- * This program is distributed in the hope that it will be useful,
 361- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 362- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 363- * GNU General Public License for more details.
 364- *
 365- * You should have received a copy of the GNU General Public License
 366- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 367- */
 368-
 369-#include "quantum.h"
 370-
 371-// Optional override functions below.
 372-// You can leave any or all of these undefined.
 373-// These are only required if you want to perform custom actions.
 374-
 375-
 376-void matrix_init_kb(void) {
 377-    // put your keyboard start-up code here
 378-    // runs once when the firmware starts up
 379-
 380-    matrix_init_user();
 381-    gpio_set_pin_output(E6);
 382-}
 383-
 384-bool led_update_kb(led_t led_state) {
 385-    if(led_update_user(led_state)) {
 386-        gpio_write_pin(E6, !led_state.caps_lock);
 387-    }
 388-
 389-    return true;
 390-}
 391diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json
 392index 56a5062c94c3f5027831a61014534ffff6fcc47d..fd16f2a46e73ba584f32eab375a303b93a1a07fc 100644
 393--- a/keyboards/jae/j01/keyboard.json
 394+++ b/keyboards/jae/j01/keyboard.json
 395@@ -33,6 +33,10 @@
 396         "levels": 4,
 397         "breathing": true
 398     },
 399+    "indicators": {
 400+        "caps_lock": "E6",
 401+        "on_state": 0
 402+    },
 403     "bootmagic": {
 404         "matrix": [0, 2]
 405     },
 406diff --git a/keyboards/kkatano/wallaby/keyboard.json b/keyboards/kkatano/wallaby/keyboard.json
 407index ee475a54bc0163bab84916053ebae0f07e40517a..636fdba042253eeeca4840985a2389dc93275f66 100644
 408--- a/keyboards/kkatano/wallaby/keyboard.json
 409+++ b/keyboards/kkatano/wallaby/keyboard.json
 410@@ -22,6 +22,10 @@
 411             "resync": true
 412         }
 413     },
 414+    "indicators": {
 415+        "caps_lock": "B6",
 416+        "scroll_lock": "B7"
 417+    },
 418     "matrix_pins": {
 419         "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
 420         "rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
 421diff --git a/keyboards/kkatano/wallaby/wallaby.c b/keyboards/kkatano/wallaby/wallaby.c
 422deleted file mode 100644
 423index de2583903bb38388147a0f6144d4e1d7394d46f9..0000000000000000000000000000000000000000
 424--- a/keyboards/kkatano/wallaby/wallaby.c
 425+++ /dev/null
 426@@ -1,25 +0,0 @@
 427-/* Copyright 2020 Koichi Katano
 428- *
 429- * This program is free software: you can redistribute it and/or modify
 430- * it under the terms of the GNU General Public License as published by
 431- * the Free Software Foundation, either version 2 of the License, or
 432- * (at your option) any later version.
 433- *
 434- * This program is distributed in the hope that it will be useful,
 435- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 436- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 437- * GNU General Public License for more details.
 438- *
 439- * You should have received a copy of the GNU General Public License
 440- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 441- */
 442-
 443-#include "quantum.h"
 444-
 445-bool led_update_kb(led_t led_state) {
 446-    if (led_update_user(led_state)) {
 447-        gpio_write_pin(B6, led_state.caps_lock);
 448-        gpio_write_pin(B7, led_state.scroll_lock);
 449-    }
 450-    return true;
 451-}
 452diff --git a/keyboards/kkatano/yurei/keyboard.json b/keyboards/kkatano/yurei/keyboard.json
 453index 7bf08957872ed7763f99d0aa3cec121a1341eee3..59084920da67ab521ceb7cc5d0aeda238cc10db1 100644
 454--- a/keyboards/kkatano/yurei/keyboard.json
 455+++ b/keyboards/kkatano/yurei/keyboard.json
 456@@ -22,6 +22,10 @@
 457             "resync": true
 458         }
 459     },
 460+    "indicators": {
 461+        "caps_lock": "B6",
 462+        "scroll_lock": "B7"
 463+    },
 464     "matrix_pins": {
 465         "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
 466         "rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
 467diff --git a/keyboards/kkatano/yurei/yurei.c b/keyboards/kkatano/yurei/yurei.c
 468deleted file mode 100644
 469index 283726a884f71db7897f4a879eb78b2aa22dcf3e..0000000000000000000000000000000000000000
 470--- a/keyboards/kkatano/yurei/yurei.c
 471+++ /dev/null
 472@@ -1,25 +0,0 @@
 473-/* Copyright 2019 Koichi Katano
 474- *
 475- * This program is free software: you can redistribute it and/or modify
 476- * it under the terms of the GNU General Public License as published by
 477- * the Free Software Foundation, either version 2 of the License, or
 478- * (at your option) any later version.
 479- *
 480- * This program is distributed in the hope that it will be useful,
 481- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 482- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 483- * GNU General Public License for more details.
 484- *
 485- * You should have received a copy of the GNU General Public License
 486- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 487- */
 488-
 489-#include "quantum.h"
 490-
 491-bool led_update_kb(led_t led_state) {
 492-    if (led_update_user(led_state)) {
 493-        gpio_write_pin(B6, led_state.caps_lock);
 494-        gpio_write_pin(B7, led_state.scroll_lock);
 495-    }
 496-    return true;
 497-}
 498diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json
 499index 546b3dbdd33c7bd9b6856a9c782922a84bf1febc..ae2250a5f2c4051184303ab86431b8ec0bbcb443 100644
 500--- a/keyboards/marksard/leftover30/keyboard.json
 501+++ b/keyboards/marksard/leftover30/keyboard.json
 502@@ -33,6 +33,10 @@
 503             {"pin_a": "F4", "pin_b": "F5"}
 504         ]
 505     },
 506+    "indicators": {
 507+        "caps_lock": "D1",
 508+        "num_lock": "D2"
 509+    },
 510     "rgblight": {
 511         "saturation_steps": 8,
 512         "brightness_steps": 8,
 513diff --git a/keyboards/marksard/leftover30/leftover30.c b/keyboards/marksard/leftover30/leftover30.c
 514deleted file mode 100644
 515index cea0de703abf18c38f581be993a1d9c10a6decd8..0000000000000000000000000000000000000000
 516--- a/keyboards/marksard/leftover30/leftover30.c
 517+++ /dev/null
 518@@ -1,37 +0,0 @@
 519-/* Copyright 2020 marksard
 520- *
 521- * This program is free software: you can redistribute it and/or modify
 522- * it under the terms of the GNU General Public License as published by
 523- * the Free Software Foundation, either version 2 of the License, or
 524- * (at your option) any later version.
 525- *
 526- * This program is distributed in the hope that it will be useful,
 527- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 528- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 529- * GNU General Public License for more details.
 530- *
 531- * You should have received a copy of the GNU General Public License
 532- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 533- */
 534-
 535-#include "quantum.h"
 536-
 537-// Optional override functions below.
 538-// You can leave any or all of these undefined.
 539-// These are only required if you want to perform custom actions.
 540-
 541-void keyboard_pre_init_user(void) {
 542-  /* Set CAPSLOCK indicator pin as output */
 543-  gpio_set_pin_output(D1);
 544-  /* Set NUMLOCK indicator pin as output */
 545-  gpio_set_pin_output(D2);
 546-}
 547-
 548-bool led_update_kb(led_t led_state) {
 549-    bool res = led_update_user(led_state);
 550-    if(res) {
 551-        gpio_write_pin(D2, led_state.num_lock);
 552-        gpio_write_pin(D1, led_state.caps_lock);
 553-    }
 554-    return res;
 555-}
 556diff --git a/keyboards/noxary/220/220.c b/keyboards/noxary/220/220.c
 557deleted file mode 100644
 558index c5affa4344de79000130364d927564724b89a162..0000000000000000000000000000000000000000
 559--- a/keyboards/noxary/220/220.c
 560+++ /dev/null
 561@@ -1,34 +0,0 @@
 562-/* Copyright 2020 Rozakiin
 563- *
 564- * This program is free software: you can redistribute it and/or modify
 565- * it under the terms of the GNU General Public License as published by
 566- * the Free Software Foundation, either version 2 of the License, or
 567- * (at your option) any later version.
 568- *
 569- * This program is distributed in the hope that it will be useful,
 570- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 571- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 572- * GNU General Public License for more details.
 573- *
 574- * You should have received a copy of the GNU General Public License
 575- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 576- */
 577-#include "quantum.h"
 578-
 579-// Optional override functions below.
 580-// You can leave any or all of these undefined.
 581-// These are only required if you want to perform custom actions.
 582-
 583-void matrix_init_kb(void) {
 584-  // put your keyboard start-up code here
 585-  // runs once when the firmware starts up
 586-  gpio_set_pin_output(C6);
 587-  matrix_init_user();
 588-}
 589-
 590-bool led_update_kb(led_t led_state) {
 591-    if(led_update_user(led_state)) {
 592-        gpio_write_pin(C6, led_state.num_lock);
 593-    }
 594-    return true;
 595-}
 596diff --git a/keyboards/noxary/220/keyboard.json b/keyboards/noxary/220/keyboard.json
 597index 75d71aac8a3798f2911f0a48061139977185a20e..356531699982a0f81ad834c3fdab5edfcc134429 100644
 598--- a/keyboards/noxary/220/keyboard.json
 599+++ b/keyboards/noxary/220/keyboard.json
 600@@ -32,6 +32,9 @@
 601         "pin": "B7",
 602         "breathing": true
 603     },
 604+    "indicators": {
 605+        "num_lock": "C6"
 606+    },
 607     "processor": "atmega32u2",
 608     "bootloader": "atmel-dfu",
 609     "community_layouts": ["ortho_6x4"],
 610diff --git a/keyboards/noxary/268_2/268_2.c b/keyboards/noxary/268_2/268_2.c
 611deleted file mode 100644
 612index 56b42d2343db10c529f0e68fb377b0740b99c487..0000000000000000000000000000000000000000
 613--- a/keyboards/noxary/268_2/268_2.c
 614+++ /dev/null
 615@@ -1,30 +0,0 @@
 616-/* Copyright 2018 Rozakiin
 617- *
 618- * This program is free software: you can redistribute it and/or modify
 619- * it under the terms of the GNU General Public License as published by
 620- * the Free Software Foundation, either version 2 of the License, or
 621- * (at your option) any later version.
 622- *
 623- * This program is distributed in the hope that it will be useful,
 624- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 625- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 626- * GNU General Public License for more details.
 627- *
 628- * You should have received a copy of the GNU General Public License
 629- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 630- */
 631-#include "quantum.h"
 632-
 633-void matrix_init_kb(void) {
 634-  // put your keyboard start-up code here
 635-  // runs once when the firmware starts up
 636-  gpio_set_pin_output(B0);
 637-  matrix_init_user();
 638-}
 639-
 640-bool led_update_kb(led_t led_state) {
 641-    if(led_update_user(led_state)) {
 642-        gpio_write_pin(B0, led_state.caps_lock);
 643-    }
 644-    return true;
 645-}
 646diff --git a/keyboards/noxary/268_2/keyboard.json b/keyboards/noxary/268_2/keyboard.json
 647index c724d07a4937668cde4fa44701e6043c8067273e..08daee6d63945aaeed69219a4adaca31e68c2509 100644
 648--- a/keyboards/noxary/268_2/keyboard.json
 649+++ b/keyboards/noxary/268_2/keyboard.json
 650@@ -31,6 +31,9 @@
 651   "backlight": {
 652     "pin": "B7"
 653   },
 654+  "indicators": {
 655+    "caps_lock": "B0"
 656+  },
 657   "processor": "atmega32u4",
 658   "bootloader": "atmel-dfu",
 659   "community_layouts": ["65_ansi_blocker"],
 660diff --git a/keyboards/noxary/280/280.c b/keyboards/noxary/280/280.c
 661deleted file mode 100644
 662index 0f29df178f4943680e289de6d8235926123a28f0..0000000000000000000000000000000000000000
 663--- a/keyboards/noxary/280/280.c
 664+++ /dev/null
 665@@ -1,37 +0,0 @@
 666-/* Copyright 2019 %YOUR_NAME%
 667- *
 668- * This program is free software: you can redistribute it and/or modify
 669- * it under the terms of the GNU General Public License as published by
 670- * the Free Software Foundation, either version 2 of the License, or
 671- * (at your option) any later version.
 672- *
 673- * This program is distributed in the hope that it will be useful,
 674- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 675- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 676- * GNU General Public License for more details.
 677- *
 678- * You should have received a copy of the GNU General Public License
 679- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 680- */
 681-#include "quantum.h"
 682-
 683-// Optional override functions below.
 684-// You can leave any or all of these undefined.
 685-// These are only required if you want to perform custom actions.
 686-
 687-
 688-void matrix_init_kb(void) {
 689-	// put your keyboard start-up code here
 690-	// runs once when the firmware starts up
 691-  gpio_set_pin_output(D5);
 692-  gpio_set_pin_output(D0);
 693-	matrix_init_user();
 694-}
 695-
 696-bool led_update_kb(led_t led_state) {
 697-    if(led_update_user(led_state)) {
 698-        gpio_write_pin(D5, led_state.caps_lock);
 699-        gpio_write_pin(D0, led_state.scroll_lock);
 700-    }
 701-    return true;
 702-}
 703diff --git a/keyboards/noxary/280/keyboard.json b/keyboards/noxary/280/keyboard.json
 704index 17acb96cdf448400756bdfe95a50512f9fb5e0f0..4bd9257152f5d489cf07a8f369beb01ba20c72e4 100644
 705--- a/keyboards/noxary/280/keyboard.json
 706+++ b/keyboards/noxary/280/keyboard.json
 707@@ -32,6 +32,10 @@
 708         "pin": "B7",
 709         "breathing": true
 710     },
 711+    "indicators": {
 712+        "caps_lock": "D5",
 713+        "scroll_lock": "D0"
 714+    },
 715     "processor": "atmega32u4",
 716     "bootloader": "atmel-dfu",
 717     "layouts": {
 718diff --git a/keyboards/ortho5by12/keyboard.json b/keyboards/ortho5by12/keyboard.json
 719index 49ce494417509b87d0a123f8be4bf8c011ed24d4..5bcd1e00fcdcc0e5c54ee4775d415fb4c64ce477 100644
 720--- a/keyboards/ortho5by12/keyboard.json
 721+++ b/keyboards/ortho5by12/keyboard.json
 722@@ -22,6 +22,10 @@
 723       "resync": true
 724     }
 725   },
 726+  "indicators": {
 727+    "caps_lock": "C5",
 728+    "num_lock": "C4"
 729+  },
 730   "matrix_pins": {
 731     "cols": ["C2", "D0", "D1", "D4", "C3", "C1"],
 732     "rows": ["B5", "B1", "B2", "B3", "B4", "C0", "D5", "D6", "D7", "B0"]
 733diff --git a/keyboards/ortho5by12/ortho5by12.c b/keyboards/ortho5by12/ortho5by12.c
 734deleted file mode 100644
 735index d0d9ce9102dd389a924d661e77e7a14aac2a3a1f..0000000000000000000000000000000000000000
 736--- a/keyboards/ortho5by12/ortho5by12.c
 737+++ /dev/null
 738@@ -1,30 +0,0 @@
 739-/* Copyright 2019 Takuya Urakawa (dm9records.com)
 740- *
 741- * This program is free software: you can redistribute it and/or modify
 742- * it under the terms of the GNU General Public License as published by
 743- * the Free Software Foundation, either version 2 of the License, or
 744- * (at your option) any later version.
 745- *
 746- * This program is distributed in the hope that it will be useful,
 747- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 748- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 749- * GNU General Public License for more details.
 750- *
 751- * You should have received a copy of the GNU General Public License
 752- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 753- */
 754-#include "quantum.h"
 755-
 756-void matrix_init_kb(void) {
 757-    gpio_set_pin_output(C4);
 758-    gpio_set_pin_output(C5);
 759-}
 760-
 761-bool led_update_kb(led_t led_state) {
 762-    bool res = led_update_user(led_state);
 763-    if(res) {
 764-        gpio_write_pin(C4, led_state.num_lock);
 765-        gpio_write_pin(C5, led_state.caps_lock);
 766-    }
 767-    return res;
 768-}
 769diff --git a/keyboards/percent/canoe_gen2/canoe_gen2.c b/keyboards/percent/canoe_gen2/canoe_gen2.c
 770index ea091c347440af145ee3e5dcf3fd5cf88170ad89..435083a269de71695de87820ea147ac5e29e4bc3 100644
 771--- a/keyboards/percent/canoe_gen2/canoe_gen2.c
 772+++ b/keyboards/percent/canoe_gen2/canoe_gen2.c
 773@@ -17,21 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 774 
 775 #include "quantum.h"
 776 
 777-void keyboard_pre_init_kb(void) {
 778-  gpio_set_pin_output(E6);
 779-  gpio_write_pin_high(E6);
 780-  
 781-  keyboard_pre_init_user();
 782-}
 783-
 784-bool led_update_kb(led_t led_state) {
 785-    if(led_update_user(led_state)) {
 786-        gpio_write_pin(E6, !led_state.caps_lock);
 787-    }
 788-
 789-    return true;
 790-}
 791-
 792 #ifdef RGB_MATRIX_ENABLE
 793 void suspend_power_down_kb(void) {
 794     rgb_matrix_set_suspend_state(true);
 795diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json
 796index 0b6ece2613cf799f2dc66636374551a2c7526a65..85fbfd28b9dd606ae2be5e1fc54605102c25d04f 100644
 797--- a/keyboards/percent/canoe_gen2/keyboard.json
 798+++ b/keyboards/percent/canoe_gen2/keyboard.json
 799@@ -22,6 +22,10 @@
 800             "resync": true
 801         }
 802     },
 803+    "indicators": {
 804+        "caps_lock": "E6",
 805+        "on_state": 0
 806+    },
 807     "ws2812": {
 808         "pin": "B7"
 809     },
 810diff --git a/keyboards/pom_keyboards/tnln95/keyboard.json b/keyboards/pom_keyboards/tnln95/keyboard.json
 811index c92ac5b38f146f2a2750bfb518d0c10d1a52fcf3..09b3f71f7c05893d4bc7377b3dd6deff89301646 100644
 812--- a/keyboards/pom_keyboards/tnln95/keyboard.json
 813+++ b/keyboards/pom_keyboards/tnln95/keyboard.json
 814@@ -37,6 +37,10 @@
 815         "levels": 10,
 816         "breathing": true
 817     },
 818+    "indicators": {
 819+        "caps_lock": "B2",
 820+        "num_lock": "B1"
 821+    },
 822     "rgblight": {
 823         "saturation_steps": 8,
 824         "brightness_steps": 8,
 825diff --git a/keyboards/pom_keyboards/tnln95/tnln95.c b/keyboards/pom_keyboards/tnln95/tnln95.c
 826deleted file mode 100644
 827index b8ab8ff7a7e12fd0207f820981fc87ca4a2db58e..0000000000000000000000000000000000000000
 828--- a/keyboards/pom_keyboards/tnln95/tnln95.c
 829+++ /dev/null
 830@@ -1,35 +0,0 @@
 831-/* Copyright 2020 Nguyen Minh Hoang
 832- *
 833- * This program is free software: you can redistribute it and/or modify
 834- * it under the terms of the GNU General Public License as published by
 835- * the Free Software Foundation, either version 2 of the License, or
 836- * (at your option) any later version.
 837- *
 838- * This program is distributed in the hope that it will be useful,
 839- * but WITHOUT ANY WARRANTY; without even the implied warranty of
 840- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 841- * GNU General Public License for more details.
 842- *
 843- * You should have received a copy of the GNU General Public License
 844- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 845- */
 846-#include "quantum.h"
 847-
 848-void keyboard_pre_init_kb(void) {
 849-    gpio_set_pin_output(B1);
 850-    gpio_set_pin_output(B2);
 851-    /* I will add function to these later */
 852-    // gpio_set_pin_output(B3);
 853-    // gpio_set_pin_output(E2);
 854-
 855-    keyboard_pre_init_user();
 856-}
 857-
 858-bool led_update_kb(led_t led_state) {
 859-    bool res = led_update_user(led_state);
 860-    if(res) {
 861-        gpio_write_pin(B1, led_state.num_lock);
 862-        gpio_write_pin(B2, led_state.caps_lock);
 863-    }
 864-    return res;
 865-}
 866diff --git a/keyboards/projectkb/alice/alice.c b/keyboards/projectkb/alice/alice.c
 867deleted file mode 100644
 868index 8ec5f16736f249f45b32175640a094fe1521a306..0000000000000000000000000000000000000000
 869--- a/keyboards/projectkb/alice/alice.c
 870+++ /dev/null
 871@@ -1,20 +0,0 @@
 872-#include "quantum.h"
 873-
 874-void keyboard_pre_init_kb(void) {
 875-    gpio_set_pin_output(INDICATOR_PIN_0);
 876-    gpio_set_pin_output(INDICATOR_PIN_1);
 877-    gpio_set_pin_output(INDICATOR_PIN_2);
 878-
 879-    keyboard_pre_init_user();
 880-}
 881-
 882-
 883-bool led_update_kb(led_t led_state) {
 884-    bool runDefault = led_update_user(led_state);
 885-    if (runDefault) {
 886-      gpio_write_pin(INDICATOR_PIN_0, !led_state.num_lock);
 887-      gpio_write_pin(INDICATOR_PIN_1, !led_state.caps_lock);
 888-      gpio_write_pin(INDICATOR_PIN_2, !led_state.scroll_lock);
 889-    }
 890-    return runDefault;
 891-}
 892diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h
 893index 66d3b75731ba1f4761ef48452e074ce4292abc60..b8c68bc65d4f8ac0dd885cc3cfd10f607476f329 100644
 894--- a/keyboards/projectkb/alice/rev1/config.h
 895+++ b/keyboards/projectkb/alice/rev1/config.h
 896@@ -26,10 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 897 #define WS2812_SPI_SCK_PAL_MODE 0
 898 #define WS2812_SPI_SCK_PIN B13
 899 
 900-#define INDICATOR_PIN_0 A0
 901-#define INDICATOR_PIN_1 A1
 902-#define INDICATOR_PIN_2 A2
 903-
 904 /*
 905  * Feature disable options
 906  *  These options are also useful to firmware size reduction.
 907diff --git a/keyboards/projectkb/alice/rev1/keyboard.json b/keyboards/projectkb/alice/rev1/keyboard.json
 908index 7e957d7ff41fb743f0c8890bcb2742bf63bbf383..01eee1300be6e59c675d88aae76223f91b0ec38b 100644
 909--- a/keyboards/projectkb/alice/rev1/keyboard.json
 910+++ b/keyboards/projectkb/alice/rev1/keyboard.json
 911@@ -15,6 +15,11 @@
 912             "resync": true
 913         }
 914     },
 915+    "indicators": {
 916+        "caps_lock": "A1",
 917+        "num_lock": "A0",
 918+        "scroll_lock": "A2"
 919+    },
 920     "rgblight": {
 921         "led_count": 14,
 922         "animations": {
 923diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h
 924index 3e786c180567eb03d925a71efd6eca7da1e31490..b8c68bc65d4f8ac0dd885cc3cfd10f607476f329 100644
 925--- a/keyboards/projectkb/alice/rev2/config.h
 926+++ b/keyboards/projectkb/alice/rev2/config.h
 927@@ -26,10 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 928 #define WS2812_SPI_SCK_PAL_MODE 0
 929 #define WS2812_SPI_SCK_PIN B13
 930 
 931-#define INDICATOR_PIN_0 A9
 932-#define INDICATOR_PIN_1 A8
 933-#define INDICATOR_PIN_2 B12
 934-
 935 /*
 936  * Feature disable options
 937  *  These options are also useful to firmware size reduction.
 938diff --git a/keyboards/projectkb/alice/rev2/keyboard.json b/keyboards/projectkb/alice/rev2/keyboard.json
 939index 639fc268779c33210363420a1cbd9606e6d1f2b2..0e34b7104f92cb194b5deb45780def24bda143bd 100644
 940--- a/keyboards/projectkb/alice/rev2/keyboard.json
 941+++ b/keyboards/projectkb/alice/rev2/keyboard.json
 942@@ -15,6 +15,11 @@
 943             "resync": true
 944         }
 945     },
 946+    "indicators": {
 947+        "caps_lock": "A8",
 948+        "num_lock": "A9",
 949+        "scroll_lock": "B12"
 950+    },
 951     "rgblight": {
 952         "led_count": 14,
 953         "animations": {
 954diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json
 955index cb94b5861561dbfca0dd1e6cce8fd899948417ab..555376b533b491867e1d4f0bddec7d778cfafc41 100644
 956--- a/keyboards/rubi/keyboard.json
 957+++ b/keyboards/rubi/keyboard.json
 958@@ -22,6 +22,9 @@
 959             "resync": true
 960         }
 961     },
 962+   "indicators": {
 963+      "caps_lock": "C6"
 964+   },
 965    "matrix_pins": {
 966       "cols": ["B3", "B2", "B1", "F7"],
 967       "rows": ["F0", "F1", "F4", "F5", "F6"]
 968diff --git a/keyboards/rubi/rubi.c b/keyboards/rubi/rubi.c
 969index 89bf9caa6d4c4f072dc5a460e81c3a2e8cd17835..4f0536397f0b697027beb0abb9846f27a2020a75 100644
 970--- a/keyboards/rubi/rubi.c
 971+++ b/keyboards/rubi/rubi.c
 972@@ -63,12 +63,3 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 973 
 974     return process_record_user_oled(keycode, record);
 975 }
 976-
 977-
 978-bool led_update_kb(led_t led_state) {
 979-    bool res = led_update_user(led_state);
 980-    if (res) {
 981-        gpio_write_pin(C6, led_state.num_lock);
 982-    }
 983-    return true;
 984-}
 985diff --git a/keyboards/team0110/p1800fl/keyboard.json b/keyboards/team0110/p1800fl/keyboard.json
 986index a56864cd36af29c9ec011353bd3a3c3981774431..681482db5bc15ec7fd1b8688cf5e2f85da58e585 100644
 987--- a/keyboards/team0110/p1800fl/keyboard.json
 988+++ b/keyboards/team0110/p1800fl/keyboard.json
 989@@ -34,6 +34,11 @@
 990         "levels": 5,
 991         "breathing": true
 992     },
 993+    "indicators": {
 994+        "caps_lock": "D5",
 995+        "num_lock": "D3",
 996+        "scroll_lock": "C6"
 997+    },
 998     "rgblight": {
 999         "saturation_steps": 8,
1000         "brightness_steps": 8,
1001diff --git a/keyboards/team0110/p1800fl/p1800fl.c b/keyboards/team0110/p1800fl/p1800fl.c
1002deleted file mode 100644
1003index 9f47b8a5c4467912cabfebdf23991a58b98281c2..0000000000000000000000000000000000000000
1004--- a/keyboards/team0110/p1800fl/p1800fl.c
1005+++ /dev/null
1006@@ -1,28 +0,0 @@
1007-/* Copyright 2020 marhalloweenvt
1008- *
1009- * This program is free software: you can redistribute it and/or modify
1010- * it under the terms of the GNU General Public License as published by
1011- * the Free Software Foundation, either version 2 of the License, or
1012- * (at your option) any later version.
1013- *
1014- * This program is distributed in the hope that it will be useful,
1015- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1016- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1017- * GNU General Public License for more details.
1018- *
1019- * You should have received a copy of the GNU General Public License
1020- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
1021- */
1022-
1023-#include "quantum.h"
1024-
1025-bool led_update_kb(led_t led_state) {
1026-    bool res = led_update_user(led_state);
1027-    if(res) {
1028-        gpio_write_pin(D3, led_state.num_lock);
1029-        gpio_write_pin(D5, led_state.caps_lock);
1030-        gpio_write_pin(C6, led_state.scroll_lock);
1031-    }
1032-    return res;
1033-}
1034-
1035diff --git a/keyboards/tkc/osav2/keyboard.json b/keyboards/tkc/osav2/keyboard.json
1036index 118eedfc8503be79169bc26a0d3184b0beea484d..ef4c7897978af55e0d530bc5d0678762758ee3fe 100644
1037--- a/keyboards/tkc/osav2/keyboard.json
1038+++ b/keyboards/tkc/osav2/keyboard.json
1039@@ -50,6 +50,11 @@
1040         "pin": "D6",
1041         "breathing": true
1042     },
1043+    "indicators": {
1044+        "caps_lock": "C6",
1045+        "num_lock": "C7",
1046+        "scroll_lock": "B6"
1047+    },
1048     "processor": "atmega32u4",
1049     "bootloader": "atmel-dfu",
1050     "community_layouts": ["alice", "alice_split_bs"],
1051diff --git a/keyboards/tkc/osav2/osav2.c b/keyboards/tkc/osav2/osav2.c
1052deleted file mode 100644
1053index 99660464865c85e72a75bddb66ad63ec21b6239b..0000000000000000000000000000000000000000
1054--- a/keyboards/tkc/osav2/osav2.c
1055+++ /dev/null
1056@@ -1,33 +0,0 @@
1057-/* Copyright 2019 jrfhoutx
1058- *
1059- * This program is free software: you can redistribute it and/or modify
1060- * it under the terms of the GNU General Public License as published by
1061- * the Free Software Foundation, either version 2 of the License, or
1062- * (at your option) any later version.
1063- *
1064- * This program is distributed in the hope that it will be useful,
1065- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1066- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1067- * GNU General Public License for more details.
1068- *
1069- * You should have received a copy of the GNU General Public License
1070- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
1071- */
1072-#include "quantum.h"
1073-
1074-void keyboard_pre_init_kb(void) {
1075-    gpio_set_pin_output(C7);
1076-    gpio_set_pin_output(C6);
1077-    gpio_set_pin_output(B6);
1078-
1079-    keyboard_pre_init_user();
1080-}
1081-
1082-bool led_update_kb(led_t led_state) {
1083-    if (led_update_user(led_state)) {
1084-        gpio_write_pin(C7, led_state.num_lock);
1085-        gpio_write_pin(C6, led_state.caps_lock);
1086-        gpio_write_pin(B6, led_state.scroll_lock);
1087-    }
1088-    return true;
1089-}
1090diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json
1091index 60c01bdcfc6c7773f33728e6d316173d5b114a3b..dc71e3ad7aabab6ee91f1ef05f11a2b3e3df2f72 100644
1092--- a/keyboards/tr60w/keyboard.json
1093+++ b/keyboards/tr60w/keyboard.json
1094@@ -32,6 +32,12 @@
1095     "backlight": {
1096         "pin": "B7"
1097     },
1098+    "indicators": {
1099+        "caps_lock": "B2",
1100+        "num_lock": "B1",
1101+        "scroll_lock": "B3",
1102+        "on_state": 0
1103+    },
1104     "rgblight": {
1105         "saturation_steps": 8,
1106         "brightness_steps": 8,
1107diff --git a/keyboards/tr60w/tr60w.c b/keyboards/tr60w/tr60w.c
1108deleted file mode 100644
1109index ebf48cb1c7b1923a31304928998b73f3affdb997..0000000000000000000000000000000000000000
1110--- a/keyboards/tr60w/tr60w.c
1111+++ /dev/null
1112@@ -1,11 +0,0 @@
1113-#include "quantum.h"
1114-
1115-bool led_update_kb(led_t led_state) {
1116-    bool runDefault = led_update_user(led_state);
1117-    if (runDefault) {
1118-      gpio_write_pin(B1, !led_state.num_lock);
1119-      gpio_write_pin(B2, !led_state.caps_lock);
1120-      gpio_write_pin(B3, !led_state.scroll_lock);
1121-    }
1122-    return runDefault;
1123-}
1124diff --git a/keyboards/wolfmarkclub/wm1/keyboard.json b/keyboards/wolfmarkclub/wm1/keyboard.json
1125index 56c062e102402e265dddfbc374d7b62123bd6be5..0cea5546c8a04b992a8326e050fe58dc8942e7d1 100644
1126--- a/keyboards/wolfmarkclub/wm1/keyboard.json
1127+++ b/keyboards/wolfmarkclub/wm1/keyboard.json
1128@@ -27,6 +27,11 @@
1129             "resync": true
1130         }
1131     },
1132+    "indicators": {
1133+        "caps_lock": "B1",
1134+        "num_lock": "B0",
1135+        "scroll_lock": "C5"
1136+    },
1137     "rgblight": {
1138         "saturation_steps": 8,
1139         "brightness_steps": 8,
1140diff --git a/keyboards/wolfmarkclub/wm1/wm1.c b/keyboards/wolfmarkclub/wm1/wm1.c
1141index 9c4fb090c88203bde63fad1bd25ee6fbb155a27a..83c4c8bb45890edca4071da34f6fe6f40dd9f041 100644
1142--- a/keyboards/wolfmarkclub/wm1/wm1.c
1143+++ b/keyboards/wolfmarkclub/wm1/wm1.c
1144@@ -4,19 +4,3 @@ void bootloader_jump(void) {
1145     // This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
1146     NVIC_SystemReset();
1147 }
1148-
1149-void matrix_init_kb(void) {
1150-  gpio_set_pin_output(B1); // Top Indicator LED
1151-  gpio_set_pin_output(B0); // Middle Indicator LED
1152-  gpio_set_pin_output(C5); // Bottom Indicator LED
1153-  matrix_init_user();
1154-}
1155-
1156-bool led_update_kb(led_t led_state) {
1157-    if(led_update_user(led_state)) {
1158-        gpio_write_pin(B1, led_state.caps_lock);
1159-        gpio_write_pin(B0, led_state.num_lock);
1160-        gpio_write_pin(C5, led_state.scroll_lock);
1161-    }
1162-    return true;
1163-}
1164diff --git a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c b/keyboards/wsk/g4m3ralpha/g4m3ralpha.c
1165deleted file mode 100644
1166index 3c039a173fee173a25d616c4bba17fc4c52007a8..0000000000000000000000000000000000000000
1167--- a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c
1168+++ /dev/null
1169@@ -1,39 +0,0 @@
1170-/* Copyright 2020 Worldspawn <mcmancuso@gmail.com>
1171- *
1172- * This program is free software: you can redistribute it and/or modify
1173- * it under the terms of the GNU General Public License as published by
1174- * the Free Software Foundation, either version 2 of the License, or
1175- * (at your option) any later version.
1176- *
1177- * This program is distributed in the hope that it will be useful,
1178- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1179- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1180- * GNU General Public License for more details.
1181- *
1182- * You should have received a copy of the GNU General Public License
1183- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
1184- */
1185-
1186-#include "quantum.h"
1187-
1188-
1189-void matrix_init_kb(void) {
1190-    gpio_set_pin_output(D3);
1191-    gpio_write_pin_low(D3);
1192-    gpio_set_pin_output(D2);
1193-    gpio_write_pin_low(D2);
1194-    gpio_set_pin_output(D0);
1195-    gpio_write_pin_low(D0);
1196-
1197-    matrix_init_user();
1198-};
1199-
1200-bool led_update_kb(led_t led_state) {
1201-    bool res = led_update_user(led_state);
1202-    if(res) {
1203-        gpio_write_pin(D3, led_state.num_lock);
1204-        gpio_write_pin(D0, led_state.caps_lock);
1205-        gpio_write_pin(D2, led_state.scroll_lock);
1206-    }
1207-    return res;
1208-}