qmk/quantum
Stefan Kerkmann c68e4dec10
[Core] suspend: suppress wake up keypress (#23389)
* suspend: suppress wake up keypress

Waking the host from suspend is done by pressing any key on the
keyboard, the regular key codes assigned to the keys are not important
and must not be sent - otherwise they usually end up in password prompts
as ghost characters that have to be deleted again. This commit adds
suppression for all keys pressed at the time of wake up. Once a key is
released it functions as a regular key again.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* suspend: update wake up matrix after wake up delay

If USB_SUSPEND_WAKEUP_DELAY is set, the keyboard sleeps during wake up -
which can be up to multiple seconds. To handle key presses and releases
in that time frame we have to handle the following cases:

1. Key not pressed before suspend, and not pressed after wakeup → do
   nothing (normal case).
2. Key not pressed before suspend, but pressed after wakeup → set the
   wakeup_matrix bit to 1 (so that the press and release events would be
   suppressed).
3. Key pressed before suspend, but not pressed after wakeup → do nothing
   (the release event will be generated on the first matrix_task() call
   after the wakeup).
4. Key pressed before suspend, and still pressed after wakeup → do
   nothing (the release event will be generated some time later).

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* keyboards: anavi: macropad8: disable snake and rgb_test effects

...to shrink the binary size.
2025-11-11 23:35:03 +11:00
..
audio Relocate AUDIO_INIT_DELAY implementation (#25491) 2025-07-14 13:53:57 +01:00
backlight Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
battery Refactor battery driver (#25550) 2025-08-17 01:14:48 +01:00
bootmagic Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
connection Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
debounce Debounce: Deprecate num_rows parameter (#25632) 2025-10-19 03:14:37 +01:00
encoder/tests Rename encoder pins defines (#24003) 2024-07-03 17:18:27 +10:00
keymap_extras Fix Slovak and Lithuanian (QWERTY) sendstring LUTs (#25703) 2025-10-06 17:27:31 +01:00
led_matrix Fix RGB matrix not syncing and turning off properly on timeout (#25467) 2025-10-26 16:47:04 -07:00
logging Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
midi Unify MIDI note calculation with the audio feature's algorithm (#21588) 2023-07-27 16:14:34 -07:00
nvm Fix dynamic keymap static assert (#25327) 2025-06-03 13:03:59 +01:00
os_detection/tests Merge remote-tracking branch 'origin/master' into develop 2025-01-29 19:28:06 +00:00
painter Merge remote-tracking branch 'origin/master' into develop 2025-11-11 12:21:26 +00:00
pointing_device Add core handling for pointing device failures. (#25315) 2025-06-14 13:55:35 +01:00
process_keycode [Feature Improvement]add option to keep layer state when recording dynamic macros (#24418) 2025-11-11 23:30:42 +11:00
rgb_matrix Fix RGB matrix not syncing and turning off properly on timeout (#25467) 2025-10-26 16:47:04 -07:00
rgblight Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
send_string Consolidate send_string implementations. (#24817) 2025-01-21 08:24:39 +11:00
sequencer Consolidate timer_elapsed implementations (#24830) 2025-01-19 17:07:11 +00:00
split_common Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
unicode Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
wear_leveling Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
action.c [Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
action.h [Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
action_code.h Relocate various modifier defines (#18638) 2023-03-10 18:27:29 -08:00
action_layer.c Add additional hooks for Community modules (#25050) 2025-05-05 10:21:47 +10:00
action_layer.h Add additional hooks for Community modules (#25050) 2025-05-05 10:21:47 +10:00
action_tapping.c [Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
action_tapping.h [Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
action_util.c [Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
action_util.h [Feature] Implement mod_t packed struct (#25168) 2025-09-30 15:52:43 +01:00
basic_profiling.h Remove arm_atsam platform (#24337) 2024-09-02 03:48:17 +01:00
bits.h Fix path typo related RP2040 (#25069) 2025-03-28 21:03:59 +11:00
bitwise.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
bitwise.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
caps_word.c Reduce includes for caps_word header (#18948) 2022-11-03 23:42:58 +00:00
caps_word.h Reduce includes for caps_word header (#18948) 2022-11-03 23:42:58 +00:00
color.c Rename RGB and HSV structs (#24471) 2024-10-12 00:10:02 +01:00
color.h Rename RGB and HSV structs (#24471) 2024-10-12 00:10:02 +01:00
command.c Align sleep_led logic (#25395) 2025-06-27 08:17:28 +01:00
command.h Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
compiler_support.h Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
crc.c Reduce includes for crc header (#18947) 2022-11-03 21:36:58 +00:00
crc.h Reduce includes for crc header (#18947) 2022-11-03 21:36:58 +00:00
debounce.h Debounce: Deprecate num_rows parameter (#25632) 2025-10-19 03:14:37 +01:00
deferred_exec.c [Bugfix] Manipulate deferred executor slot only if tokens match (#22722) 2023-12-21 09:32:19 +11:00
deferred_exec.h Advanced deferred_exec for core-side code. (#15579) 2022-01-10 18:26:46 +00:00
digitizer.c Digitizer feature improvements (#19034) 2022-11-12 23:28:11 +00:00
digitizer.h Update Doxygen comments for some headers (#20194) 2023-03-22 14:32:49 +11:00
dip_switch.c Fix missing wait.h include in Dip Switch Map (#24863) 2025-01-25 03:11:38 +00:00
dip_switch.h Keymap introspection for Dip Switches (#22543) 2023-12-11 23:06:18 +00:00
dynamic_keymap.c Fix dynamic keymap macro only sending first. (#25309) 2025-05-27 14:22:55 +01:00
dynamic_keymap.h Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
eeconfig.c Deprecate usb.force_nkro/FORCE_NKRO (#25262) 2025-05-14 22:02:43 +10:00
eeconfig.h [Bugfix] User eeconfig utility macros (#25350) 2025-06-09 19:35:48 +01:00
encoder.c Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
encoder.h Rename encoder pins defines (#24003) 2024-07-03 17:18:27 +10:00
haptic.c Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
haptic.h Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
joystick.c Joystick: add support for 8-way hat switch (#24515) 2024-11-09 14:10:10 -08:00
joystick.h Joystick: add support for 8-way hat switch (#24515) 2024-11-09 14:10:10 -08:00
keyboard.c [Core] suspend: suppress wake up keypress (#23389) 2025-11-11 23:35:03 +11:00
keyboard.h Keymap introspection for Dip Switches (#22543) 2023-12-11 23:06:18 +00:00
keycode.h Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
keycode_config.c Guard remapping logic with MAGIC_ENABLE (#25537) 2025-11-06 23:03:28 +00:00
keycode_config.h Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
keycode_string.c [Core] get_keycode_string(): function to format keycodes as strings, for more readable debug logging. (#24787) 2025-03-19 20:45:56 +01:00
keycode_string.h [Core] get_keycode_string(): function to format keycodes as strings, for more readable debug logging. (#24787) 2025-03-19 20:45:56 +01:00
keycodes.h Add generic handling to cycle LED/RGB Matrix flags (#24649) 2025-09-22 00:01:23 +01:00
keymap_common.c Fix reference to wrong layer when LM used with right modifiers (#25303) 2025-05-27 23:24:20 +01:00
keymap_common.h Remove use of keymap.h (#20004) 2023-03-27 20:08:17 +01:00
keymap_introspection.c Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
keymap_introspection.h Add support for key override introspection. (#24120) 2024-07-16 09:22:17 +10:00
layer_lock.c Review fixes for layer lock feature (#24627) 2024-11-21 13:02:49 +00:00
layer_lock.h Review fixes for layer lock feature (#24627) 2024-11-21 13:02:49 +00:00
leader.c Add leader_add_user callback (#24266) 2025-01-01 23:12:58 -08:00
leader.h Add leader_add_user callback (#24266) 2025-01-01 23:12:58 -08:00
led.c Remove deprecated led_set_user (#23979) 2024-06-22 09:10:58 +01:00
led.h Remove deprecated led_set_user (#23979) 2024-06-22 09:10:58 +01:00
led_tables.c Remove unused LED_BREATHING_TABLE 2020-03-06 22:29:01 -08:00
led_tables.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
main.c Refactor vusb to protocol use pre/post task (#14944) 2024-03-14 21:45:12 +11:00
matrix.c Debounce: Deprecate num_rows parameter (#25632) 2025-10-19 03:14:37 +01:00
matrix.h Add MATRIX_ROWS_PER_HAND definition (#25513) 2025-07-25 10:04:12 +10:00
matrix_common.c Debounce: Deprecate num_rows parameter (#25632) 2025-10-19 03:14:37 +01:00
modifiers.h Relocate various modifier defines (#18638) 2023-03-10 18:27:29 -08:00
mousekey.c Restrict mouse timer activation to movement keycodes (#25716) 2025-10-27 15:11:57 +11:00
mousekey.h Enhance overlapping mouse keys control (#23341) 2024-08-19 03:18:28 +01:00
os_detection.c Fix OS_DETECTION_KEYBOARD_RESET (#25015) 2025-05-12 12:15:40 +10:00
os_detection.h Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
pointing_device_internal.h [Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
programmable_button.c Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
programmable_button.h Update Doxygen comments for some headers (#20194) 2023-03-22 14:32:49 +11:00
quantum.c Simplify tap_code16_delay (#25595) 2025-09-06 10:04:42 +01:00
quantum.h Refactor battery driver (#25550) 2025-08-17 01:14:48 +01:00
quantum_keycodes.h Deprecate some nonstandard mod & mod-tap keycode aliases (#25437) 2025-07-06 20:30:47 +10:00
quantum_keycodes_legacy.h Remove deprecated RGB_ and Mouse keycodes (#25444) 2025-07-11 11:05:41 -06:00
raw_hid.c Add raw_hid support to host driver (#25255) 2025-05-12 08:38:48 +10:00
raw_hid.h Raw HID: documentation improvements (#21596) 2023-07-25 09:20:41 +10:00
repeat_key.c Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
repeat_key.h quantum: remove direct quantum.h includes (#21507) 2023-07-16 23:42:56 +10:00
ring_buffer.h Fix quantum ring_buffer for ChibiOS (#19683) 2023-01-28 21:07:51 +00:00
secure.c Use a macro to compute the size of arrays at compile time (#18044) 2022-08-30 10:20:04 +02:00
secure.h Update Doxygen comments for some headers (#20194) 2023-03-22 14:32:49 +11:00
steno_keycodes.h Remove requirement for keymap_steno.h include in keymaps (#22423) 2023-11-12 18:25:46 +11:00
sync_timer.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
sync_timer.h Relocate protocol files within tmk_core/common/ (#14972) 2021-10-28 22:31:59 +01:00
tri_layer.c [Core] Tri Layer Keys (#19795) 2023-02-12 10:23:07 +11:00
tri_layer.h [Core] Tri Layer Keys (#19795) 2023-02-12 10:23:07 +11:00
util.h [Core] quantum: util: add bit and bitmask helpers (#24229) 2024-10-12 18:48:00 +02:00
variable_trace.c clang-format changes 2019-08-30 15:01:52 -07:00
variable_trace.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
via.c VIA Keylog Change (#25504) 2025-11-11 23:21:50 +11:00
via.h Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
virtser.h Relocate protocol files within tmk_core/common/ (#14972) 2021-10-28 22:31:59 +01:00
wpm.c [Bug] Fix compilation issue with WPM (#18965) 2022-11-05 19:05:01 +00:00
wpm.h Reduce includes for wpm header (#18949) 2022-11-04 00:50:59 +00:00