Add support for modifier only shortcuts on Wayland
Review Request #124954 - Created Aug. 27, 2015 and submitted
On popular demand! This change tracks how modifiers are used and detects a modifier only key press/release. That is: * no other key is pressed when the modifier gets pressed * no other key gets pressed before the modifier gets released If such a press/release is detected, we call a configurable dbus call. The possible shortcuts can be configured in kwinrc, group "ModifierOnlyShortcuts". The following keys are supported: * Shift * Control * Alt * Meta As value it takes a QStringList (comma seperated string) with service,path,interface,method,additionalargs E.g. to invoke Desktop Grid effect on Meta key: [ModifierOnlyShortcuts] Meta=org.kde.kglobalaccel,/component/kwin/,org.kde.kglobalaccel.Component,invokeShortcut,ShowDesktopGrid I do not intend to add a config interface for it. Let's keep it a hidden way.
Since this is indeed a very often required feature, why do we keep it hidden? If it can have negative side-effects, it we should warn users about them, not hide the whole feature from them.
Implementationwise, this looks wonky - if it's possible to get unbalanced input events (ie. releases w/o ever a press or vv.) from the system since the counter will run out of sync.
=> Are such unbalanced events prevented by libinput for sure or can one eg. create synthetic release events (w/o a synthetic press event)?