kwin/autotests/integration
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
..
data
effects
helper
scripting
activities_test.cpp [autotests] Wrap integration tests in dbus-session-run 2016-09-14 07:59:14 +02:00
CMakeLists.txt [autotests/integration] Add a global shortcuts test 2016-09-14 09:13:36 +02:00
debug_console_test.cpp Destroy DebugConsole on hide of QWindow 2016-10-05 07:48:15 +02:00
decoration_input_test.cpp Add support for resize only borders on Wayland 2016-10-05 07:49:23 +02:00
desktop_window_x11_test.cpp
dont_crash_aurorae_destroy_deco.cpp
dont_crash_cancel_animation.cpp
dont_crash_empty_deco.cpp
dont_crash_glxgears.cpp
dont_crash_no_border.cpp
globalshortcuts_test.cpp Workaround xkbcommon behavior concerning consumed modifiers 2016-10-06 13:28:02 +02:00
input_stacking_order.cpp
internal_window.cpp
kwin_wayland_test.cpp [autotest/integration] Enable test mode for QStandardPaths 2016-10-05 13:21:33 +02:00
kwin_wayland_test.h
lockscreen.cpp
maximize_test.cpp
modifier_only_shortcut_test.cpp Test case for mod only shortcut with global shortcuts disabled 2016-10-06 07:36:12 +02:00
move_resize_window_test.cpp
no_xdg_runtime_dir_test.cpp
plasma_surface_test.cpp Fix whether a panel is supposed to have a strut in ShellClient 2016-09-16 14:30:10 +02:00
plasmawindow_test.cpp
platformcursor.cpp
pointer_input.cpp
quick_tiling_test.cpp
scene_opengl_test.cpp
scene_qpainter_test.cpp
screen_changes_test.cpp
screenedge_client_show_test.cpp
shade_test.cpp
shell_client_test.cpp [autotests/integration] Test case for window larger than screen 2016-09-14 14:08:47 +02:00
start_test.cpp
struts_test.cpp
tabbox_test.cpp [wayland] Fix release of TabBox on Wayland 2016-09-14 13:26:58 +02:00
test_helpers.cpp
touch_input_test.cpp
transient_no_input_test.cpp
transient_placement.cpp
window_rules_test.cpp Match window role in Rules in a case insensitive manner 2016-09-13 08:37:26 +02:00
xclipboardsync_test.cpp
xwayland_input_test.cpp