| Summary: | trackpad right-clicking difficulties on Thinkpad 450s | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Greg Farnum <gfarnum> |
| Component: | libinput | Assignee: | Peter Hutterer <peter.hutterer> |
| Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 23 | CC: | gfarnum, peter.hutterer |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-05-05 05:47:29 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Greg Farnum
2016-04-11 17:49:03 UTC
The link below is a description of the click methods we have on clickpads like yours. http://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html The zones themselves are 10mm high at the bottom of the touchpad and have a 50/50 split between left and right buttons (git master has a middle button in the center). Sometimes the touchpad ranges are off though, I'll need you to run the touchpad-edge-detector tool (as root) and attach the output here. It's part of libevdev-utils. Well this is fun. If I run it and swirl my finger around I get values very similar to the kernel defaults:
============================================================
[root@fedoragreg gregf]# touchpad-edge-detector /dev/input/by-path/platform-i8042-serio-1-event-mouse
Touchpad SynPS/2 Synaptics TouchPad on /dev/input/by-path/platform-i8042-serio-1-event-mouse
Move one finger around the touchpad to detect the actual edges
Kernel says: x [1266..5676], y [1096..4758]
Touchpad sends: x [1266..5677], y [1097..4760] \^C
Touchpad size as listed by the kernel: 98x53mm
Calculate resolution as:
x axis: 4410/<width in mm>
y axis: 3662/<height in mm>
Suggested udev rule:
# <Laptop model description goes here>
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnLENOVO:bvrJBET53WW(1.18):bd09/14/2015:svnLENOVO:pn20BWS1KY00:pvrThinkPadT450s:rvnLENOVO:rn20BWS1KY00:rvrNotDefined:cvnLENOVO:ct10:cvrNone:*
EVDEV_ABS_00=1266:5677:<x resolution>
EVDEV_ABS_01=1097:4760:<y resolution>
EVDEV_ABS_35=1266:5677:<x resolution>
EVDEV_ABS_36=1097:4760:<y resolution>
============================================================
BUT. It's exceedingly difficult to get the driver (or the hardware?) to return values very close to those edges if you aren't swiping your finger towards the edge. If I tap once on each edge, as close as I can while still getting the tap detected, one example run gave me:
> Touchpad sends: x [1370..5563], y [1233..4632] -
That dead zone is larger in the corners too, where you can click but not provide location input. :( When I'm going from "not touching" to "right-clicking", I get no location input an awful lot of the time, and am lucky to get a y-value beyond ~4550 (it's easier towards the middle of the touchpad, instead of the corner). It kind of seems like it relies on seeing your finger go off the edge of what it can sense to infer locations near those extremes.
Anyway, knowing that the right-click zone is the right half of the bottom centimeter, I can trigger it pretty reliably. It just wasn't at all clear during experimentation -- I tended to click below where the touchpad would register a location, and then jump just high enough for it to register above the right-click zone -- and nothing in the OS was telling me what to aim for. :(
(In reply to Greg Farnum from comment #2)ual edges > Kernel says: x [1266..5676], y [1096..4758] > Touchpad sends: x [1266..5677], y [1097..4760] \^C fwiw, this is close enough that we don't have to fix it. > BUT. It's exceedingly difficult to get the driver (or the hardware?) to > return values very close to those edges if you aren't swiping your finger > towards the edge. If I tap once on each edge, as close as I can while still > getting the tap detected, one example run gave me: > > Touchpad sends: x [1370..5563], y [1233..4632] - > > That dead zone is larger in the corners too, where you can click but not > provide location input. :( When I'm going from "not touching" to > "right-clicking", I get no location input an awful lot of the time, and am > lucky to get a y-value beyond ~4550 (it's easier towards the middle of the > touchpad, instead of the corner). It kind of seems like it relies on seeing > your finger go off the edge of what it can sense to infer locations near > those extremes. are you sure? I tested this on my T450 and the main reason appears to be that it's very hard to predict where the logical center of the touch point will be when putting the finger down. > Anyway, knowing that the right-click zone is the right half of the bottom > centimeter, I can trigger it pretty reliably. It just wasn't at all clear > during experimentation -- I tended to click below where the touchpad would > register a location, and then jump just high enough for it to register above > the right-click zone -- and nothing in the OS was telling me what to aim > for. :( right. this is something that we'd need some visual hint for in the gnome control center (of whatever DE you're using). Note that I think gnome was thinking about defaulting to clickfinger behaviour at some point. Anyway, in regards to this bug - now that you know where the right button area is - what is left of this bug that we need to fix? (In reply to Peter Hutterer from comment #3) > (In reply to Greg Farnum from comment #2)ual edges > > Kernel says: x [1266..5676], y [1096..4758] > > Touchpad sends: x [1266..5677], y [1097..4760] \^C > > fwiw, this is close enough that we don't have to fix it. > > > BUT. It's exceedingly difficult to get the driver (or the hardware?) to > > return values very close to those edges if you aren't swiping your finger > > towards the edge. If I tap once on each edge, as close as I can while still > > getting the tap detected, one example run gave me: > > > Touchpad sends: x [1370..5563], y [1233..4632] - > > > > That dead zone is larger in the corners too, where you can click but not > > provide location input. :( When I'm going from "not touching" to > > "right-clicking", I get no location input an awful lot of the time, and am > > lucky to get a y-value beyond ~4550 (it's easier towards the middle of the > > touchpad, instead of the corner). It kind of seems like it relies on seeing > > your finger go off the edge of what it can sense to infer locations near > > those extremes. > > are you sure? I tested this on my T450 and the main reason appears to be > that it's very hard to predict where the logical center of the touch point > will be when putting the finger down. Well, I'm just guessing based on a series of clicks and restarting that tester program, while trying to see what was working and what wasn't. So, not certain; but pretty confident, yes. > > > Anyway, knowing that the right-click zone is the right half of the bottom > > centimeter, I can trigger it pretty reliably. It just wasn't at all clear > > during experimentation -- I tended to click below where the touchpad would > > register a location, and then jump just high enough for it to register above > > the right-click zone -- and nothing in the OS was telling me what to aim > > for. :( > > right. this is something that we'd need some visual hint for in the gnome > control center (of whatever DE you're using). Note that I think gnome was > thinking about defaulting to clickfinger behaviour at some point. > > Anyway, in regards to this bug - now that you know where the right button > area is - what is left of this bug that we need to fix? I have solved my immediate problem. Like I said in opening the ticket, it should perhaps be considered more of an RFE/plea for some user visibility in other tools. Whatever tickles your fancy. :) ok, in that case I'll close the bug here. Please file one with gnome/kde/wherever you want to see this change but this needs to be an upstream change first before it'll make its way into fedora. |