pointer-gestures: add hold gestures
Hold gestures merely denote "there are fingers on the touchpad but they are not moving". As touchpad touches are generally fully abstracted, a client cannot currently know when a user is interacting with the touchpad without moving - no motion events will be sent in this case.
The two use-cases here are:
- hold-to-interact: where a hold gesture is active for some time a menu could pop up, or some object is selected, etc.
- hold-to-cancel: where e.g. kinetic scrolling is currently active, the start of a hold gesture can be used to stop the scroll
Since hold gestures by definition do not have movement, there is no need for an "update" stage in the gesture.
Minimum todo list:
- libinput implementation: libinput/libinput!602 (merged)
- mutter implementation: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1830
- GTK implementation: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3454
- wlroots implementation: https://github.com/swaywm/wlroots/pull/3047
- KWin implementation: https://invent.kde.org/plasma/kwayland-server/-/merge_requests/273 and https://invent.kde.org/plasma/kwin/-/merge_requests/1226
Reviews:
Acks:
Edited by Simon Ser