kwin/autotests
Martin Gräßlin 421824b654 Workaround xkbcommon behavior concerning consumed modifiers
Summary:
If a key could be turned into a keysym with a modifier xkbcommon
considers the modifier as consumed even if not pressed.
E.g. Alt+F3 considers alt as consumed as there is a keysym gnerated with
Ctrl+Alt+F3 (vt switching).

This change tries to workaround the problem by ignoring the consumed
modifiers if there are more modifiers consumed than active. It's
possible that this will create regressions for other shortcuts - we need
to test it in the wild. Although this might cause regressions I'm aiming
for Plasma/5.8 branch with the change. It only affects Wayland and fixes
quite important shortcuts from window manager perspective (desktop
switching (ctrl+f1 to ctrl+f4), desktop grid (ctrl+f8), present windows
(ctrl+f9, ctrl+10), cube (ctrl+f11), user actions (alt+f3), close window
(alt+f4)). If it causes regressions they need to be fixed as well in the
Plasma/5.8 branch.

A new API entry point for xkbcommon was proposed, but is not yet merged
and there is no release with it yet. Once that is available the
workaround should get removed and replaced by the new API call.

BUG: 368989
FIXED-IN: 5.8.1

Test Plan: Going to restart session now with the change

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2945
2016-10-06 13:28:02 +02:00
..
integration Workaround xkbcommon behavior concerning consumed modifiers 2016-10-06 13:28:02 +02:00
libinput [autotests/integration] Fix TestLibinputDevice::testName 2016-08-15 17:21:45 +02:00
libkwineffects [libkwineffects] Port getXServerVersion from X11 to xcb 2016-08-23 11:45:59 +02:00
libxrenderutils [autotests] Add missing add_test() 2016-09-08 15:24:21 +02:00
tabbox Support highlighting windows through EffectsHandlerImpl 2016-09-13 08:36:12 +02:00
abstract_client.h
client.h
CMakeLists.txt [autotests] Move libkwineffects/autotests to autotests/libkwineffects 2016-07-18 08:47:45 +02:00
fakeeffectplugin.cpp
fakeeffectplugin.json
fakeeffectplugin_version.cpp
fakeeffectplugin_version.json
mock_abstract_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_abstract_client.h Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.h
mock_effectshandler.cpp
mock_effectshandler.h Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
mock_screens.cpp
mock_screens.h
mock_workspace.cpp
mock_workspace.h
test_builtin_effectloader.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_client_machine.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_plugin_effectloader.cpp [effects] Drop the logout effect 2016-08-24 10:09:22 +02:00
test_screen_edges.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_screen_paint_data.cpp
test_screens.cpp
test_scripted_effectloader.cpp [autotests] Use QTR_COMPARE instead of QTest::qWait in TestScriptedEffectLoader 2016-08-16 14:08:07 +02:00
test_virtual_desktops.cpp
test_window_paint_data.cpp
test_xcb_size_hints.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_xcb_window.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_xcb_wrapper.cpp [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
test_xrandr_screens.cpp Select also raw button press/release in XInput2 based polling 2016-08-15 16:06:30 +02:00
testutils.h [autotests] Add Q_CONSTRUCTOR_FUNCTION to X11 specific tests to force xcb 2016-09-08 15:22:48 +02:00
workspace.h