<div>graesslin created this revision.<br />
graesslin added a reviewer: Plasma.<br />
Restricted Application added a project: Plasma.<br />
Restricted Application added a subscriber: plasma-devel.</div><br /><div><strong>REVISION SUMMARY</strong><div><p>[server] Split KeyboardInterface::Private into dedicated header</p>
<p>[server] Pass keyboard focus to child surface on pointer click</p>
<p>If the focused pointer and keyboard surface is the same we use pointer<br />
clicks as a hint to which child surface should have keyboard focus.</p>
<p>Keyboard focus handling for sub surfaces is rather limited overall.<br />
We just don't have a good model on how to determine which child surface<br />
should get the keyboard focus. When passing focus to a surface there<br />
is no way to know which of the sub-surfaces should get the focus.<br />
Ideally the client should handle this, but that's just not the case.</p>
<p>The best we have is a reference through the pointer. But that's of<br />
course also limited. Keyboard focus passed to the surface for another<br />
reason (Alt+Tab) cannot select the proper sub-surface without interaction<br />
from another input device.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKWAYLAND KWayland</div></div></div><br /><div><strong>BRANCH</strong><div><div>keyboard-sub-surface-arc</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D1330" rel="noreferrer">https://phabricator.kde.org/D1330</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/client/test_wayland_seat.cpp<br />
src/server/keyboard_interface.cpp<br />
src/server/keyboard_interface_p.h<br />
src/server/pointer_interface.cpp<br />
src/server/pointer_interface_p.h<br />
src/server/seat_interface.cpp</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>graesslin, Plasma<br /><strong>Cc: </strong>plasma-devel, sebas<br /></div>