Comment 6 for bug 1424293

Revision history for this message
Chris Diamand (chuis) wrote :

Ok, so I've managed to write a kernel driver, as an extension to psmouse, which recognises the touchpad and puts it into gesture-enabled mode. Currently it recognises and uses vertical and horizontal two finger scrolling, and also knows about the other gestures (but I haven't got around to figuring out how they work with the input framework yet).

Check it out here:
$ git clone -b byd https://www.github.com/chrisdiamand/linux.git

The protocol is pretty simple - there's some ps2 init stuff, then a sequence of magic bytes which I intercepted from the windows driver. It returns 4 byte packets using the intellimouse protocol, except the last bit (scroll/Z) takes different values depending on the gesture.

Some issues remain though:
- It's not supported in xf86-input-synaptics yet. This means you can't control parameters with synclient. I think things like intertial scrolling are handled here too.

- Gesture recognition seems to be being done by the touchpad itself (firmware?) and not by the driver in the windows driver. Unfortunately it doesn't do a very good job of it.