2

In trying to solve this problem about resting my thumb on a clickpad, I've come across an alternative driver for touchpads/clickpads called mtrack, which tracks individual fingers and has an option to ignore resting thumbs:

IgnoreThumb - Whether or not to ignore touches that are determined to be thumbs. Boolean value. Defaults to false.

This seems to solve my original problem, but it introduces a new one (which is why this is a new question instead of an answer to that one): with this new driver, I can only left-click with the bottom of the clickpad, not right-click.

There seems to be an option specifically for this feature:

ButtonZonesEnable - Whether or not to enable button zones. If button zones are enabled then the trackpad will be split into one, two, or three vertical zones. Clicking the integrated button in one of these zones will send the button event for ClickFinger1, ClickFinger2, or ClickFinger3. The driver will only add zones for those ClickFinger values that are enabled. So setting ClickFinger1 to 0 and enabling the other two will create two zones, one for ClickFinger2 and one for ClickFinger3. Boolean value. Defaults to false.

So I added these options to my configuration:

Section "InputClass"
  MatchIsTouchpad "true"
  Identifier "Multitouch Touchpad"
  Driver "mtracK"
  Option "IgnoreThumb" "true"
  Option "Sensitivity" "0.5"
  Option "ClickFinger1" "1"
  Option "ClickFinger2" "0"
  Option "ClickFinger3" "3"
  Option "ButtonZonesEnable" "true"
EndSection

However, with these settings, the full width of the lower part of the clickpad (the part I intend to use as buttons) seems to emit button 1 events on pressing. To get button 3 events, I have to press higher. It's as if the "button zones" were accidentally horizontal instead of vertical.

So my question is: how do I set up mtrack to use

  • Vertical button zones
  • At the bottom of the clickpad

I.e. I want my clickpad to behave like this (which is the Synaptic driver's default):

*------------------------*
|                        |
|                        |
|                        |
|                        |
| LLLLLLLLLLRRRRRRRRRRRR |
| LLLLLLLLLLRRRRRRRRRRRR |
*------------------------*

(with L standing for left mouse button and R standing for right mouse button)

but what I got with the above config is this:

*------------------------*
|                        | <- there's a stripe at top that is simply physically not clickable
| RRRRRRRRRRRRRRRRRRRRRR |
| RRRRRRRRRRRRRRRRRRRRRR |
| RRRRRRRRRRRRRRRRRRRRRR |
| LLLLLLLLLLLLLLLLLLLLLL |
| LLLLLLLLLLLLLLLLLLLLLL |
*------------------------*
1

You need to set BottomEdgeZonesEnable to true, which is documented in a commit on GitHub but doesn't seem to be in the main readme.md. Works for me though.

1
  • Unfortunately, it still results in the very bottommost horizontal stripe (just at the edge) to count as left button only.
    – Cactus
    Apr 19 '18 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.