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 when KWin intercepted a key event a leave was not sent to the Wayland surface currently having keyboard focus. This could result in the Wayland application to start repeating keys. E.g. 1. application gets key press event 2. This triggers an internal window to show 3. key release goes to KWin internal window 4. application starts to repeat key as there is no release With this change whenever KWin intercepts the key event e.g. due to - internal window - Effects grabbing key event - Tabbox the focused keyboard surface is set to null, thus triggering a leave event and the client not starting to repeat the event. REPOSITORY rKWIN KWin BRANCH internal-window-unset-focus-keyboard REVISION DETAIL https://phabricator.kde.org/D2402 AFFECTED FILES autotests/integration/internal_window.cpp autotests/integration/kwin_wayland_test.h autotests/integration/test_helpers.cpp input.cpp 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