FS#60072 - [libinput] upgrade to 1.12.0 breaks Elan touchpad

Attached to Project: Arch Linux
Opened by Chris (ozz) - Sunday, 16 September 2018, 03:28 GMT
Last edited by Andreas Radke (AndyRTR) - Tuesday, 18 September 2018, 05:06 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andreas Radke (AndyRTR)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I'm working with an ASUS C302 (Skylake/CAVE) Chromebook that has an Elan touchpad.

With the upgrade to 1.12.0 the pad has become practically non-responsive. At least the touch pressure is way too high and the middle mouse button does not work at all. It also seems like the left and right mouse buttons do not always work.

Reverting to libinput version 1.11.3 fixes everything.

I'm not sure if this is a configuration problem or some sort of change/bug within libinput itself.
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Tuesday, 18 September 2018, 05:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  1.12.0-2
Comment by Andreas Radke (AndyRTR) - Sunday, 16 September 2018, 08:58 GMT
Please report this upstream.
Comment by Chris (ozz) - Sunday, 16 September 2018, 11:07 GMT Comment by Paul Bredbury (brebs) - Sunday, 16 September 2018, 11:21 GMT
I've created https://wiki.archlinux.org/index.php/ASUS_C302 - the touchpad pressure can be tweaked.
Comment by Chris (ozz) - Sunday, 16 September 2018, 11:49 GMT
I had tried that change to /etc/udev/hwdb.d/99-touchpad-pressure.hwdb but it does not work. The range is not picked up and the pressure sensitivity stays the same.

Also, this won't fix the middle mouse button (does not work at all) or the (seemingly) broken LMB/RMB (misses clicks).
Comment by Paul Bredbury (brebs) - Sunday, 16 September 2018, 13:46 GMT
This helps the sensitivity:

$ cat /etc/libinput/local-overrides.quirks
[Touchpad pressure override]
MatchUdevType=touchpad
MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svn*Cave:*
AttrPressureRange=10:8

Testing in xorg:

$ grep "Elan Touchpad.*dev.*event" ~/.local/share/xorg/Xorg.0.log
[ 18277.721] (II) config/udev: Adding input device Elan Touchpad (/dev/input/event6)

$ libinput quirks list /dev/input/event6
AttrPressureRange=10:8

There are other quirk examples in /usr/share/libinput/, e.g. ModelChromebook=1 in /usr/share/libinput/50-system-google.quirks
Comment by Paul Bredbury (brebs) - Sunday, 16 September 2018, 13:56 GMT
To demystify that dmi string:

# cat /sys/class/dmi/id/modalias
dmi:bvncoreboot:bvr:bd11/10/2017:svnGoogle:pnCave:pvr1.0:rvnGoogle:rnCave:rvr1.0:cvnGoogle:ct3:cvr:

So I suppose a better matching line is:

MatchDMIModalias=dmi:*svnGoogle:pnCave:*
Comment by Paul Bredbury (brebs) - Monday, 17 September 2018, 09:03 GMT
With the below, "right button" is a two-finger tap, and "middle button" is a three-finger tap:

$ cat /etc/libinput/local-overrides.quirks
[Asus C302]
MatchUdevType=touchpad
MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svnGoogle:pnCave:*
AttrPressureRange=10:8
ModelChromebook=1
Comment by Chris (ozz) - Monday, 17 September 2018, 13:32 GMT
The last one (/etc/libinput/local-overrides.quirks) does fix the sensitivity.

The two and three finger tap work but the right and middle mouse button clicks still do not work. I believe there is only one hardware button but in the old version of libinput it would emulate the middle and right button based on finger position when pressing the hardware button. That's not working in 1.12.0.
Comment by Chris (ozz) - Monday, 17 September 2018, 22:12 GMT

Loading...