We've made a ton of changes in how X works in Ubuntu starting in 12.04 LTS. One big change was a move of the gesture stack to the client side of the X server instead of being embedded as huge patches in the server itself. This means the gesture stack relies on XInput touch events.

Unfortunately, X can't send touch events if it is also sending other events caused by the same touches. For example, if you have two finger scrolling enabled for a touchpad, X can't send touch events until you put three touches down.

Here are the settings that affect touchpad gestures. You can use xinput or synclient for querying and setting properties. Synclient is easier to use, but does not function properly if you have multiple trackpads.

To query values using xinput, run:

$ xinput
(find your trackpad device id or name)
$ xinput list-props <device id|device name>

To set values using xinput, run:

xinput set-prop <device id|device name> <property id|property name> <value 1> <value 2> ..."

To query values using synclient, run:

$ synclient

To set values using synclient, run:

$ synclient <property>=<value>

To enable three touch gestures:

To enable two touch gestures:

In Ubuntu, the following can be performed to enable the above:

We hope that in the future these traditional touchpad features will also move to the client side of X. Then we will be able to have both gestures and touchpad features side by side.

Multitouch/TouchpadSupport (last edited 2012-06-14 19:11:17 by c-67-170-185-42)