On Wed, Jul 12, 2017 at 09:16:43AM +0200, Takashi Iwai wrote:
> On Tue, 11 Jul 2017 21:58:21 +0200,
> Paul Donohue wrote:
> > 
> > On Tue, Jul 11, 2017 at 05:50:07PM +0200, Takashi Iwai wrote:
> > > Hi, just joining to the party in the middle, as I'm also facing the
> > > same problem on Dell E7270 laptop.  Has this issue already been
> > > addressed?
> > > 
> > > If not, the following was my result:
> > > 
> > > - the first patch slowed the pointer movement a lot, it's even slower
> > >   than the old kernel (e.g. 4.4.x).
> > >   The two finger scroll works fine on all touchpad area now.
> > > 
> > > - the second patch made the pointer movement even faster than now (as
> > >   I feel, not quite sure).  The two finger scroll doesn't work at the
> > >   right side of the touchpad.
> > > 
> > > 
> > > The kernel output from the first patch is below:
> > >   psmouse serio1: alps: test1 pitch 37x37 num-electrodes 8x7 physical 
> > > size 25x22mm res 69x69 max 1792x1536
> > > 
> > > Let me know if you have any further test.
> > > 
> > > 
> > > thanks,
> > > 
> > > Takashi
> > 
> > Do you have the kernel output from the second patch?
> 
> Here it is:
> 
> psmouse serio1: alps: test2 pitch 50x54 num-electrodes 20x11 physical size 
> 95x54mm res 25x23 max 2432x1280

Thanks!

Wow, this is weird ... Values that cause scrolling issues for you work fine for 
me.

It looks like the priv->x_max value that is causing your problem, but perhaps 
you can confirm this with another test:
Revert the patches above, then just before the 'return' at the end of 
alps_update_device_area_ss4_v2() add the following line:
priv->x_max = 1792;
I suspect this line will make two-finger scrolling work again.

It might also help if you could experiment with other x_max values.  2432 is 
the correct value that causes problems for you..  Does a small value like 500 
or a large value like 5000 change the behavior?

Another test you can try is to add a print statement in the 'case 
SS4_PACKET_ID_TWO' section of alps_decode_ss4_v2() and print out the f->mt[0].x 
and f->mt[1].x values.  With x_max set to 2432, what range of x values does 
this print when scrolling works, and what range of values are printed when 
scrolling doesn't work?

Thanks,
-Paul

Reply via email to