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

Reply via email to