Proposals for default synaptics property changes

Chase Douglas chase.douglas at canonical.com
Mon Feb 6 22:31:38 UTC 2012


Hi all,

I've been working on multitouch, trackpads, and anything in between for
a while now. There's a couple issues that we need to consider for 12.04.

* When the user checks "Enable mouse clicks with touchpad", I believe
the "Synaptics Locked Drags" setting should be true. Currently, when the
user tries to tap-and-drag, the following occurs:

TouchBegin
TouchEnd
TouchBegin
Movement
TouchEnd

This causes:

Button 1 press
Motion
Button 1 release

When "Synaptics Locked Drags" is enabled, the following occurs:

TouchBegin
TouchEnd
TouchBegin
Movement
TouchEnd
TouchBegin
Movement
TouchEnd
TouchBegin
TouchEnd

This causes:

Button 1 press
Motion
Motion
Button 1 release

If it's not entirely clear what the change is, try setting the property
and playing with it. Enabling the property resolves the problem of
trying to drag farther than your touchpad is wide or tall.

We can enforce this default by patching the value in
xserver-xorg-input-synaptics.

* When the user checks "Enable mouse clicks with touchpad", I believe we
should be enabling one-touch tap for button 1, and two-touch tap for
button 2, but disabling three-touch tap, which would normally be mapped
to button 3 (middle click).

An unfortunately and inevitable side-effect of putting gesture
recognition on the client side of X is that we may emit traditional X
"gestures" from a touchpad at the same time we emit uTouch gestures.
This should only be an issue with three touch "gestures" in Unity,
however. The issue is that when three tap is performed on a touchpad, a
middle button click may be emitted. However, the Unity gesture
specifications require all three touch gestures to be reserved. Since
11.04, which was the first release with uTouch through X Synaptics, we
have been inhibiting three-touch tap to click. Our stack is no longer
patched into X synaptics, so we need to determine what the best
resolution is.

I believe disabling three-touch tap to click by default is the best
option. Users who want the functionality are still free to enable it
themselves using the xinput utility or by setting an option in
xorg.conf. The Unity action on a three-touch tap would be to show the
resize ("love") handles, which hopefully shouldn't destructively
interfere with any middle button click actions.

We can enforce this default by having gnome-settings-daemon set the
synaptics property when Unity is the environment. I haven't looked into
whether it's possible to determine the environment from within g-s-d, so
if that's not feasible we could enforce this all the time.

Any thoughts?

Thanks,

-- Chase



More information about the ubuntu-desktop mailing list