Bug 103201

Summary: Wrong sensitivity for Elantech touchpad
Product: Wayland Reporter: carlos.otgz
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description carlos.otgz 2017-10-10 16:36:12 UTC
The sensitivity for my touchpad on the current version of libinput under Archlinux is a bit incorrect. Specifically, tapping with one finger requires too much pressure.

I have updated the pressure sensitivity by myself and now it feels as before:

$ cat /etc/udev/hwdb.d/99-touchpad-pressure.hwdb 
libinput:name:*ETPS/2 Elantech Touchpad:dmi:*bvnAmericanMegatrendsInc.:*pnUX305LA*
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8
 
Below is some information that might be useful in the correction of this bug:

$ udevadm info /sys/class/input/event11
P: /devices/platform/i8042/serio4/input/input13/event11
N: input/event11
E: DEVNAME=/dev/input/event11
E: DEVPATH=/devices/platform/i8042/serio4/input/input13/event11
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=66
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: ID_INPUT_WIDTH_MM=99
E: LIBINPUT_ATTR_PRESSURE_RANGE=10:8
E: LIBINPUT_ATTR_RESOLUTION_HINT=31x31
E: LIBINPUT_DEVICE_GROUP=11/2/e/0:isa0060/serio4
E: MAJOR=13
E: MINOR=75
E: SUBSYSTEM=input
E: USEC_INITIALIZED=2639294

$ pacman -Qi libinput
Name            : libinput
Version         : 1.8.3-1

$ cat /sys/class/dmi/id/modalias       
dmi:bvnAmericanMegatrendsInc.:bvrUX305LA.206:bd08/03/2015:svnASUSTeKCOMPUTERINC.:pnUX305LA:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnUX305LA:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
Comment 1 carlos.otgz 2017-10-10 16:38:38 UTC
Adding missing vendor model of my laptop:

ASUSTeK COMPUTER INC UX305LA
Comment 2 Peter Hutterer 2017-10-11 00:18:43 UTC
run sudo libinput measure touchpad-pressure please and let me know how you go with that. 10:8 may be the right value in the end, but it's best to measure it first
Comment 3 Peter Hutterer 2017-10-23 05:22:52 UTC
ping?
Comment 4 carlos.otgz 2017-10-23 20:55:23 UTC
Sorry for the delay. I don't have that sub-command available on my system (Archlinux updated). In fact, I even think it's a bug because when ran, I get an error saying "Failed to execute 'touchpad-pressure' (No such file or directory)".

I have "straced" the command and in fact, it looks for a non-existing file. I'm trying to remember the method I've used to measure the sensitivity but I cannot remember and can't find it on my history...

I will try to check again during this week. However, if you know any other method to achieve the same, I'd appreciate your comments.
Comment 5 Peter Hutterer 2017-10-24 04:45:53 UTC
you'll need a newer libinput then, 1.9 was released last week. for the command itself, you can just grab the git repo and run sudo ./tools/libinput-measure-touchpad-pressure directly, no building required.
Comment 6 carlos.otgz 2017-11-01 10:28:33 UTC
This is the output (consider that it's using the corrected values that I have applied... I would not like to intentionally break my touchpad again). However, if truly needed, just let me know

Ready for recording data.
Pressure range used: 8:10
Palm pressure range used: 130
Place a single finger on the touchpad to measure pressure values.
Ctrl+C to exit

Sequence 16421 pressure: min:  18 max:  28 avg:  24 median:  25 tags: down
Sequence 16422 pressure: min:  22 max:  41 avg:  34 median:  36 tags: down
Sequence 16423 pressure: min:  13 max:  23 avg:  20 median:  21 tags: down
Sequence 16424 pressure: min:  14 max:  26 avg:  20 median:  22 tags: down
Sequence 16425 pressure: min:  16 max:  34 avg:  29 median:  31 tags: down
Sequence 16426 pressure: min:  15 max:  64 avg:  52 median:  57 tags: down
Sequence 16427 pressure: min:  14 max:  25 avg:  22 median:  24 tags: down
Comment 7 Peter Hutterer 2017-11-01 22:43:30 UTC
This tool doesn't actually use libinput directly, it just prints what libinput would use (8:10) based on the udev hwdb data.

What I don't understand is why you need your hwdb override. Your device should just use 8:10 anyway - that's the generic fallback for elantech touchpads. What is it set to when you remove it? (and run the steps in https://wayland.freedesktop.org/libinput/doc/latest/faq.html#faq_hwdb_changes)
Comment 8 Peter Hutterer 2017-11-01 22:54:56 UTC
This tool doesn't actually use libinput directly, it just prints what libinput would use (8:10) based on the udev hwdb data.

What I don't understand is why you need your hwdb override. Your device should just use 8:10 anyway - that's the generic fallback for elantech touchpads. What is it set to when you remove it? (and run the steps in https://wayland.freedesktop.org/libinput/doc/latest/faq.html#faq_hwdb_changes)
Comment 9 Peter Hutterer 2017-12-18 04:59:04 UTC
Closing after over a month in needinfo

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.