Commit graph qmk-firmware/quantum
Author SHA1 Message Date
Joel Challis
0ec0cdde81
Consistently handle datablock init (#26282) 2026-06-24 20:36:51 +01:00
Arca Artem
1d2f52e407
process_key_lock: clear entire key state in cancel_key_lock() (#26269)
cancel_key_lock() called UNSET_KEY_STATE(0x0), which expands to clearing
only bit 0 of key_state[0]. The lock state is a 256-bit map spread across
key_state[0..3], so every locked key other than keycode 0x00 stayed
latched after a cancel.

Zero all four words so cancel_key_lock() releases every locked key, as
its name and its public declaration in process_key_lock.h imply.
2026-06-19 17:24:11 +01:00
Joel Challis
8522bb342d
Enable modules to persist data (#26201) 2026-06-18 18:43:32 +01:00
precondition
721affff7b
repeat_key.c: add implementation for get_last_record (#26263)
The `get_last_record` signature was present in repeat_key.h but without
any implementation in repeat_key.c which caused compilation errors for
any user of `get_last_record`.
2026-06-18 18:41:12 +01:00
Nick Brassel
92dc82ae08
Plover HID cleanup. (#26262) 2026-06-15 08:33:35 +10:00
Graham Held
b64014d5df
Custom plover HID report type (#26018)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: dnaq <dnaq@users.noreply.github.com>
2026-06-14 12:38:34 +10:00
mellanslag-de
d8c8872753
Key Overrides: Fix Ghost Modifier Bug on macOS (with Karabiner Elements) (#25886) 2026-06-13 22:28:41 +10:00
Joel Challis
f34bc9a6bc
Partially revert 26073 (#26252) 2026-06-08 08:36:45 +08:00
フィルターペーパー
d19204824d
Mask out active mods when unregistering after retro tapping (#26127)
Do not unregister modifiers still held by other keys
2026-05-27 00:20:24 +01:00
Pascal Getreuer
9d47119457
[Core] Options to constrain Speculative Hold: SPECULATIVE_HOLD_ONE_KEY and SPECULATIVE_HOLD_FLOW_TERM. (#26099) 2026-05-22 22:50:52 +01:00
Joel Challis
ce4f342ceb
Remove FORCE_NKRO (#26206) 2026-05-16 02:27:19 +01:00
Joel Challis
1a56fbece2
Fix USER_PRINT stripping out uprintf (#25919) 2026-05-07 22:33:31 +01:00
フィルターペーパー
8d8cd1ca61
Minor combo code optimisation (#26073)
* Remove redundant index initialisation
* Add early break for overlap scan
* Remove dead no_combo_keys_pressed code
* Avoid duplicate timer reset
2026-05-03 04:06:27 +01:00
Scott Lamb
0c5e36d056
Fix make test:all failures seen on macOS Tahoe (#26136) 2026-04-28 19:31:00 +01:00
Dimitris Mantzouranis
cc291cff7f
VIA v13 (#26001) 2026-04-17 08:53:05 +10:00
ijouw
2dc7d991b1
Either output Unicode or insert in Leader sequence (#25940) 2026-04-14 11:18:33 +01:00
Joel Challis
fbb0acdaa0
Remove deprecated isLeftHand (#25897)
Refactor deprecated isLeftHand
2026-04-06 08:49:05 +08:00
windexlight
593cd168c6
Fix possible repeat key infinite recursion (#25926)
Guard against infinite recursion when pressing this sequence after fresh boot: repeat key press -> another key press/release -> repeat key release.
2026-03-31 11:12:01 +01:00
フィルターペーパー
2afc217124
Refactor Pixel Fractal effect (#26071) 2026-03-15 21:29:36 +11:00
HorrorTroll
e4de46b3b0
Added PixArt PMW-3325 mouse sensor driver (#26065)
* Added support PMW3325 sensor driver

* Missing PMW3325 on pointing device document

* Suggested changes resolved
2026-03-15 21:28:40 +11:00
Joel Challis
5591a68b65
Allow custom data sync for community modules (#25955)
* Allow custom data sync for community modules

* Stub out community_config.h codegen

* Fix SPLIT_TRANSACTION_RPC logic
2026-02-19 22:03:26 +11:00
フィルターペーパー
403211f7f8
Remove unused headers (#26011) 2026-02-13 18:20:18 +00:00
フィルターペーパー
6b2a2ab7ac
Return INVALID_DEFERRED_TOKEN on allocation failure (#26012)
Return the proper deferred_token type instead of boolean false.
2026-02-13 14:51:33 +08:00
フィルターペーパー
edd2e3d354
Remove duplicate include of host.h (#26007) 2026-02-12 15:58:59 +00:00
フィルターペーパー
6b423c98e5
Remove an unreachable break statement (#26006) 2026-02-12 15:58:31 +00:00
フィルターペーパー
36cdac8fd3
Remove redundant EEPROM update (#26008) 2026-02-12 15:58:13 +00:00
QMK Bot
4f7a7873c8
[CI] Format code according to conventions (#26000)
Format code according to conventions
2026-02-11 16:06:13 +00:00
Pablo Martínez
fe1c3fc835
[Bugfix] WS2812 indexing in split boards (#25407)
* initial

* oops

* Update quantum/rgb_matrix/rgb_matrix.c

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-01-11 09:00:36 +08:00
QMK Bot
536a0a78b4 Merge remote-tracking branch 'origin/master' into develop 2026-01-08 05:37:18 +00:00
Joel Challis
a0b15d08bc
Short term fix for avr-libc@2.3.0 (#25938) 2026-01-08 16:36:40 +11:00
ijouw
e1c41f1b08
Match Key override index type to bounds type to prevent overflow (#25939)
Use uint16_t to store key override index

Co-authored-by: simon <ijouwy@gmail.com>
2026-01-08 08:41:46 +08:00
QMK Bot
e159fbefc5 Merge remote-tracking branch 'origin/master' into develop 2026-01-03 19:46:07 +00:00
nullptr
91a9f9e492
Fix RGB Matrix Typing Heatmap overflow (#25915) 2026-01-03 19:45:29 +00:00
QMK Bot
0d08ebb70a Merge remote-tracking branch 'origin/master' into develop 2026-01-01 12:19:53 +00:00
QMK Bot
99b5b9ab7f
[CI] Regenerate Files (#25920)
Regenerate Files
2026-01-01 12:19:14 +00:00
QMK Bot
389ec6df82 Merge remote-tracking branch 'origin/master' into develop 2026-01-01 08:38:02 +00:00
Piervit
6a5610a8be
Fix functions layer_debug and default_layer_debug (#25913)
Co-authored-by: Joel Challis <git@zvecr.com>
2026-01-01 00:37:25 -08:00
Joel Challis
c1161a7a32
Refactor core use of deprecated isLeftHand (#25888) 2025-12-21 20:52:55 +00:00
QMK Bot
f39fc08338 Merge remote-tracking branch 'origin/master' into develop 2025-12-12 18:19:07 +00:00
Joshua Diamond
2e68ddc826
Fix broken compilation when OS_DETECTION_DEBUG_ENABLE is defined (#25869)
Fix include in os_detection (broken in https://github.com/qmk/qmk_firmware/pull/24356)
2025-12-12 18:17:42 +00:00
Joel Challis
10faca0b85
Move shutdown delay to audio feature (#25859) 2025-12-08 19:14:46 -08:00
QMK Bot
43bbb5e99a
[CI] Format code according to conventions (#25828)
Format code according to conventions
2025-11-30 20:46:22 +00:00
QMK Bot
ee60542bd6 Merge remote-tracking branch 'origin/master' into develop 2025-11-30 19:25:52 +00:00
QMK Bot
6ed61c65dd
[CI] Format code according to conventions (#25827)
Format code according to conventions
2025-11-30 19:25:13 +00:00
Stephen Ostermiller
1a954e8da5
Reduce tap dance memory usage, move state out of data (#25415)
* Use less tap dance memory.

Use dynamically allocated sparse array for tap dance state, dynamically allocate tap dance state when needed and free it when the tap dance is done.

* new approach

* Use null, check for null

* Reformat with docker

* Use uint8 with idx rather than uint16 with keycode in state

* fix accidental change

* reformat

* Add null check

* add documentation tip suggested by tzarc

* Only allow tap dance state allocation on key down, not on key up

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Only allow tap dance allocation on key down, not on key up

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* add user action required section

---------

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2025-11-23 22:32:36 +11:00
Julian Schuler
b321789d7b
Fix single key combos activating only once (#25198)
Co-authored-by: Julian Schuler <julianschuler@users.noreply.github.com>
2025-11-23 22:25:59 +11:00
Pascal Getreuer
4015c40ba4
[Bug][Core] Fix Speculative Hold to enable also right-handed RSFT, RCTL by default. (#25797) 2025-11-23 22:24:02 +11:00
ploopyco
1a4af3adf9
Add PixArt PAW-3222 mouse sensor driver (#25763) 2025-11-12 09:02:52 +11:00
フィルターペーパー
99b1dc84da
Fix Magic GUI masking logic (#25780) 2025-11-12 09:02:08 +11:00
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