mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-24 19:20:05 +01:00
For touchscreens we always send raw touch events to the compositor, and the compositor or application toolkits do gesture recognition. This makes sense because on a touchscreen which window / widget the touches are over is important context to know to interpret gestures. On touchpads however we never send raw events since a touchpad is an absolute device which primary function is to send pointer motion delta-s, so we always need to do processing (and a lot of it) on the raw events. Moreover there is nothing underneath the finger which influences how to interpret gestures, and there is a lot of touchpad and libinput configuration specific context necessary for gesture recognition. E.g. is this a clickpad, and if so are softbuttons or clickfinger used? What is the size of the softbuttons? Is this a true multi-touch touchpad or a semi multi-touch touchpad which only gives us a bounding box enclosing the fingers? Etc. So for touchpads it is better to do gesture processing in libinput, this commit adds an initial implementation of a Gesture event API which only supports swipe gestures, other gestures will be added later following the same model wrt, having clear start and stop events and the number of fingers involved being fixed once a gesture sequence starts. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Jason Gerecke <jason.gerecke@wacom.com> |
||
|---|---|---|
| .. | ||
| 50-litest.conf | ||
| build-cxx.cc | ||
| build-pedantic.c | ||
| device.c | ||
| keyboard.c | ||
| litest-alps-dualpoint.c | ||
| litest-alps-semi-mt.c | ||
| litest-atmel-hover.c | ||
| litest-bcm5974.c | ||
| litest-generic-singletouch.c | ||
| litest-int.h | ||
| litest-keyboard-razer-blackwidow.c | ||
| litest-keyboard.c | ||
| litest-logitech-trackball.c | ||
| litest-mouse-low-dpi.c | ||
| litest-mouse-roccat.c | ||
| litest-mouse.c | ||
| litest-ms-surface-cover.c | ||
| litest-protocol-a-touch-screen.c | ||
| litest-qemu-usb-tablet.c | ||
| litest-selftest.c | ||
| litest-synaptics-hover.c | ||
| litest-synaptics-st.c | ||
| litest-synaptics-t440.c | ||
| litest-synaptics-x1-carbon-3rd.c | ||
| litest-synaptics.c | ||
| litest-trackpoint.c | ||
| litest-vmware-virtual-usb-mouse.c | ||
| litest-wacom-intuos-finger.c | ||
| litest-wacom-touch.c | ||
| litest-wheel-only.c | ||
| litest-xen-virtual-pointer.c | ||
| litest.c | ||
| litest.h | ||
| log.c | ||
| Makefile.am | ||
| misc.c | ||
| path.c | ||
| pointer.c | ||
| symbols-leak-test.in | ||
| touch.c | ||
| touchpad-tap.c | ||
| touchpad.c | ||
| trackpoint.c | ||
| udev.c | ||
| valgrind.suppressions | ||