graesslin created this revision. graesslin added reviewers: KWin, Plasma. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY The raw pointer button events intercepted in the XInput2 input filter get sent through the Platform to the PointerInputRedirection. This makes the PointerInputRedirection track the pointer button state and emit the signals for button changed and axis changed. These signals are used by the modifier-only shortcut detection to determine whether the shortcut should trigger. On X11 the "normal" input handling doesn't use the InputRedirection and the emitted signals are not consumed by anything else. As PointerInputRedirection is not inited the events are not forwarded to the input filter, thus won't be processed by other parts and won't interfere with the normal event processing on X11. Given that it also doesn't matter that the input filter does not apply the left-handed setting. The internal tracking will have a wrong mouse button, but nothing is going to do decisions based on the value of the pressed mouse button. For the moment all we are interested in is that a button is pressed. TEST PLAN Pressed meta, clicked, scrolled, released meta: launcher did not open. Pressed meta, released meta: launcher opened REPOSITORY rKWIN KWin BRANCH x11-buttons-to-platform REVISION DETAIL https://phabricator.kde.org/D2506 AFFECTED FILES plugins/platforms/x11/standalone/xinputintegration.cpp pointer_input.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas