graesslin created this revision. graesslin added reviewers: KWin, Plasma on Wayland. Restricted Application added subscribers: kwin, plasma-devel. Restricted Application added projects: Plasma on Wayland, KWin.
REVISION SUMMARY So far KWin tried to repeat all pressed keys which should repeat. But this is not how X11 and e.g. QtWayland handle it. There only one key - the last one which got pressed - repeats. And this makes sense as the key is used to generate a keysym and that one KWin caches. Thus the logic so far resulted in incorrect keysyms to be generated during the repeat. E.g. pressing a, pressing b, releasing b would repeat b instead of the hold a as b was the last generated keysym. This change addresses this problem and let's only one key repeat at a time. When the currently repeating key gets released the repeat timer is stopped and other hold keys won't repeat any more. This also matches the behavior of X11 and QtWayland. BUG: 369091 FIXED-IN: 5.8.1 REPOSITORY rKWIN KWin BRANCH repeat-one-key-5.8 REVISION DETAIL https://phabricator.kde.org/D2941 AFFECTED FILES autotests/integration/globalshortcuts_test.cpp keyboard_input.cpp keyboard_input.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma_on_wayland Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas
