Diff
1diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c
2index d5675e1047cd556cf0974e90f43ea9c6b54b2120..867d8c020241271fe39cb2fa6f8dfa07dd8ffc95 100644
3--- a/keyboards/40percentclub/ut47/ut47.c
4+++ b/keyboards/40percentclub/ut47/ut47.c
5@@ -19,6 +19,8 @@
6
7 void matrix_init_kb(void) {
8 uart_init(9600);
9+
10+ matrix_init_user();
11 }
12 #endif
13
14diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c
15index 8fe47eff8219081667a3555729eed04a41cf9c49..4dea24b93d6821a73b484282be2eec6af24b71f9 100644
16--- a/keyboards/acheron/athena/alpha/alpha.c
17+++ b/keyboards/acheron/athena/alpha/alpha.c
18@@ -24,6 +24,8 @@ void board_init(void) {
19 void keyboard_post_init_kb(void){
20 // Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin
21 palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
22+
23+ keyboard_post_init_user();
24 }
25
26 void led_init_ports(void) {
27diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c
28index 98b60bae61473e5a37cfeeb9cfe4aca245c4d077..839151521a2119772f4fca5af168af5d43462310 100755
29--- a/keyboards/acheron/elongate/delta/delta.c
30+++ b/keyboards/acheron/elongate/delta/delta.c
31@@ -74,4 +74,6 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
32 // Since the keyboard starts at layer 0, the init function starts LED4 as lit up.
33 void keyboard_post_init_kb(void){
34 gpio_write_pin(LED4_PIN, 0);
35+
36+ keyboard_post_init_user();
37 }
38diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c
39index 2a3f1304c7ee1f50e7a83955d8fc62b9843d510b..e575a7544cb5b299aa71e66d306a7ff485e2f96b 100644
40--- a/keyboards/clueboard/2x1800/2021/2021.c
41+++ b/keyboards/clueboard/2x1800/2021/2021.c
42@@ -90,6 +90,8 @@ void matrix_init_kb(void) {
43 #elif defined(DRAWING_TOY_MODE)
44 max7219_set_led(0, 0, true);
45 #endif
46+
47+ matrix_init_user();
48 }
49
50 __attribute__ ((weak))
51diff --git a/keyboards/converter/xmk/xmk.c b/keyboards/converter/xmk/xmk.c
52index e0df96fc2d2aa05ecc3e546c744a84a5cc88cccc..8a24e5f9648d47278f1a5b9e60161df0ef1154b5 100644
53--- a/keyboards/converter/xmk/xmk.c
54+++ b/keyboards/converter/xmk/xmk.c
55@@ -10,5 +10,7 @@ void keyboard_post_init_kb(void) {
56 debug_enable=true;
57 debug_matrix=true;
58 debug_keyboard=true;
59+
60+ keyboard_post_init_user();
61 }
62 #endif
63diff --git a/keyboards/durgod/k310/k310.c b/keyboards/durgod/k310/k310.c
64index 7879b13f4ea7c4f8a7bd736488326705ce5aa957..c176587ef274dcd3969f221217d18029d6541122 100644
65--- a/keyboards/durgod/k310/k310.c
66+++ b/keyboards/durgod/k310/k310.c
67@@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) {
68 bootloader_jump();
69 }
70 #endif
71+
72+ keyboard_pre_init_user();
73 }
74diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c
75index 0a544fe31892b112e110cb706e0c0a32adce3646..50b87d7241b635a33c2f8994e2ce320799343989 100644
76--- a/keyboards/durgod/k320/k320.c
77+++ b/keyboards/durgod/k320/k320.c
78@@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) {
79 bootloader_jump();
80 }
81 #endif
82+
83+ keyboard_pre_init_user();
84 }
85diff --git a/keyboards/evyd13/gud70/gud70.c b/keyboards/evyd13/gud70/gud70.c
86index 5c400455211c31a9677d15cdcb3953b48ebfeb09..118c68e5667603cdb1e150f55ecc217c9bbfb52d 100644
87--- a/keyboards/evyd13/gud70/gud70.c
88+++ b/keyboards/evyd13/gud70/gud70.c
89@@ -19,4 +19,6 @@ void keyboard_pre_init_kb(void) {
90 // Enable top LED
91 gpio_set_pin_output(B3);
92 gpio_write_pin_low(B3);
93+
94+ keyboard_pre_init_user();
95 }
96diff --git a/keyboards/handwired/aek64/aek64.c b/keyboards/handwired/aek64/aek64.c
97index 130d014616c7bd3c399b3fe129036f390a8255e2..21589b6910b7a45beaabcc3b8c11a7cde5e8285d 100644
98--- a/keyboards/handwired/aek64/aek64.c
99+++ b/keyboards/handwired/aek64/aek64.c
100@@ -16,21 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
101 */
102 #include "quantum.h"
103
104-/*
105- * Hardware function pre initialisation.
106- * See https://docs.qmk.fm/#/custom_quantum_functions?id=example-keyboard_pre_init_user-implementation
107- */
108-void keyboard_pre_init_user(void) {
109- // Call the keyboard pre init code.
110-
111+void keyboard_pre_init_kb(void) {
112 // Set our LED pins as output
113 gpio_set_pin_output(C3);
114+
115+ keyboard_pre_init_user();
116 }
117
118 void matrix_init_kb(void) {
119-
120 // Flash the led 1 sec on startup.
121 gpio_write_pin_high(C3);
122 wait_ms(1000);
123 gpio_write_pin_low(C3);
124+
125+ matrix_init_user();
126 }
127diff --git a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
128index 7b5e65a9907ae8138a57e92b137bebde45ed1d97..6bfcb17fd43b1915d5cbd9026ac88aad2bbce517 100644
129--- a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
130+++ b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
131@@ -19,4 +19,6 @@
132 /* joystick button code (thumbstick pressed) */
133 void keyboard_pre_init_kb(void) {
134 gpio_set_pin_input_high(F6);
135+
136+ keyboard_pre_init_user();
137 }
138diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c
139index 7112ab63a577d4377bf5821c73217fe48aa63896..11407d120622b5fab3821c9ad298a845e83034ed 100644
140--- a/keyboards/ibm/model_m/mschwingen/mschwingen.c
141+++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c
142@@ -114,6 +114,8 @@ void keyboard_pre_init_kb(void) {
143 gpio_set_pin_output(SR_CLK_PIN);
144 gpio_set_pin_output(SR_DOUT_PIN); // MOSI - unused
145 gpio_write_pin_low(SR_CLK_PIN);
146+
147+ keyboard_pre_init_user();
148 }
149
150 #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
151diff --git a/keyboards/idb/idb_60/idb_60.c b/keyboards/idb/idb_60/idb_60.c
152index 77485a427341401d66f87585273321df6bd2a803..183892f3632ef7e12fb992699b6057a65f9d8a9f 100644
153--- a/keyboards/idb/idb_60/idb_60.c
154+++ b/keyboards/idb/idb_60/idb_60.c
155@@ -3,6 +3,8 @@
156 void keyboard_pre_init_kb(void) {
157 gpio_set_pin_output(C4);
158 gpio_set_pin_output(C5);
159+
160+ keyboard_pre_init_user();
161 }
162
163 inline void _idb_60_caps_led_on(void) {
164diff --git a/keyboards/kbdfans/phaseone/phaseone.c b/keyboards/kbdfans/phaseone/phaseone.c
165index a44e501109016546e656a9d6246666df51164c5e..97cc7d2d2ac15cb4ba6c048c286d6f38b8cb1eca 100644
166--- a/keyboards/kbdfans/phaseone/phaseone.c
167+++ b/keyboards/kbdfans/phaseone/phaseone.c
168@@ -18,4 +18,6 @@
169
170 void keyboard_pre_init_kb(void) {
171 gpio_set_pin_output(D4);
172+
173+ keyboard_pre_init_user();
174 }
175diff --git a/keyboards/matrix/falcon/falcon.c b/keyboards/matrix/falcon/falcon.c
176index 74677ab0d1f0249366e334aee6bb3d6be4901b09..bfc878a79c74e29981a3eefd9384557ae32eb7d8 100644
177--- a/keyboards/matrix/falcon/falcon.c
178+++ b/keyboards/matrix/falcon/falcon.c
179@@ -25,4 +25,5 @@ void matrix_init_kb(void)
180 gpio_set_pin_output(LED_POWER_PIN);
181 gpio_write_pin_high(LED_POWER_PIN);
182
183+ matrix_init_user();
184 }
185diff --git a/keyboards/mechlovin/zed1800/zed1800.c b/keyboards/mechlovin/zed1800/zed1800.c
186index e86b4d5a5a891c2da28ff4c31db9b7f8846ad221..a7b526b7a6f5276f32f679b7cc06e4ebebe52555 100644
187--- a/keyboards/mechlovin/zed1800/zed1800.c
188+++ b/keyboards/mechlovin/zed1800/zed1800.c
189@@ -27,9 +27,13 @@ RGBLIGHT_LAYERS_LIST(
190 my_numlock_layer,
191 my_scroll_layer
192 );
193+
194 void keyboard_post_init_kb(void) {
195 rgblight_layers = my_rgb_layers;
196+
197+ keyboard_post_init_user();
198 }
199+
200 // Activate rgb layer for caps when capslock is enabled
201 bool led_update_kb(led_t led_state) {
202 rgblight_set_layer_state(0, led_state.caps_lock);
203diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c
204index 04a9f0ca96f08d1547f15854b867e03aefdfbf38..1752ddc3b3a22dc3051d9c36e93464637b0cb586 100644
205--- a/keyboards/monsgeek/m3/m3.c
206+++ b/keyboards/monsgeek/m3/m3.c
207@@ -140,6 +140,8 @@ void matrix_init_kb(void) {
208 gpio_write_pin_low(LED_MAC_OS_PIN);
209 gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock
210 gpio_write_pin_low(LED_WIN_LOCK_PIN);
211+
212+ matrix_init_user();
213 }
214
215 void housekeeping_task_kb(void){
216diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
217index 7a5000d9baaf33fdc87cd7856a1e462ae5df580b..630305194eaf8aadb49a74cbfee021ce21b57642 100644
218--- a/keyboards/system76/launch_1/launch_1.c
219+++ b/keyboards/system76/launch_1/launch_1.c
220@@ -139,6 +139,8 @@ void matrix_init_kb(void) {
221 }
222
223 system76_ec_rgb_layer(layer_state);
224+
225+ matrix_init_user();
226 }
227
228 void matrix_scan_kb(void) {
229@@ -238,9 +240,11 @@ layer_state_t layer_state_set_kb(layer_state_t layer_state) {
230 }
231
232 #ifdef CONSOLE_ENABLE
233-void keyboard_post_init_user(void) {
234+void keyboard_post_init_kb(void) {
235 debug_enable = true;
236 debug_matrix = false;
237 debug_keyboard = false;
238+
239+ keyboard_post_init_user();
240 }
241 #endif // CONSOLE_ENABLE
242diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
243index f441285c9ad5088edfab0f4b6a7b5fe1c0b5c16f..488ace3f91db2b0fc7d6a383da3fa7e4b53ea30d 100644
244--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
245+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
246@@ -23,6 +23,8 @@ void keyboard_post_init_kb(void)
247 gpio_set_pin_output(C11); // middle led, always off on Spacesaver M
248 gpio_write_pin(C11, 0);
249 gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
250+
251+ keyboard_post_init_user();
252 }
253
254
255diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
256index bad0c76e433ae4178834a7a05ec28b6c581f22d0..9f5f592ff6b327284147c0f1c7b6288da72fde85 100644
257--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
258+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
259@@ -23,6 +23,8 @@ void keyboard_post_init_kb(void)
260 gpio_set_pin_output(C11); // middle led, always off on Spacesaver M
261 gpio_write_pin(C11, 0);
262 gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
263+
264+ keyboard_post_init_user();
265 }
266
267 layer_state_t layer_state_set_kb(layer_state_t state) {
268diff --git a/keyboards/wilba_tech/wt70_jb/wt70_jb.c b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
269index ad480ece2277f4342690eeb4810f0f1b9e769c0b..e4d0efc5e48ab6d5928187d3282bfbf1805e1fe4 100644
270--- a/keyboards/wilba_tech/wt70_jb/wt70_jb.c
271+++ b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
272@@ -42,6 +42,8 @@ void keyboard_post_init_kb(void) {
273 if ( g_first_execution ) {
274 rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
275 }
276+
277+ keyboard_post_init_user();
278 }
279
280 #endif // VIA_ENABLE
281diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c
282index b5a53273dfcf17159aaee6d94215741d246bed4a..66ba9fb6ee0cbb987ee518385d6d2ae81ad30af9 100644
283--- a/keyboards/yandrstudio/nz64/nz64.c
284+++ b/keyboards/yandrstudio/nz64/nz64.c
285@@ -84,10 +84,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
286 void eeconfig_init_kb(void) {
287 kb_cums.raw = 0;
288 eeconfig_update_kb(kb_cums.raw);
289+
290+ eeconfig_init_user();
291 }
292
293 void keyboard_post_init_kb(void) {
294 kb_cums.underground_rgb_sw = eeconfig_read_kb();
295+
296+ keyboard_post_init_user();
297 }
298
299 #endif
300diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c
301index 346556c25ed543912a4d7a9a8201e8e6fd799a34..c3162dd96118db8d6c4e9ce0cc71238de60664bc 100644
302--- a/keyboards/yandrstudio/nz67v2/nz67v2.c
303+++ b/keyboards/yandrstudio/nz67v2/nz67v2.c
304@@ -85,10 +85,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
305 void eeconfig_init_kb(void) {
306 kb_cums.raw = 0;
307 eeconfig_update_kb(kb_cums.raw);
308+
309+ eeconfig_init_user();
310 }
311
312 void keyboard_post_init_kb(void) {
313 kb_cums.underground_rgb_sw = eeconfig_read_kb();
314+
315+ keyboard_post_init_user();
316 }
317
318 #endif