TouchpadSupport

Revision 1 as of 2012-02-23 23:45:55

Clear message

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 uTouch stack to the client side of the X server instead of being embedded as huge patches in the server itself. This means uTouch 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 listed by xinput that affect touchpad gestures. You can run 'xinput' to list your devices, and then run 'xinput list-props <device id|device name>' to list the current settings.

To enable three touch gestures:

  • Synaptics Tap Action: the last value must be 0 (disabled)
  • Synaptics Click Action: the last value must be 0 (disabled)

To enable two touch gestures:

  • Synaptics Two-Finger Scrolling: both values must be 0 (disabled)
  • Synaptics Tap Action: the second-to-last value must be 0 (disabled)
  • Synaptics Click Action: the second value must be 0 (disabled)

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

  • To enable three touch gestures:
    • Nothing needed. Should work out of the box.
  • To enable two touch gestures:
    • Open "System Settings", go to Mouse and Touchpad, go to the Touchpad tab, then:
      • Uncheck "Enable mouse clicks with touchpad"
      • Disable or select Edge scrolling

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.