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

