qmk/platforms
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
..
avr Add I2C Transmit and Receive function (#25637) 2025-11-11 23:02:35 +11:00
chibios Add I2C Transmit and Receive function (#25637) 2025-11-11 23:02:35 +11:00
test Add EOL to non-keyboard files (#24990) 2025-03-06 23:17:51 +00:00
atomic_util.h Add compiler_support.h (#25274) 2025-05-22 23:31:15 +10:00
bootloader.h [Core] Add Reboot keycode to core (#15990) 2022-05-14 13:35:49 +10:00
common.mk Eliminate TMK_COMMON_* in makefiles (#21517) 2023-07-15 17:27:32 +10:00
eeprom.h Fix Wear Leveling compilation (#25254) 2025-05-12 08:39:38 +10:00
gpio.h Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
hardware_id.h Expose API for hardware unique ID (#16869) 2022-04-18 20:51:40 +10:00
lv_conf.h [Core] Quantum Painter - LVGL Integration (#18499) 2022-12-13 07:51:14 +11:00
pin_defs.h Redo workaround for pin_def errors on KINETIS (#16620) 2022-03-11 18:50:59 +00:00
progmem.h Fix pmw33xx sensor initialisation (#25777) 2025-11-08 20:49:15 +00:00
sleep_led.h Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
suspend.c [Core] suspend: suppress wake up keypress (#23389) 2025-11-11 23:35:03 +11:00
suspend.h [Core] suspend: suppress wake up keypress (#23389) 2025-11-11 23:35:03 +11:00
synchronization_util.c Fix build failures with OPT = 0 due to inline functions (#19767) 2023-02-12 17:14:34 +11:00
synchronization_util.h Fix build failures with OPT = 0 due to inline functions (#19767) 2023-02-12 17:14:34 +11:00
timer.c Consolidate timer_elapsed implementations (#24830) 2025-01-19 17:07:11 +00:00
timer.h small refactoring of TIMER_DIFF (#24678) 2024-12-16 10:27:42 +01:00
wait.h Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00