There are two considerations for gestures under Linux.
- Gestures are performed within the operating system and applications owing to the method used to post touch data into the OS from the driver.
- The driver is posting gesture information on its API for use by UPDD Client applications.
Native Linux gesture support
Currently under Linux there is no definitive definition of multi-touch support other than to say it can be achieved if the right components are in place. There are various references on the web to Linux gestures, such as the support in Gnome 3.14 and Ubuntu's Unity desktop managers. Some Linux distributions have a degree of built-in gesture support, such as these gesture available in Ubuntu 22.04.
Currently, the driver creates a Virtual touch device to post data into the kernel input subsystem.
The Virtual Touch Device replies on ‘uinput’ support being part of the Linux kernel. Uinput offers a user mode bridge to the Linux input subsystem and should be available for most modern distributions. This interface mechanism should satisfy any system or application gesture implementation.
Configuring multi-touch support in distributions that cater for multi-touch, is described here.
UPDD gesture API support
A gesture module is supplied to determine the gesture being performed and posts gesture data to the driver for onward dispatch to UPDD Client applications as described here.