Bug 99756

Summary: Enable / disable tapping by number of fingers
Product: Wayland Reporter: AMM <ammdispose-fedora>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: medium CC: ammdispose-fedora, anon.amish, peter.hutterer
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description AMM 2017-02-10 10:03:16 UTC
Hello

I recently switched from Synaptics to libinput (as that became default in Arch linux recently)

I generally do not like tap to click behavior because I always end-up clicking something by accidental touches and hence I always disable it. 

But in synaptics I used 3-finger tapping (middle click). It was very handy for opening links in new tab directly. And it is very unlikely that someone will accidentally touch 3 fingers on touchpad.

I was able achieve do this in Synaptics setting "TapButton1" and "TapButton2" to zero and "TapButton3" to 2 in xorg.conf.d file.

In libinput there is one similar option to set "ButtonMapping".

If I set it to "0 2 0" then one finger and 2 finger taps dont work but 3 finger taps work. But wait it also disable physical left and right buttons too! 

How do I keep physical button active but only 3-finger tap to work (i.e. 1 finger or 2 finger tap should not do anything)

Please suggest or accept my request for this feature.

Thank you
Comment 1 Peter Hutterer 2017-02-13 02:17:43 UTC
there is currently no option to only enable parts of the tapping code, e.g. for three-fingers only and as you found, the ButtonMapping one is for any button coming out of libinput, so it affects real buttons and tapping equally. In short, the exact feature you're looking for doesn't exist in libinput.

If your device is a clickpad, you may be happy enough enabling clickfingers or using the middle button area/emulation instead, see the link below.

https://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html

But the exact feature you're currently using in synaptics is unlikely to ever be implemented in libinput, sorry.
Comment 2 AMM 2017-02-13 08:15:39 UTC
I respect your decision to not have this feature.

But just last request (or suggestion) for this

There is already an option called:
TappingButtonMap

Currently it allows only two values lrm or lmr

Can it not be extended, like instead of fixed words (lrm OR lmr) it can be 3 letter word from l, m, r and d (where d means disable)

user can set it to ddm (will solve my feature request)

or rlm (single click is right click)

or mlr (single click is middle click)

or even dlr (for those who like tapping but want to avoid single finger accidental touch)

This should also make code more simpler and more flexible without too much addition to code.

Thank you in advance.

PS: Sorry to re-open the ticket as I do not know how to bring it into ur notice without re-opening it.
Comment 3 Peter Hutterer 2017-02-23 03:17:31 UTC
sorry, still giving this a 'no'. I don't think it would make the state much simpler since we not only have to keep the whole tap state machine but rather add to it the special code paths where one finger doesn't trigger bugs. Which then affects other things, as tapping starts other features may get disabled so we don't consider a tapping finger as palm, etc.

The better option to address this is to figure out why you're getting accidental taps when you're not intending to tap and fix that misdetection.
Comment 4 Matthieu Gras 2018-07-08 06:43:35 UTC
Is this for real?
This is possibly the most annoying "feature" one could possibly think of and an obvious regression.
Comment 5 Peter Hutterer 2018-07-09 03:48:51 UTC
Yes, it's for real. Coming here out of the blue and complaining in this tone won't get your bug fixed. I strongly recommend keeping your language neutral and technical.

libinput has moved to gitlab, any new bugs should be filed at http://gitlab.freedesktop.org/libinput/libinput/

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.