Bug 99200 - Elantech touchpad with libinput has wrong number of buttons
Summary: Elantech touchpad with libinput has wrong number of buttons
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-26 12:00 UTC by Luke
Modified: 2017-01-11 01:07 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Some debugging info run with libinput under Arch (2.26 KB, text/plain)
2016-12-26 12:00 UTC, Luke
Details
synaptics under Arch (1.83 KB, text/plain)
2016-12-26 12:05 UTC, Luke
Details
synaptics under Ubuntu (2.36 KB, text/plain)
2016-12-26 12:15 UTC, Luke
Details
output from an evemu-describe under Arch / synaptics (3.83 KB, text/plain)
2017-01-03 05:27 UTC, Luke
Details
Picture Showing Divider (139.74 KB, image/jpeg)
2017-01-03 07:25 UTC, Luke
Details

Description Luke 2016-12-26 12:00:28 UTC
Created attachment 128656 [details]
Some debugging info run with libinput under Arch

I have a 2 button Elantech touchpad. When I use Fedora 25 or when I replace xf86-input-synaptics with xf86-input-libinput on Arch, libinput thinks I have a middle trackpad button. This causes all kinds of misclicks and weird app behavior. One annoying consequence is half the time Chromium will close a tab when I go to left click on it. Other apps can be equality frustrating to use with libinput because of this issue.
Comment 1 Luke 2016-12-26 12:05:19 UTC
Created attachment 128657 [details]
synaptics under Arch
Comment 2 Luke 2016-12-26 12:15:01 UTC
Created attachment 128658 [details]
synaptics under Ubuntu
Comment 3 Luke 2016-12-31 07:01:27 UTC
Peter,
Is all the necessary information here?

The physical dimensions are 105mmx60mm. If you include the two button areas, 105mmx74mm
Comment 4 Peter Hutterer 2017-01-02 21:48:53 UTC
attach the output from an evemu-describe please, that should tell us more. thanks.
Comment 5 Luke 2017-01-03 05:27:47 UTC
Created attachment 128718 [details]
output from an evemu-describe under Arch / synaptics
Comment 6 Peter Hutterer 2017-01-03 05:54:21 UTC
this is an Asus X555LA right? if so, the photos [1] indicate this is a clickpad without any physical buttons. So my assumption is that you have software buttons enabled by default as outlined here: https://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html

That gives you a middle button (in the middle of the touchpad), if you don't want it you can enable middle button emulation instead or switch to clickfinger instead.

if the middle button isn't in the middle, then the axis ranges are probably wrong, please attach the touchpad-edge-detector tool's output to fix that.

Otherwise, afaict this works as intended, sorry.


[1] https://www.asus.com/au/Notebooks/X555LA/
Comment 7 Luke 2017-01-03 07:11:31 UTC
(In reply to Peter Hutterer from comment #6)
> this is an Asus X555LA right? if so, the photos [1] indicate this is a
> clickpad without any physical buttons. So my assumption is that you have
> software buttons enabled by default as outlined here:
> https://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html
> 
> That gives you a middle button (in the middle of the touchpad), if you don't
> want it you can enable middle button emulation instead or switch to
> clickfinger instead.
> 
> if the middle button isn't in the middle, then the axis ranges are probably
> wrong, please attach the touchpad-edge-detector tool's output to fix that.
> 
> Otherwise, afaict this works as intended, sorry.
> 
> 
> [1] https://www.asus.com/au/Notebooks/X555LA/

If this is by design, then it's a terrible design decision and one more reason to keep synaptics. Take a look at the photo. The trackpad is offcenter, so when you move your right hand down, your thumb is right over the middle of the trackpad. This mean's that 1/2 the right clicks are registered as middle clicks leading to all kinds of annoying behavior. 


It may be possible to fake a 20 buttons, but the physical has a divider with 2 button slots(It's clearly in the photo you linked to). If you're going to add extra buttons that aren't there, these should NOT be enabled by default, especially on models like this one that have buttons physically labeled.
Comment 8 Luke 2017-01-03 07:25:57 UTC
Created attachment 128719 [details]
Picture Showing Divider

Here is a picture of the trackpad clearly showing the divider. If you're going to add hardware that not physically represented, it should be off by default.

The picture also shows how it's offset from center, making it very easy to mis-click when you move your right hand down.
Comment 9 Peter Hutterer 2017-01-03 10:08:44 UTC
Defaults don't always work for everyone. The middle button is still a commonly used interaction method and hard to trigger on most touchpads through emulation. See 886b5a2c and bug 94755 for reasoning behind the feature.

You have a visual marker on the touchpad that tells you where the button is, so the only thing we should do here is to reduce the size of the button. We already do this for some touchpads.

There's a way to turn it off too, so...
Comment 10 Luke 2017-01-04 00:33:33 UTC
 (In reply to Peter Hutterer from comment #9)

> There's a way to turn it off too, so...

This is a case of default not matching the physical hardware resulting in a terrible user experience. It's a bug that shouldn't need a workarounds.

> middle button is still a commonly used interaction method 

This bug should be fixed such that it can be turned it ON for those that need it or more possess more suitable hardware. More choice is good, but defaults should match the hardware. I have a dell laptop at work with a clickpad and no issues with misclicks on Fedora 25.  But that clickpad is larger, centered. Enabling 3 buttons on that is the right choice, but not here.

Trying to force this feature on older hardware that was not designed for it leads to a poor user experience. If you're going to proceed anyway, there should be a blacklist system to reverse default for hardware that's not appropriate like my Asus.
Comment 11 Peter Hutterer 2017-01-04 00:58:49 UTC
(In reply to Luke from comment #10)
> This is a case of default not matching the physical hardware resulting in a
> terrible user experience. It's a bug that shouldn't need a workarounds.

the physical hardware has a single left button, the rest is software emulated.
Comment 12 Luke 2017-01-04 23:29:31 UTC
> the physical hardware has a single left button, the rest is software
> emulated.

I have no doubt that from the libinput's perspective there is no difference between my trackpad and a MacBook pro trackpad. But from the user’s perspective they couldn’t be more different. My trackpad is shifted to the left, meaning as the right hand comes down, and thumb is directly in the center of the pad. There is a visual indicator of 2 buttons, and there is no bump for tactical feedback, and it’s a smaller pad that the MacBook. 

I took the effort to file a bug report, because there’s a real usability issue here. If libinput developers insist on defaults that make sense to them rather than the actual users of the hardware, the end result will be that people will hate distros that use libinput. Distro like Fedora that use It will feel buggy, while others like Ubuntu that use synaptics will feel right.
Comment 13 Peter Hutterer 2017-01-09 01:33:07 UTC
what's the /sys/class/dmi/id/modalias for this device? I'm planning to put a hwdb entry in to reduce the size of the middle button which is something we generally do for touchpads with a visible marker.
Comment 14 Luke 2017-01-09 10:21:19 UTC
$ cat /sys/class/dmi/id/modalias
dmi:bvnAmericanMegatrendsInc.:bvrX555LAB.503:bd08/04/2015:svnASUSTeKCOMPUTERINC.:pnX555LAB:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnX555LAB:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:

Thanks for tying to make the experience less painful.
Comment 16 Peter Hutterer 2017-01-11 01:07:18 UTC
commit 72e01485c0161e8382546c4f0edbb8a3317d0207
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 10 08:20:52 2017 +1000

    udev: mark Asus X555LAB as touchpad with visible marker


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.