https://bugs.kde.org/show_bug.cgi?id=509714
Vlad Zahorodnii <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|ASSIGNED |RESOLVED Latest Commit| |https://invent.kde.org/plas | |ma/kwin/-/commit/290fdb8116 | |64ae53e3f49a95ee5218cf4308c | |6c6 --- Comment #11 from Vlad Zahorodnii <[email protected]> --- Git commit 290fdb811664ae53e3f49a95ee5218cf4308c6c6 by Vlad Zahorodnii. Committed on 22/10/2026 at 15:01. Pushed by vladz into branch 'master'. plugins/stickykeys: Latch and lock modifiers on key release The modifiers are latched and locked on key press. However, it looks like xkb_state_update_key() can reset the locked state. In other words, Press Shift: - xkb_state_update_key(Shift, pressed) - the sticky filter latches the Shift modifier Release Shift: - xkb_state_update_key(Shift, released) Press Shift: - xkb_state_update_key(Shift, pressed) - the sticky filter locks the Shift modifier Release Shift: - xkb_state_update_key(Shift, released) - xkb also resets the locked state of the Shift modifier This results in double tapping a modifier not making the modifier persistent. For example, "SHIFT SHIFT a b c" produces "Abc" instead of "ABC". In order to address the issue, this change makes the input filter latch and lock modifiers on key release after xkb_state_update_key(). This also matches what mutter appears to do as well. M +28 -29 autotests/integration/sticky_keys_test.cpp M +13 -12 src/plugins/stickykeys/stickykeys.cpp https://invent.kde.org/plasma/kwin/-/commit/290fdb811664ae53e3f49a95ee5218cf4308c6c6 -- You are receiving this mail because: You are watching all bug changes.
