[server] Pass keyboard focus to child surface on pointer click
ClosedPublic

Authored by graesslin on Apr 6 2016, 11:59 AM.

Details

Summary

[server] Split KeyboardInterface::Private into dedicated header

[server] Pass keyboard focus to child surface on pointer click

If the focused pointer and keyboard surface is the same we use pointer
clicks as a hint to which child surface should have keyboard focus.

Keyboard focus handling for sub surfaces is rather limited overall.
We just don't have a good model on how to determine which child surface
should get the keyboard focus. When passing focus to a surface there
is no way to know which of the sub-surfaces should get the focus.
Ideally the client should handle this, but that's just not the case.

The best we have is a reference through the pointer. But that's of
course also limited. Keyboard focus passed to the surface for another
reason (Alt+Tab) cannot select the proper sub-surface without interaction
from another input device.

Diff Detail

Repository
R127 KWayland
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 3158.Apr 6 2016, 11:59 AM
graesslin retitled this revision from to [server] Pass keyboard focus to child surface on pointer click.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptApr 6 2016, 11:59 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
sebas accepted this revision.Apr 6 2016, 1:39 PM
sebas added a reviewer: sebas.
This revision is now accepted and ready to land.Apr 6 2016, 1:39 PM
This revision was automatically updated to reflect the committed changes.