Support for relative pointer motion events
ClosedPublic

Authored by graesslin on Oct 7 2016, 12:55 PM.

Details

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.

Diff Detail

Repository
R108 KWin
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 7199.Oct 7 2016, 12:55 PM
graesslin retitled this revision from to Support for relative pointer motion events.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptOct 7 2016, 12:55 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
sebas accepted this revision.Oct 10 2016, 4:18 PM
sebas added a reviewer: sebas.
sebas added a subscriber: sebas.

Looks good to me.

This revision is now accepted and ready to land.Oct 10 2016, 4:18 PM
This revision was automatically updated to reflect the committed changes.