Tuesday, April 7, 2009

Synaptics 1.1 and what your touchpad can do now

I just stumbled over this and I realized that I never wrote about the synaptics driver. So, here's a list of things that have changed recently with version 1.0 and 1.1.


  • Perhaps the most important changes have to to with auto-scaling. Synaptics obtains the touchpad dimensions from the kernel and adjusts speed, acceleration, the edges and more depending on these dimensions. As a result we support a lot more models and touchpads should just work and feel approximately the same on the different touchpad models. More or less, anyway.


  • Multi-touch support and two-finger scrolling: the driver detects whether the touchpad can detect multiple fingers. Not all touchpads can do this*, for example my T61 has one that only does single-finger detection. If your touchpad has multi-finger support, the driver enables two-finger scrolling instead of edge scrolling.


  • Tapping is disabled by default. I've gotten some flak about this but I maintain that it is the better choice. Tapping is enabled for those touchpads that don't have physical buttons though.


  • synclient and syndaemon updates to device properties. Both programs do not require the SHM area anymore and thus also just work without extra configuration. So any option available in the synaptics man page can be modified at runtime.


  • Touchpad integration into gnome**. With the help of Matthias Clasen, we took the Ubuntu patches, fixed/updated them, pushed them into rawhide and sent both of them upstream. So gnome-mouse-properties now has a touchpad tab for the basic configuration settings. In rawhide anyway, and hopefully also upstream soon.



There's a lot of minor changes, but these are the big things.

* Unfortunately, the driver doesn't export yet whether the device has multifinger support or not. The only way to be sure is to check the Xorg.log and look for the line "(II) SynPS/2 Synaptics TouchPad: buttons: left right middle". If this line also says double and/or triple, your touchpad can detect two finger and/or three fingers.


** I started by fixing gsynaptics in rawhide, but that's now discontinued.

6 comments:

Eetu said...

Thanks, I had no idea I had two-finger scrolling (on Ubuntu Jaunty beta)!

pbrobinson said...

Funny you should mention that. I've just upgraded my laptop to rawhide and the touchpad is screwed, the movement of it was very slow (a move of the finger right across the pad moves about an inch on the screen) and the gsynaptics app has the max speed set to slow but it can't be adjusted. It seems that its just on the pad in the Dell D630c as my laptop just died and IT gave me a d630 and it works OK. I'll retest when I get the d630c back and see if its still an issue. Also I don't get a trackpad tab in the mouse properties :-(

bob said...

Peter,

Any chance of seeing these features back ported to Fedora 10?

Robert 'Bob' Jensen

Marius Gedminas said...

Interesting. I didn't know that different T61s came with different touchpad hardware. Mine definitely supports two- and three-finger detection.

Felix said...

Weird. Is the touchpad of the T61p so different from that in the T61? Because I can use two-finger scroll and even three-finger right-click.

Peter Hutterer said...

Bob: unlikely. Anything with device properties relies on server 1.6 and that's only available in F11/Rawhide.