Re: [PATCH] Synaptics TouchPad driver for 2.5.70

Vojtech Pavlik
2003-06-15T12:15:16Z

On Sun, Jun 15, 2003 at 02:18:57PM +0200, Peter Osterlund wrote:
> Vojtech Pavlik <vojtech@suse.cz> writes:
>
> > > * Multi finger tapping.
> > > * Vertical and horizontal scrolling.
> > > * Edge scrolling during drag operations.
> > > * Palm detection.
> > > * Corner tapping.
> >
> > ... you may want to put these nice features into the mousedev.c driver
> > for now, so that the touchpad works with standard XFree without the
> > event based driver.
>
> No need. There is now a working XFree86 driver here:
>
> http://w1.894.telia.com/~u89404340/touchpad/index.html

Cool.

> diff -u -r -N --exclude='.*' --exclude='*.o' --exclude='*.ko' --exclude='*~' ../../linus/main/linux/drivers/input/mouse/Kconfig linux/drivers/input/mouse/Kconfig
> --- ../../linus/main/linux/drivers/input/mouse/Kconfig Sun Jun 15 14:10:15 2003
> +++ linux/drivers/input/mouse/Kconfig Sun Jun 15 13:53:38 2003
> @@ -37,7 +37,7 @@
> This touchpad is found on many modern laptop computers.
> Note that you also need a user space driver to interpret the data
> generated by the kernel. A compatible driver for XFree86 is available
> - from http://...
> + from http://w1.894.telia.com/~u89404340/touchpad/index.html

Perfect.

>>
> - if (hw.w != priv->old_w) {
> - input_event(dev, EV_MSC, MSC_GESTURE, hw.w);
> - priv->old_w = hw.w;
> - }
> + /*
> + * This will generate an event even if w is unchanged, but that is
> + * exactly what we want, because user space drivers may depend on
> + * this for gesture decoding.
> + */
> + input_event(dev, EV_MSC, MSC_GESTURE, hw.w);

This assumption is not nice. It should instead rely on input_sync() /
EV_SYN, SYN_REPORT events for complete packet decoding. Can you do
something about that?

---

By the way, obviously you're skilled in X driver programming. Could you
possibly also implement an /dev/input/event mouse and tablet/touchscreen
drivers so that mousedev.c would be replaced completely?

--
Vojtech Pavlik
SuSE Labs, SuSE CR