Create Cursor instance through Platform
ClosedPublic

Authored by graesslin on Aug 18 2016, 8:12 AM.

Details

Summary

By default the InputRedirectionCursor is created and only the X11
standalone platform creates the X11 specific cursor.

This is a preparation step for moving the X11 specific cursor
implementation into the x11standalone platform plugin.

Move X11Cursor into the x11standalone platform plugin

At the same time the xinput2 integration is split out of X11Cursor
and made a standalone part of the platform plugin. XInput integration
is nowadays not only used by the cursor position polling, but also
for modifier only shortcuts.

By splitting it out the modifier shortcuts start to work also when
one doesn't have anything requesting a mouse position polling.

This also simplifies the conditional builds: xinput integration is
only included if we have support for it at compile time without having
to have many ifdefs in the cursor implementation. For the inclusion of
cursor in the kcmkwin this also removes all the ifdefs.

The key events are only requested if we have xinput 2.1. Otherwise we
would not get all raw events if the input device gets grabbed.

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 6009.Aug 18 2016, 8:12 AM
graesslin retitled this revision from to Create Cursor instance through Platform.
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 TranscriptAug 18 2016, 8:12 AM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
mart accepted this revision.Aug 19 2016, 8:54 AM
mart added a reviewer: mart.
mart added a subscriber: mart.
mart added inline comments.
kcmkwin/kwinrules/CMakeLists.txt
7

is ../../ needed for those paths if there is already
include_directories(../../) ?

This revision is now accepted and ready to land.Aug 19 2016, 8:54 AM
graesslin added inline comments.Aug 19 2016, 8:56 AM
kcmkwin/kwinrules/CMakeLists.txt
7

I tried without, but it didn't pick it up. This whole thing is weird and needs to somehow be reworked.

This revision was automatically updated to reflect the committed changes.