kwin/autotests/integration
Martin Gräßlin 229be65e40 Improve the escape key handling for breaking constrained pointers
Summary:
So far KWin started to filter out the escape key as soon as it gets
pressed. This was done by unsetting keyboard focus. The idea was to
reset keyboard focus when it is only a short press and that then the
keyboard state is correct for the application. But in practice this
does not work. The only application currently supporting pointer
constraints (Xwayland) does not do anything on a key which is pressed
when gaining keyboard focus. The result is escape not working in
pointer constrained Xwayland windows.

This change addresses this problem by changing the interaction to only
unset keyboard focus when our break constraints condition is met. This
should also result in the application not handling the key release, but
it means it gets the key press. Unfortunately I don't have a good way
to test.

BUG: 378452

Test Plan: None

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5488
2017-05-12 07:06:44 +02:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
helper KillWindow support for Wayland windows 2016-11-17 14:06:42 +01:00
scripting Add method unregisterScreenEdge to scripting 2016-10-07 13:29:29 +01: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 quick tiling on X11 2017-02-14 07:29:38 +01: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
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
dont_crash_glxgears.cpp
dont_crash_no_border.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
globalshortcuts_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01: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
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 [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
lockscreen.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +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 Call performMoveResize when we got a new geoemtry during resize 2017-01-30 17:02:13 +01:00
no_xdg_runtime_dir_test.cpp
plasma_surface_test.cpp Support creation of PlasmaShellSurface prior to ShellSurface 2017-02-07 19:26:36 +01:00
plasmawindow_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
platformcursor.cpp
pointer_constraints_test.cpp Improve the escape key handling for breaking constrained pointers 2017-05-12 07:06:44 +02:00
pointer_input.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
quick_tiling_test.cpp [autotests] Add test case for quick tiling on X11 2017-02-14 07:29:38 +01:00
scene_opengl_test.cpp Support restarting the OpenGL compositor on Wayland 2016-07-20 14:08:23 +02:00
scene_qpainter_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01: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 Emit windowShown and windowHidden from Client::internalKeep and ::internalHide 2016-07-14 11:11:49 +02:00
shade_test.cpp
shell_client_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
start_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
struts_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
tabbox_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
test_helpers.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +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 [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
x11_client_test.cpp Simplify the window title passed in from the window system 2016-11-07 11:26:48 +01:00
xclipboardsync_test.cpp
xwayland_input_test.cpp Warp the xcb pointer whenever pointer leaves an X11 surface 2016-08-24 13:12:06 +02:00