[wayland] Unset focused keyboard surface when handling key event internally
ClosedPublic

Authored by graesslin on Aug 11 2016, 9:23 AM.

Details

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.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 5822.Aug 11 2016, 9:23 AM
graesslin retitled this revision from to [wayland] Unset focused keyboard surface when handling key event internally.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptAug 11 2016, 9:23 AM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
sebas accepted this revision.Aug 16 2016, 3:43 AM
sebas added a reviewer: sebas.
This revision is now accepted and ready to land.Aug 16 2016, 3:43 AM
This revision was automatically updated to reflect the committed changes.