kwin/plugins/platforms/x11/standalone
Martin Gräßlin 014afe1c05 [platformx/x11] Fix touch events for internal Qt windows
Summary:
To have touch events working we need to do memory layout changes on the
xcb events. This is fine for identifying the touch events which should
trigger the screen edge. But when passed on to Qt to have QtQuick windows
(e.g. Alt+Tab) handle the touch events, this results in a problem:
Qt itself does also the memory movement and then the movement is double
and touch events break.

To prevent this problem an RAII class is added which moves the memory in
the ctor and moves it back in the dtor. So during KWin's processing it
has the right memory layout and later on in Qt's processing it has the
proper "wrong" layout which Qt can fix again.

Test Plan: Touch events in Alt+Tab work

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5549
2017-05-02 20:32:58 +02:00
..
CMakeLists.txt
edge.cpp Don't map screenedge approach window if edge is only used for touch 2017-04-22 08:17:59 +02:00
edge.h Add support for activating screenedges through touch swipe gestures 2017-03-27 17:44:02 +02:00
glxbackend.cpp
glxbackend.h
logging.cpp
logging.h
screens_xrandr.cpp
screens_xrandr.h
windowselector.cpp
windowselector.h
x11.json SVN_SILENT made messages (.desktop file) - always resolve ours 2017-04-25 10:05:35 +02:00
x11_platform.cpp Split modifier only handling into a dedicated InputEventSpy 2017-02-14 17:02:18 +01:00
x11_platform.h
x11cursor.cpp
x11cursor.h
xinputintegration.cpp [platformx/x11] Fix touch events for internal Qt windows 2017-05-02 20:32:58 +02:00
xinputintegration.h Split modifier only handling into a dedicated InputEventSpy 2017-02-14 17:02:18 +01:00