Bug 94861

Summary: Touchpad of T450s is not reliable on the bottom part
Product: Wayland Reporter: Benjamin Tissoires <benjamin.tissoires>
Component: libinputAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 91097    
Bug Blocks:    
Attachments: synaptics_bottom_fail.ev
synaptics_bottom_fail.ev

Description Benjamin Tissoires 2016-04-07 17:23:36 UTC
Created attachment 122795 [details]
synaptics_bottom_fail.ev

The touchpad of the T450s is quite unreliable on its bottom part. When I land my thumb on it and immediately trigger a click (when on clickfinger mode), the cursor jumps up and down after the click.

Attached is a recording of my thumb clicking twice with the bug exposed.

This problem does not appear when using the software buttons, as the low part of the touchpad is dead to movements (which makes it usable).

We might not be able to fix this besides "look, your touchpad can not do clickfinger".
Comment 1 Peter Hutterer 2016-04-08 05:20:32 UTC
ok, that took me a while, but: why is the INPUT_PROP_BUTTONPAD property missing?
Comment 2 Benjamin Tissoires 2016-04-14 13:03:47 UTC
Created attachment 122936 [details]
synaptics_bottom_fail.ev

(In reply to Peter Hutterer from comment #1)
> ok, that took me a while, but: why is the INPUT_PROP_BUTTONPAD property
> missing?

Fot the archives, the events were recorded on a kernel where RMI4 over SMBus was incomplete, thus the missing BUTTONPAD property.

With a full RMI4 over SMBus stack, I natively get the property and the software button dead zone is enough to make the device usable again.

However, as stated in the bug, switching the device to clickfinger is cumbersome as the pointer jumps when clicking in the bottom part of the touchpad (with the side of my thumb).
Comment 3 Peter Hutterer 2016-04-15 05:51:01 UTC
verified, though checking the event-debug output I only get pointer events before the click, not after. problem is, in the first touch sequence the BTN_LEFT arrives 100ms after the initial touch down, too late to delay pointer motion in case this is a touch. and otherwise it's pretty much indistinguishable from a normal touch except for the location.

It could be interesting to enable some hysteresis in the bottom area to defuzz pointer motion immediately after a touch down.
Comment 4 Peter Hutterer 2016-04-18 05:35:22 UTC
Had a bit more of a play with this but I can't really detect any good patterns to hook onto. Thumb pressure can go over 100 but I can get that for other fingers if I keep them flatter than usual.

There is no specific increase in the pressure either, looks the same as other fingers. Tried enabling the hysteresis again to see if it helps but it doesn't really change anything.

Played around with my OS X trackpad and it looks like they have a bottom area that reduces motion in some way or another, apparently based on pressure. This affects the bottom 20mm or so. AFAICT if the pressure (or area) is high enough  motion is dropped.

But I can't spot good patterns in the T450 output. A thumb is relatively reliable between 70 and 100 pressure, a finger generally less than 70 if kept at an angle.
Comment 5 Peter Hutterer 2016-08-08 23:46:20 UTC
Related to bug 91097 which is the more generic version
Comment 6 Peter Hutterer 2017-05-19 05:03:52 UTC
closing as dupe, no point having two bugs open if they take that long to fix anyway

*** This bug has been marked as a duplicate of bug 91097 ***

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.