kwin/autotests
Martin Gräßlin cb3c6a4780 Implement internal keyboard repeat
As a Wayland server KWin does not have to emit additional key repeat
events (unlike X11). The clients are responsible for handling this based
on the provided key repeat information.

Internally KWin needs key repeat, though. E.g. the effects need key
repeat (filtering in Present Windows), window moving by keyboard needs
repeat, etc. etc.

This change introduces the internal key repeat. For each key press a
QTimer is started which gets canceled again on the key release. If the
timer fires it invoked processKey with a new KeyboardKeyAutoRepeat state.
This is handled just like a KeyPress, but states are not updated and
the QKeyEvent has autorepeat set to true.

The event filters check for the autorepeat state and filter the event
out if they are not interested in it. E.g. the filters passing the event
to the Wayland client need to filter it out.

Currently auto-repeat is bound to using libinput. This needs to be
modified. The only backend sending repeated events is X11, thus for
other backends it should be enabled.

Whether creating a timer on each key event is a good idea is something to
evaluate in future.

Reviewed-By: Bhushan Shah
2016-02-19 08:22:53 +01:00
..
wayland Implement internal keyboard repeat 2016-02-19 08:22:53 +01:00
CMakeLists.txt KWin::Application holdes a KSharedConfigPtr with the config 2016-01-29 09:48:02 +01:00
abstract_client.h [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
fakeeffectplugin.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp [kwin] Adapt to KPluginFactory change 2014-03-28 19:50:46 +00:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
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 # This is a combination of 2 commits. 2015-05-15 23:55:26 +02:00
mock_effectshandler.cpp [kwin] Introduce a new Effect Loading mechanism 2014-03-28 14:04:54 +01:00
mock_effectshandler.h support the slide protocol 2015-09-14 16:39:39 +02:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
mock_screens.h add Screens::name(int screen); STUB but for XRandr 2015-05-15 23:55:27 +02:00
mock_workspace.cpp [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
mock_workspace.h [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
test_builtin_effectloader.cpp [autotests] Dashboard is no longer available 2015-10-19 14:17:04 +02:00
test_client_machine.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_plugin_effectloader.cpp [autotests] Dashboard is no longer available 2015-10-19 14:17:04 +02:00
test_screen_edges.cpp Fix unit test 2015-10-14 13:56:30 +01:00
test_screen_paint_data.cpp [kwin] Rename tests subdirectories to autotests 2014-01-30 11:01:59 +01:00
test_screens.cpp Port left over qDebug to qCDebug 2015-07-31 13:25:51 +02:00
test_scripted_effectloader.cpp [autotest] Adjust TestScriptedEffectLoader::testLoadAllEffects for morphingpopups 2016-02-17 15:27:06 +01:00
test_virtual_desktops.cpp Update x11Time when a global shortcut is pressed 2015-02-25 08:15:53 +01:00
test_window_paint_data.cpp Remove the decoration opacity property 2014-08-25 17:25:04 +02:00
test_xcb_size_hints.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_xcb_window.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_xcb_wrapper.cpp tests test tests, not code 2015-08-27 22:20:16 +02:00
test_xrandr_screens.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
testutils.h [kwin] Rename tests subdirectories to autotests 2014-01-30 11:01:59 +01:00
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00