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

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

Description

[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.

Reviewers: Plasma

Subscribers: plasma-devel

Projects: Plasma

Differential Revision: https://phabricator.kde.org/D1330