Bug 100873

Summary: Elantech touchpad: multi-finger scrolling not working at all
Product: Wayland Reporter: Moritz Bunkus <moritz>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium CC: bugseforuns, peter.hutterer
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: "udevadm info" output
xinput properties
DMI ID modalias
evemu recording of several attempts at scrolling
Xorg.0.log of multi-finger-scrolling-working-with-Synaptics instead of libinput

Description Moritz Bunkus 2017-04-28 20:16:03 UTC
Created attachment 131134 [details]
"udevadm info" output

* libinput 1.7.1 on Arch Linux
* Laptop is an Asus UX301L
* Physical dimensions are 100x66mm

Problem: scrolling with two or three fingers is not working at all. Not one tiny bit. No matter how many fingers I use, no matter where I try to scroll. It just doesn't work.
Comment 1 Moritz Bunkus 2017-04-28 20:16:29 UTC
Created attachment 131135 [details]
xinput properties
Comment 2 Moritz Bunkus 2017-04-28 20:16:47 UTC
Created attachment 131136 [details]
DMI ID modalias
Comment 3 Moritz Bunkus 2017-04-28 20:17:11 UTC
Created attachment 131137 [details]
evemu recording of several attempts at scrolling
Comment 4 Moritz Bunkus 2017-04-28 20:18:02 UTC
I have to add that scrolling with multiple fingers works fine if I use the Elantech touchpad driver instead of libinput. I'm using x.org and not Wayland, obviously.
Comment 5 Moritz Bunkus 2017-04-28 20:40:33 UTC
What I mean by "the Elantech driver" is actually the Synaptics input driver. Installing the "xs86-input-synaptics" package and using the following x.org configuration makes multi-finger-scrolling work:

------------------------------------------------------------
Section "InputClass"
  Identifier "touchpad"
  Driver "synaptics"
  MatchIsTouchpad "on"
EndSection
------------------------------------------------------------

For comparison purposes I'll attach Xorg.0.log of multi-finger-scrolling-working-with-Synaptics.
Comment 6 Moritz Bunkus 2017-04-28 20:41:36 UTC
Created attachment 131143 [details]
Xorg.0.log of multi-finger-scrolling-working-with-Synaptics instead of libinput
Comment 7 Peter Hutterer 2017-05-02 02:33:03 UTC
(In reply to Moritz Bunkus from comment #0)
> * Physical dimensions are 100x66mm
filed https://github.com/systemd/systemd/pull/5872

As for the scroll, I get axis events from this recording but I also notice that there's a fair bit of 3-finger interaction here. Did you intend for that?

I recommend running sudo libinput-debug-events to check if the issue could be elsewhere, if it prints axis events, then scrolling works.
Comment 8 Moritz Bunkus 2017-05-02 12:31:26 UTC
Thanks for looking into it & for filing the update to the hwdb.

> As for the scroll, I get axis events from this recording but I also notice that there's a fair bit of 3-finger interaction here. Did you intend for that?

That three-finger action was intentional. As the two-finger action didn't produce any visible scrolling (I was trying this on top of a Google Chrome window with ~3 pages of content, so there should have been scrolling by Chrome) I decided to give three-fingers a try, too, so that you'd have more data to potentially spot problems.

> I recommend running sudo libinput-debug-events to check if the issue could be elsewhere, if it prints axis events, then scrolling works.

Running `sudo libinput-debug-events` only shows POINTER_MOTION events, and only for one-finger movement. Whenever I try to use two fingers for scrolling, no events are reported at all, not even POINTER_MOTION events. Same for three fingers.

Interestingly moving a single finger on the right side up & down doesn't produce POINTER_MOTION events either — nothing, just like the two-finger scroll attempt.

Anything else I can try? Any other information I can provide?
Comment 9 Peter Hutterer 2017-05-05 05:03:41 UTC
(In reply to Moritz Bunkus from comment #8)
> Running `sudo libinput-debug-events` only shows POINTER_MOTION events, and
> only for one-finger movement. Whenever I try to use two fingers for
> scrolling, no events are reported at all, not even POINTER_MOTION events.
> Same for three fingers.

actually, looking at the pressure values again, this is a dupe of bug 100463, should be fixed once I get 1.7.2 out

> Interestingly moving a single finger on the right side up & down doesn't
> produce POINTER_MOTION events either — nothing, just like the two-finger
> scroll attempt.

that's likely the palm detection kicking, so that's expected
http://wayland.freedesktop.org/libinput/doc/latest/palm_detection.html

*** This bug has been marked as a duplicate of bug 100463 ***
Comment 10 Moritz Bunkus 2017-05-10 14:17:55 UTC
With libinput 1.7.2 two-finger scrolling works nicely out of the box. Thanks.

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.