Bug 105727

Summary: libinput-1.10.3: two-finger-scrolling snaps back when lifting fingers
Product: Wayland Reporter: main.haarp
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: main.haarp, peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: evemu log showing behavior

Description main.haarp 2018-03-24 10:22:03 UTC
Created attachment 138333 [details]
evemu log showing behavior

Hello.

I'm currently using libinput 1.10.3 with a SynPS/2 Synaptics TouchPad on a Thinkpad W530. A recent update of libinput, I think either 1.10.2 or 1.10.3 introduced uncomfortable scrolling behavior.

When two-finger-scrolling, very often the scroll operation "snaps back" when I lift my fingers. By that I mean a scroll event in the opposite direction is generated.

Here's a debug-events example:

 event12  POINTER_AXIS      +4.64s	vert 2.52* horiz 0.25* (finger)
 event12  POINTER_AXIS      +4.67s	vert 6.83* horiz 0.25* (finger)
....
 event12  POINTER_AXIS      +5.16s	vert 0.36* horiz 0.00 (finger)
 event12  POINTER_AXIS      +5.24s	vert 0.18* horiz -0.25* (finger)
** lifting fingers around now **
 event12  POINTER_AXIS      +5.36s	vert 0.18* horiz -0.25* (finger)
 event12  POINTER_AXIS      +5.41s	vert -13.31* horiz -20.35* (finger)
 event12  POINTER_AXIS      +5.42s	vert 0.00* horiz 0.00* (finger)

The negative vert and horiz event is obvious.

I am also attaching an evemu log that shows how I scroll. It contains three attempts, the first and third exhibited a snap-back, the second one did not.


It seems I can avoid snap-back by first lifting one finger and then the other.
Comment 1 main.haarp 2018-03-26 15:25:09 UTC
I don't think Peter received mail about this. Adding him to CC. Sorry if I shouldn't have done that!
Comment 2 Peter Hutterer 2018-04-03 06:02:35 UTC
thanks for the cc, I don't automatically get CC'd. It keeps my inbox somewhat sane :)

Judging by the event log, this *should* be a non-issue. The snapback is caused by a ABS_Y movement just before the BTN_TOOL_DOUBLETAP change (see timestamps 0.677692 and 2.905686). In both cases, the ABS_PRESSURE value drops below the threshold though, so the touch should end. On master, this is already the case with commit: 

commit 3f5ff113a8c9469b084941b3b3157d7da95600d1
Author: Peter Hutterer <>
Date:   Wed Mar 21 10:24:12 2018 +1000

     touchpad: only keep low-pressure fingers alive for 2+-slot touchpads


These commits aren't on 1.10.x yet though, I'll try to get them over there for the next release. Meanwhile, using master is the best workaround.
Comment 3 main.haarp 2018-04-18 21:26:00 UTC
Tested 1.10.4, no more snapping. Thank you!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.