kwin/autotests/integration
Martin Flöser 70bc9524d9 Send QKeyEvent with Qt::Key as expected by Qt to internal windows
Summary:
KWin passes the current keysym converted to a Qt::Key in the QKeyEvent.
The current keysym does not always change when a key gets released, so
when pressing a shortcut the release carry a Qt::Key which could be
considered as wrong.

QtWayland transforms the actual pressed/released key into a keysym and
passes that through the QKeyEvent. This change does the same for the
internal windows. A new QKeyEvent is created and adjusted in a way that
it matches what Qt expects.

Why not change everything to how Qt expects it? The key is used at
various places and in KWin internally we expect the behavior how it is
currently implemented. So it's better to use Qt's expectation only when
interacting with Qt.

Also the change carries a workaround for a bug in QKeySequenceEdit
(see QTBUG-62102) and transforms Super to Meta. As this adjustment only
makes sense for the internal windows we need to send in an adjusted
QKeyEvent anyway, so another argument for using the Qt behavior only in
this place.

Test Plan:
Can set a shortcut on Wayland and it can be used to activate
the window.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D6828
2017-08-19 11:37:08 +02:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects [autotests] Try to make translucencyTest more robust for CI 2017-08-08 20:48:40 +02:00
helper KillWindow support for Wayland windows 2016-11-17 14:06:42 +01:00
scripting [autotests] Fix touch screen edge test after setting a default 2017-05-02 21:17:41 +02:00
activities_test.cpp [autotests] Wrap integration tests in dbus-session-run 2016-09-14 07:59:14 +02:00
CMakeLists.txt [autotests] Add test case for incorrect rendering of XWayland on SceneQPainter 2017-07-27 17:09:40 +02:00
debug_console_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
decoration_input_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
desktop_window_x11_test.cpp Force windows of type desktop to be opaque 2016-08-10 15:10:22 +02:00
dont_crash_aurorae_destroy_deco.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_cancel_animation.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_empty_deco.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_glxgears.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_no_border.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_useractions_menu.cpp [autotests] Ensure TestDontCrashUseractionsMenu uses breeze 2017-07-08 10:47:17 +02:00
generic_scene_opengl_test.cpp [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
generic_scene_opengl_test.h [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
globalshortcuts_test.cpp Send QKeyEvent with Qt::Key as expected by Qt to internal windows 2017-08-19 11:37:08 +02:00
input_stacking_order.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
internal_window.cpp Add support for skipCloseAnimation for internal windows 2017-01-13 19:50:50 +01:00
keyboard_layout_test.cpp Add support for keyboard layout switching policy "winclass" 2017-04-22 08:15:59 +02:00
keymap_creation_failure_test.cpp Better handle cases when the xkb keymap fails to be created 2017-06-18 21:04:58 +02:00
kwin_wayland_test.cpp Unpolish QStyle on QApp prior to destroying internal Wayland connection 2016-11-07 11:28:06 +01:00
kwin_wayland_test.h Improve testWindowScaled test 2017-07-31 15:12:37 +01:00
kwinbindings_test.cpp [autotests] Try making KWinBindingsTest::testSwitchWindowScript more robust 2017-08-13 17:08:49 +02:00
lockscreen.cpp [autotests] Fix LockScreenTest::testKeyboardShortcut 2017-01-18 20:24:17 +01:00
maximize_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
modifier_only_shortcut_test.cpp Support modifier-only-shortcuts when capslock is on 2017-01-25 13:39:04 +01:00
move_resize_window_test.cpp Replace Workspace::slotWindowQuickTileFoo by a quickTileWindow with argument 2017-07-29 17:40:03 +02:00
no_xdg_runtime_dir_test.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
plasma_surface_test.cpp [autotests] Drop PlasmaSurfaceTest::m_connection 2017-07-31 18:02:00 +02:00
plasmawindow_test.cpp [autotests] Try to make PlasmaWindowTest::testCreateDestroyX11PlasmaWindow more robust 2017-07-25 21:19:11 +02:00
platformcursor.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
pointer_constraints_test.cpp [autotests] Extend pointer constraints test for closing window of locked pointer 2017-06-24 20:31:50 +02:00
pointer_input.cpp Don't update the focused pointer Surface if a button is pressed 2017-04-20 17:02:42 +02:00
quick_tiling_test.cpp [autotests] Try making QuickTilingTest::testShortcut more robust 2017-08-09 19:22:36 +02:00
scene_opengl_es_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_test.cpp Properly render XWayland windows in SceneQPainter 2017-08-02 19:30:29 +02:00
screen_changes_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
screenedge_client_show_test.cpp [autotest] Disable default TabBox on touch screen edge in ScreenEdgeClientShowTest 2017-06-19 21:54:11 +02:00
shade_test.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
shell_client_test.cpp [autotests] Add test cases for verifying that Toplevel::window() is only set for X11 2017-07-26 07:08:27 +02:00
showing_desktop_test.cpp Restore active client after ending showing desktop 2017-07-01 08:20:01 +02:00
start_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
struts_test.cpp [autotests] Try making StrutsTest::testWindowMoveWithPanelBetweenScreens more robust 2017-08-09 17:54:42 +02:00
tabbox_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
test_helpers.cpp Track outputs in kwin integration tests 2017-08-18 15:15:19 +01:00
touch_input_test.cpp Add workaround for touch input offset for decorated windows 2017-01-25 13:58:28 +01:00
transient_no_input_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
transient_placement.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
window_rules_test.cpp Match window role in Rules in a case insensitive manner 2016-09-13 08:37:26 +02:00
window_selection_test.cpp Add support for interactive selection through touch events 2017-03-31 07:44:38 +02:00
x11_client_test.cpp Always emit Client::captionChanged when the caption changed 2017-08-13 19:23:10 +02:00
xclipboardsync_test.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
xwayland_input_test.cpp Warp the xcb pointer whenever pointer leaves an X11 surface 2016-08-24 13:12:06 +02:00