Diff
1diff --git a/keyboards/aeboards/ext65/rev3/rev3.c b/keyboards/aeboards/ext65/rev3/rev3.c
2index f8fc2ef5023147f958d3221790a844e04a79f270..7b0f2018c2cad9a54283d26ceecea4a91034f296 100644
3--- a/keyboards/aeboards/ext65/rev3/rev3.c
4+++ b/keyboards/aeboards/ext65/rev3/rev3.c
5@@ -19,10 +19,12 @@
6 // Tested and verified working on EXT65 Rev3
7 void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
8
9-void keyboard_pre_init_user(void) {
10+void keyboard_pre_init_kb(void) {
11 // Call the keyboard pre init code.
12 // Set our LED pins as output
13 gpio_set_pin_output(LED_LAYERS_PIN);
14+
15+ keyboard_pre_init_user();
16 }
17
18 layer_state_t layer_state_set_kb(layer_state_t state) {
19diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c
20index e575a7544cb5b299aa71e66d306a7ff485e2f96b..5274f76e9c221aa5be1c84c70e0278268ef1fce7 100644
21--- a/keyboards/clueboard/2x1800/2021/2021.c
22+++ b/keyboards/clueboard/2x1800/2021/2021.c
23@@ -26,6 +26,8 @@ void matrix_scan_kb(void) {
24 max7219_message_sign_task(true);
25 led_frame_timer = timer_read();
26 }
27+
28+ matrix_scan_user();
29 }
30 #endif
31
32diff --git a/keyboards/enviousdesign/commissions/mini1800/mini1800.c b/keyboards/enviousdesign/commissions/mini1800/mini1800.c
33index 86757dab8af85e8241eb11d8d034c7b45463570d..4f4be779ca73db3e1a6b48e0801c1447d0c95c15 100644
34--- a/keyboards/enviousdesign/commissions/mini1800/mini1800.c
35+++ b/keyboards/enviousdesign/commissions/mini1800/mini1800.c
36@@ -1,23 +1,27 @@
37-/* SPDX-License-Identifier: GPL-2.0-or-later */
38+// SPDX-License-Identifier: GPL-2.0-or-later
39
40 #include "quantum.h"
41
42-void matrix_init_user(void) {
43+void matrix_init_kb(void) {
44 gpio_set_pin_output(GP9); //init gpio
45 gpio_write_pin_low(GP9);
46 gpio_set_pin_output(GP11); //init and turn off inverted power led
47 gpio_write_pin_high(GP11);
48+
49+ matrix_init_user();
50 }
51
52 //layer, capslock and numlock
53-layer_state_t layer_state_set_user(layer_state_t state) {
54+__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
55 gpio_write_pin(GP9, layer_state_cmp(state, 1));
56- return state;
57+ return state;
58 }
59
60-bool led_update_user(led_t led_state) {
61+bool led_update_kb(led_t led_state) {
62+ bool res = led_update_user(led_state);
63+ if(res) {
64 led_state.num_lock = !led_state.num_lock;
65 led_update_ports(led_state);
66- return false;
67+ }
68+ return res;
69 }
70-
71diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c
72index 19dd96a073dc17d5776411cdd94df2ff858136d6..9a7856306bb75e7cb5dd03dbb4b7211309bbe3fb 100644
73--- a/keyboards/exclusive/e6_rgb/e6_rgb.c
74+++ b/keyboards/exclusive/e6_rgb/e6_rgb.c
75@@ -168,6 +168,10 @@ led_config_t g_led_config = { {
76 #endif
77
78 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
79+ if (!process_record_user(keycode, record)) {
80+ return false;
81+ }
82+
83 if (record->event.pressed) {
84 switch(keycode) {
85 #if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
86diff --git a/keyboards/handwired/selene/selene.c b/keyboards/handwired/selene/selene.c
87index 3d0ef667cf19d36ac4fa61edab03d658e599d12f..49df43314b378af3af75cef9312d832b38b6bb7c 100644
88--- a/keyboards/handwired/selene/selene.c
89+++ b/keyboards/handwired/selene/selene.c
90@@ -17,6 +17,8 @@
91
92 #include "quantum.h"
93
94-void keyboard_post_init_user(void) {
95+void keyboard_post_init_kb(void) {
96 rgblight_setrgb(0xff, 0xff, 0xff);
97+
98+ keyboard_post_init_user();
99 }
100diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c
101index 079889e72747007ce8280fe5504272911d0b95f2..c04d7ef02cc535639013816b6ffb40480a915cbd 100644
102--- a/keyboards/inett_studio/sqx/hotswap/hotswap.c
103+++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c
104@@ -165,6 +165,10 @@ bool rgb_matrix_indicators_kb(void) {
105 #endif //RGB_MATRIX_ENABLE
106
107 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
108+ if (!process_record_user(keycode, record)) {
109+ return false;
110+ }
111+
112 if (record->event.pressed) {
113 switch(keycode) {
114 #if defined(RGB_MATRIX_DISABLE_KEYCODES)
115diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c
116index 519df57505589a21bf970879e22789708283c0d5..6c2af3a3b997f55c860a17315e9febc5a792c4e5 100644
117--- a/keyboards/inett_studio/sqx/universal/universal.c
118+++ b/keyboards/inett_studio/sqx/universal/universal.c
119@@ -169,6 +169,10 @@ bool rgb_matrix_indicators_kb(void) {
120 #endif //RGB_MATRIX_ENABLE
121
122 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
123+ if (!process_record_user(keycode, record)) {
124+ return false;
125+ }
126+
127 if (record->event.pressed) {
128 switch(keycode) {
129 #if defined(RGB_MATRIX_DISABLE_KEYCODES)
130diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
131index d49d16e85a1a447556f23bb81dfd5f7257d3fd97..cc3853cacd1db0bcc37a53e8f1641a8f34de8b29 100644
132--- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
133+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
134@@ -131,6 +131,10 @@ bool rgb_matrix_indicators_kb(void) {
135 #endif
136
137 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
138+ if (!process_record_user(keycode, record)) {
139+ return false;
140+ }
141+
142 if (record->event.pressed) {
143 switch(keycode) {
144 #ifdef RGBLIGHT_ENABLE
145diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
146index c6943cc3578669196b4a7319a0ea5f02f9d7a78b..3fdc57138014dbf2dc39f4a4c84bc3003df0af83 100644
147--- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
148+++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
149@@ -223,6 +223,10 @@ layer_state_t layer_state_set_user(layer_state_t state) {
150 #endif
151
152 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
153+ if (!process_record_user(keycode, record)) {
154+ return false;
155+ }
156+
157 if (record->event.pressed) {
158 switch(keycode) {
159 #ifdef RGB_MATRIX_DISABLE_KEYCODES
160diff --git a/keyboards/mechlovin/kay65/kay65.c b/keyboards/mechlovin/kay65/kay65.c
161index f59f23e13d91fd249888da79b5804b1786eb66cc..b125cf1f798cfda50f3d350b16988cd60a2e2ee6 100644
162--- a/keyboards/mechlovin/kay65/kay65.c
163+++ b/keyboards/mechlovin/kay65/kay65.c
164@@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
165
166 #include "quantum.h"
167
168-void keyboard_pre_init_user(void) {
169- // Call the keyboard pre init code.
170-
171+void keyboard_pre_init_kb(void) {
172 // Set our LED pins as output
173 gpio_set_pin_output(D7);
174+
175+ keyboard_pre_init_user();
176 }
177diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
178index a6942a2cb8272a803421d2d9930a58d15a534ab6..de1c73a0e031e82a4a5c6d3487f2eb34ef661cf3 100644
179--- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
180+++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
181@@ -17,8 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
182
183 #include "quantum.h"
184
185-void keyboard_pre_init_user(void) {
186- // Call the keyboard pre init code.
187+void keyboard_pre_init_kb(void) {
188 // Set our LED pins as output
189 gpio_set_pin_output(B7);
190+
191+ keyboard_pre_init_user();
192 }
193diff --git a/keyboards/omnikeyish/omnikeyish.c b/keyboards/omnikeyish/omnikeyish.c
194index 4a8a7fa4d6cfa5544b367f1ac5cfae6abf60e726..8e7e316524e94ea9bfdb2b93b29f789c0c0745f6 100644
195--- a/keyboards/omnikeyish/omnikeyish.c
196+++ b/keyboards/omnikeyish/omnikeyish.c
197@@ -1,10 +1,12 @@
198 #include "omnikeyish.h"
199
200-void keyboard_pre_init_user(void) {
201+void keyboard_pre_init_kb(void) {
202 dynamic_macro_init();
203+
204+ keyboard_pre_init_user();
205 }
206
207-void keyboard_post_init_user(void) {
208+void keyboard_post_init_kb(void) {
209 /* Customise these values to desired behaviour */
210 //debug_enable = true;
211 //debug_matrix=true;
212@@ -19,6 +21,8 @@ void keyboard_post_init_user(void) {
213 /* Send numlock keycode to attempt to force numlock back on. */
214 register_code(KC_NUM_LOCK);
215 unregister_code(KC_NUM_LOCK);
216+
217+ keyboard_post_init_user();
218 }
219
220 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
221diff --git a/keyboards/projectd/75/ansi/ansi.c b/keyboards/projectd/75/ansi/ansi.c
222index 8257cf39c26a3c2c47385a25bcd944dca520be6e..3bb695b55907a82bfa6ea82a0a81937b8f79026b 100644
223--- a/keyboards/projectd/75/ansi/ansi.c
224+++ b/keyboards/projectd/75/ansi/ansi.c
225@@ -162,6 +162,9 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
226 }
227
228 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
229+ if (!process_record_user(keycode, record)) {
230+ return false;
231+ }
232
233 switch (keycode) {
234
235diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c
236index 66ba9fb6ee0cbb987ee518385d6d2ae81ad30af9..928b0b5114f575777358ef47decf030be8c0c2bb 100644
237--- a/keyboards/yandrstudio/nz64/nz64.c
238+++ b/keyboards/yandrstudio/nz64/nz64.c
239@@ -97,6 +97,10 @@ void keyboard_post_init_kb(void) {
240 #endif
241
242 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
243+ if (!process_record_user(keycode, record)) {
244+ return false;
245+ }
246+
247 switch(keycode) {
248 #ifdef RGB_MATRIX_ENABLE
249 case URGB_K: