kwin/autotests/integration
Vlad Zahorodnii 1e9b961761 tabbox: Reset keyboard focus when grabbing input
When the tabbox grabs input, the key events won't be sent to the client.
It's not good for a couple of reasons: first, it can fool the client into
repeating a previously pressed key; and the server side and the client
side can be out of sync after the task switcher is dismissed.

In order to handle that properly, this change makes the tabbox reset the
keyboard focus when it's shown or hidden. When the task switcher is
dismissed, an enter event will be sent with the current state of the pressed
keys.

Ideally, the same needs to be done with the pointer focus but it's
challenging to achieve with the current input pipeline design. An input
grab abstraction is needed to handle pointer focus when the task switcher
is active.
2024-08-02 06:10:15 +00:00
..
data Drop support for _KDE_NET_WM_TEMPORARY_RULES 2023-02-02 15:34:24 +00:00
effects Port Window::updateInteractiveMoveResize() away from input()->keyboardModifiers() 2024-07-15 15:08:11 +00:00
fakes Adjust to KDecoration init API returning a bool 2023-10-22 10:52:42 +02:00
helper build: Add -Wno-unused-parameter compiler option 2022-10-31 15:50:37 +00:00
scripting Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
activation_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
activities_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
bounce_keys_test.cpp Implement bounce keys on Wayland 2023-11-23 13:07:35 +00:00
buttonrebind_test.cpp ButtonRebindsFilter: Support keyboard modifiers with mouse buttons 2024-07-29 15:46:44 +00:00
CMakeLists.txt Make Workspace::desktopResized() reassign outputs of uninitialized windows 2024-07-23 13:46:06 +00:00
dbus_interface_test.cpp Introduce layer window rule 2024-01-17 23:05:53 +00:00
debug_console_test.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
decoration_input_test.cpp autotests: Make xdg-toplevel-decoration-v1 factory function return a std::unique_ptr 2024-03-11 08:52:10 +00:00
desktop_window_x11_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
dont_crash_aurorae_destroy_deco.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
dont_crash_cancel_animation.cpp plugins/fadingpopups: don't block direct scanout 2024-07-11 16:54:25 +02:00
dont_crash_empty_deco.cpp autotests: Don't be so paranoid about compositing type 2023-09-08 09:48:16 +03:00
dont_crash_glxgears.cpp Don't use QtTest => use QTest + missing include 2023-07-04 10:38:21 +00:00
dont_crash_reinitialize_compositor.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
dont_crash_useractions_menu.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
fakeinput_test.cpp backends/fakeinput: Implement fake input protocol in backend 2023-09-22 11:08:26 +03:00
fractional_scaling_test.cpp autotests: Improve autotests for window scaling 2024-05-24 18:23:05 +00:00
generic_scene_opengl_test.cpp autotests: Force breeze_cursors cursor theme 2024-07-09 17:51:07 +00:00
generic_scene_opengl_test.h screencasting: Add an autotest 2023-03-31 00:19:59 +02:00
globalshortcuts_test.cpp autotests: Add keypad global shortcuts test 2024-01-24 13:20:58 +00:00
idle_inhibition_test.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
input_stacking_order.cpp autotests: Port xdg-shell factory functions to unique_ptr 2024-03-10 17:25:52 +00:00
inputmethod_test.cpp autotests: Port xdg-shell factory functions to unique_ptr 2024-03-10 17:25:52 +00:00
internal_window.cpp Drop more (unnecessary) geometry updates blockers 2024-04-26 08:01:21 +00:00
keyboard_layout_test.cpp keyboard_layout: always expose dbus interface 2024-03-15 22:21:08 +00:00
keymap_creation_failure_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
kwin_wayland_test.cpp Add testing infrastructure for virtual tablet pad and tools 2024-07-23 00:38:36 +00:00
kwin_wayland_test.h Add testing infrastructure for virtual tablet pad and tools 2024-07-23 00:38:36 +00:00
kwinbindings_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
layershellv1window_test.cpp wayland: Fix windows shrinking when output layout changes 2024-03-07 13:41:01 +02:00
lockscreen.cpp autotests: add test for global keyboard shortcut 2024-03-19 18:00:12 +00:00
maximize_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
move_resize_window_test.cpp Port Window::updateInteractiveMoveResize() away from input()->keyboardModifiers() 2024-07-15 15:08:11 +00:00
no_global_shortcuts_test.cpp Drop WaylandServer initialization flags 2024-06-23 17:53:17 +00:00
outputchanges_test.cpp autotests: add Xwayland scale changes to the output changes test 2024-06-17 20:41:58 +02:00
placement_test.cpp autotests: test placement to always put the titlebar on the screen 2024-07-23 16:16:25 +02:00
plasma_surface_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
plasmawindow_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
platformcursor.cpp Don't use QtTest => use QTest + missing include 2023-07-04 10:38:21 +00:00
pointer_constraints_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
pointer_input.cpp autotests: Force breeze_cursors cursor theme 2024-07-09 17:51:07 +00:00
quick_tiling_test.cpp tiling: Don't put maximized windows in tile 2024-07-09 17:24:15 +00:00
scene_opengl_es_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
scene_opengl_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
screen_changes_test.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
screencasting_test.cpp autotests: Skip testScreencasting in CI 2024-07-11 09:34:34 +00:00
screenedges_test.cpp screenedge: reset timer when pointer leaves edge 2024-04-10 20:55:29 +00:00
screens_test.cpp autotests/integration: clean up remnants of "active output follows mouse" setting in screenstest 2024-04-29 14:13:32 +00:00
security_context_test.cpp Support SecurityContextManagerV1 2023-11-13 09:51:28 +00:00
shade_test.cpp Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
showing_desktop_test.cpp Break show desktop mode if a new window is added 2024-01-15 15:41:57 +00:00
stacking_order_test.cpp autotests: Port xdg-shell factory functions to unique_ptr 2024-03-10 17:25:52 +00:00
sticky_keys_test.cpp plugins/stickykeys: Disable when two keys are pressed 2024-07-25 14:22:17 +02:00
struts_test.cpp Do not rely on NETWM for the main Window class 2024-02-20 18:04:06 +00:00
tabbox_test.cpp tabbox: Reset keyboard focus when grabbing input 2024-08-02 06:10:15 +00:00
test_helpers.cpp ButtonsRebindFilter: Add tests for the tablet binding types 2024-07-22 20:39:19 -04:00
test_virtualkeyboard_dbus.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
tiles_test.cpp Port Window::updateInteractiveMoveResize() away from input()->keyboardModifiers() 2024-07-15 15:08:11 +00:00
touch_input_test.cpp autotests: Make xdg-toplevel-decoration-v1 factory function return a std::unique_ptr 2024-03-11 08:52:10 +00:00
transient_placement.cpp Prefer en_US, "centre" -> "center" 2024-06-17 05:29:59 +00:00
virtual_desktop_test.cpp Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
window_rules_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
window_selection_test.cpp autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
workspace_test.cpp Make Workspace::desktopResized() reassign outputs of uninitialized windows 2024-07-23 13:46:06 +00:00
x11_window_test.cpp autotests: Fix a race condition in X11WindowTest 2024-07-18 12:17:18 +00:00
x11keyread.cpp xwayland: Only update keyboard modifers for XWayland's keys 2024-07-24 15:57:21 +00:00
xdgshellwindow_rules_test.cpp Port Window::updateInteractiveMoveResize() away from input()->keyboardModifiers() 2024-07-15 15:08:11 +00:00
xdgshellwindow_test.cpp Port Window::updateInteractiveMoveResize() away from input()->keyboardModifiers() 2024-07-15 15:08:11 +00:00
xinerama_test.cpp xwayland: Make xinerama index -> Output mapping more robust with fractional scaling 2024-01-10 15:18:48 +00:00
xwayland_input_test.cpp wayland: Drop "_interface" from filenames 2023-09-15 13:13:43 +00:00
xwayland_selections_test.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
xwaylandserver_crash_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
xwaylandserver_restart_test.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00