summaryrefslogtreecommitdiff
path: root/quantum/keyboard.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2025-02-26 22:25:41 +1100
committerGitHub <noreply@github.com>2025-02-26 22:25:41 +1100
commit1efc82403bebe759272d1ba7a79d9dfa0d5df506 (patch)
treec356ae7afeb0849926534beb5dd4515f693abf99 /quantum/keyboard.c
parent63b095212b157c4522bdeda3de144fb87213085d (diff)
Community modules (#24848)
Diffstat (limited to 'quantum/keyboard.c')
-rw-r--r--quantum/keyboard.c44
1 files changed, 42 insertions, 2 deletions
diff --git a/quantum/keyboard.c b/quantum/keyboard.c
index d7836cf36e..ad740de4b3 100644
--- a/quantum/keyboard.c
+++ b/quantum/keyboard.c
@@ -289,6 +289,21 @@ __attribute__((weak)) void keyboard_pre_init_kb(void) {
289 keyboard_pre_init_user(); 289 keyboard_pre_init_user();
290} 290}
291 291
292/** \brief keyboard_pre_init_modules
293 *
294 * FIXME: needs doc
295 */
296__attribute__((weak)) void keyboard_pre_init_modules(void) {}
297
298/** \brief keyboard_pre_init_quantum
299 *
300 * FIXME: needs doc
301 */
302void keyboard_pre_init_quantum(void) {
303 keyboard_pre_init_modules();
304 keyboard_pre_init_kb();
305}
306
292/** \brief keyboard_post_init_user 307/** \brief keyboard_post_init_user
293 * 308 *
294 * FIXME: needs doc 309 * FIXME: needs doc
@@ -305,6 +320,23 @@ __attribute__((weak)) void keyboard_post_init_kb(void) {
305 keyboard_post_init_user(); 320 keyboard_post_init_user();
306} 321}
307 322
323/** \brief keyboard_post_init_modules
324 *
325 * FIXME: needs doc
326 */
327
328__attribute__((weak)) void keyboard_post_init_modules(void) {}
329
330/** \brief keyboard_post_init_quantum
331 *
332 * FIXME: needs doc
333 */
334
335void keyboard_post_init_quantum(void) {
336 keyboard_post_init_modules();
337 keyboard_post_init_kb();
338}
339
308/** \brief matrix_can_read 340/** \brief matrix_can_read
309 * 341 *
310 * Allows overriding when matrix scanning operations should be executed. 342 * Allows overriding when matrix scanning operations should be executed.
@@ -323,7 +355,7 @@ void keyboard_setup(void) {
323 eeprom_driver_init(); 355 eeprom_driver_init();
324#endif 356#endif
325 matrix_setup(); 357 matrix_setup();
326 keyboard_pre_init_kb(); 358 keyboard_pre_init_quantum();
327} 359}
328 360
329#ifndef SPLIT_KEYBOARD 361#ifndef SPLIT_KEYBOARD
@@ -355,6 +387,13 @@ __attribute__((weak)) bool should_process_keypress(void) {
355 return is_keyboard_master(); 387 return is_keyboard_master();
356} 388}
357 389
390/** \brief housekeeping_task_modules
391 *
392 * Codegen will override this if community modules are enabled.
393 * This is specific to keyboard-level functionality.
394 */
395__attribute__((weak)) void housekeeping_task_modules(void) {}
396
358/** \brief housekeeping_task_kb 397/** \brief housekeeping_task_kb
359 * 398 *
360 * Override this function if you have a need to execute code for every keyboard main loop iteration. 399 * Override this function if you have a need to execute code for every keyboard main loop iteration.
@@ -374,6 +413,7 @@ __attribute__((weak)) void housekeeping_task_user(void) {}
374 * Invokes hooks for executing code after QMK is done after each loop iteration. 413 * Invokes hooks for executing code after QMK is done after each loop iteration.
375 */ 414 */
376void housekeeping_task(void) { 415void housekeeping_task(void) {
416 housekeeping_task_modules();
377 housekeeping_task_kb(); 417 housekeeping_task_kb();
378 housekeeping_task_user(); 418 housekeeping_task_user();
379} 419}
@@ -493,7 +533,7 @@ void keyboard_init(void) {
493 debug_enable = true; 533 debug_enable = true;
494#endif 534#endif
495 535
496 keyboard_post_init_kb(); /* Always keep this last */ 536 keyboard_post_init_quantum(); /* Always keep this last */
497} 537}
498 538
499/** \brief key_event_task 539/** \brief key_event_task