On Tue, Jun 14, 2011 at 09:35:04PM +0200, Matthieu Herrb wrote: > On Mon, Jun 13, 2011 at 08:23:16PM -0500, joshua stein wrote: > > > I find the mouse emulation code for synaptics touch pads in your patch > > > really weird. I've tried to understand what it does, and why it > > > behaves badly for me on the first tap (move the pointer in the upper > > > right direction every time), but I fail to understand the logic. > > > > your change makes the problem worse on 2 laptops (samsung series 9 > > and thinkpad x220), where the cursor now jumps to the lower left > > after every movement. these seem to be due to events that come > > through after removing all the fingers from the touchpad that need > > to be ignored. i checked linux and they also ignore these events: > > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f56ce929cab45a3a6e1a81700da52bb9bdbfc0f > > > > this also adds support for "clickpads" where there is only one > > physical button and it's the entire trackpad that moves down, which > > both of those laptops have. without this change, the click gets > > ignored. > > With your patch my synaptics driver is recognized as a clickpad, but I > can't get no click from it. Otherwise the emulation works fine for > me. > > Hopefully with the configuration changes I'm working on, most people > will get the synaptics driver and thus won't need this emulation mode. > > > > > > > --- pms.c.new Mon Jun 13 16:26:39 2011 > > +++ pms.c Mon Jun 13 20:06:59 2011 > > @@ -799,7 +799,9 @@ > > syn->wsmode = WSMOUSE_COMPAT; > > syn->count = 0; > > > > - printf("%s: Synaptics touchpad, firmware %d.%d\n", DEVNAME(sc), > > + printf("%s: Synaptics %s, firmware %d.%d\n", DEVNAME(sc), > > + (syn->capabilities & SYNAPTICS_EXT_CAP_CLICKPAD ? ^^^^^^^^^^^^^^^^^ should be syn->ext_capabilities ;-)
-- Alexandr Shadchin