graesslin created this revision. graesslin added reviewers: KWin, Plasma on Wayland. Restricted Application added subscribers: kwin, plasma-devel. Restricted Application added projects: Plasma on Wayland, KWin.
REVISION SUMMARY If KWin interacts with Libinput the RelativePointerManager interface gets created on the Wayland server. The ForwardInputEventFilter does forward the relative motion events in addition to the normal motion events. In order to properly support the relative motion events as they are expected by the Wayland protocol the handling of pointer motion events got slightly adjusted: - Libinput Pointer event extended by the additional data points - Libinput Pointer event carries the delta as a QSizeF instead of QPointF - PointerInputRedirection adjusted to take a pointer motion event with more arguments - Custom QMouseEvent subclass adjusted to carry the additional members The DebugConsole is adjusted to show the relative motion events in addition to the global position. TEST PLAN Verified the manager object is created and verified the events in DebugConsole. Unfortunately not aware of any test application. REPOSITORY rKWIN KWin BRANCH relative-pointer-events REVISION DETAIL https://phabricator.kde.org/D2979 AFFECTED FILES autotests/libinput/input_event_test.cpp autotests/libinput/mock_libinput.cpp autotests/libinput/pointer_event_test.cpp debug_console.cpp input.cpp input_event.cpp input_event.h libinput/connection.cpp libinput/connection.h libinput/events.cpp libinput/events.h pointer_input.cpp pointer_input.h tests/libinputtest.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma_on_wayland Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas