Community modules (#24848)
This commit is contained in:
@@ -162,6 +162,10 @@ __attribute__((weak)) void tap_code16(uint16_t code) {
|
||||
tap_code16_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY);
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool pre_process_record_modules(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
return pre_process_record_user(keycode, record);
|
||||
}
|
||||
@@ -174,6 +178,10 @@ __attribute__((weak)) bool process_action_kb(keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool process_record_modules(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
return process_record_user(keycode, record);
|
||||
}
|
||||
@@ -182,12 +190,22 @@ __attribute__((weak)) bool process_record_user(uint16_t keycode, keyrecord_t *re
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) void post_process_record_modules(uint16_t keycode, keyrecord_t *record) {}
|
||||
|
||||
__attribute__((weak)) void post_process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
post_process_record_user(keycode, record);
|
||||
}
|
||||
|
||||
__attribute__((weak)) void post_process_record_user(uint16_t keycode, keyrecord_t *record) {}
|
||||
|
||||
__attribute__((weak)) bool shutdown_modules(bool jump_to_bootloader) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) void suspend_power_down_modules(void) {}
|
||||
|
||||
__attribute__((weak)) void suspend_wakeup_init_modules(void) {}
|
||||
|
||||
void shutdown_quantum(bool jump_to_bootloader) {
|
||||
clear_keyboard();
|
||||
#if defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
||||
@@ -199,11 +217,13 @@ void shutdown_quantum(bool jump_to_bootloader) {
|
||||
# endif
|
||||
uint16_t timer_start = timer_read();
|
||||
PLAY_SONG(goodbye_song);
|
||||
shutdown_modules(jump_to_bootloader);
|
||||
shutdown_kb(jump_to_bootloader);
|
||||
while (timer_elapsed(timer_start) < 250)
|
||||
wait_ms(1);
|
||||
stop_all_notes();
|
||||
#else
|
||||
shutdown_modules(jump_to_bootloader);
|
||||
shutdown_kb(jump_to_bootloader);
|
||||
wait_ms(250);
|
||||
#endif
|
||||
@@ -258,7 +278,7 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache) {
|
||||
|
||||
/* Get keycode, and then process pre tapping functionality */
|
||||
bool pre_process_record_quantum(keyrecord_t *record) {
|
||||
return pre_process_record_kb(get_record_keycode(record, true), record) &&
|
||||
return pre_process_record_modules(get_record_keycode(record, true), record) && pre_process_record_kb(get_record_keycode(record, true), record) &&
|
||||
#ifdef COMBO_ENABLE
|
||||
process_combo(get_record_keycode(record, true), record) &&
|
||||
#endif
|
||||
@@ -268,6 +288,7 @@ bool pre_process_record_quantum(keyrecord_t *record) {
|
||||
/* Get keycode, and then call keyboard function */
|
||||
void post_process_record_quantum(keyrecord_t *record) {
|
||||
uint16_t keycode = get_record_keycode(record, false);
|
||||
post_process_record_modules(keycode, record);
|
||||
post_process_record_kb(keycode, record);
|
||||
}
|
||||
|
||||
@@ -332,6 +353,7 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE)
|
||||
process_auto_mouse(keycode, record) &&
|
||||
#endif
|
||||
process_record_modules(keycode, record) && // modules must run before kb
|
||||
process_record_kb(keycode, record) &&
|
||||
#if defined(VIA_ENABLE)
|
||||
process_record_via(keycode, record) &&
|
||||
@@ -526,6 +548,7 @@ __attribute__((weak)) bool shutdown_kb(bool jump_to_bootloader) {
|
||||
}
|
||||
|
||||
void suspend_power_down_quantum(void) {
|
||||
suspend_power_down_modules();
|
||||
suspend_power_down_kb();
|
||||
#ifndef NO_SUSPEND_POWER_DOWN
|
||||
// Turn off backlight
|
||||
@@ -593,6 +616,7 @@ __attribute__((weak)) void suspend_wakeup_init_quantum(void) {
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
rgb_matrix_set_suspend_state(false);
|
||||
#endif
|
||||
suspend_wakeup_init_modules();
|
||||
suspend_wakeup_init_kb();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user