# Touchpad Tweaking?

## eccerr0r

Okay now I'm sure - the behavior of the touchpad in Windows is ever so slightly different than Linux that if you really don't look for it, you won't notice...

So the problem is when I touch the touch pad for a tap (but NOT move), in Linux the pointer more frequently moves slightly, making tap-to-click gestures very frustrating as the pointer can be more easily moved off target and sending the click to the wrong location. In windows it works significantly better, I don't accidentally move the pointer while making tap gestures to click.

Changing the move threshold is not what I want, it's only the move threshold on that initial tap that needs to be changed.  If I changed the move threshold then small touch and drags would be affected as well, which is not what I want.

Also another improvement - finger lifting should slow down the movement of the pointer, is this tweakable too?  Not nearly as annoying as trying to do tap to click, but nevertheless would be nice to tweak.

Anyone figure out how to tweak these settings (or even notice the difference between OS?)

----------

## VinzC

 *eccerr0r wrote:*   

> [...] the problem is when I touch the touch pad for a tap (but NOT move), in Linux the pointer more frequently moves slightly, making tap-to-click gestures very frustrating as the pointer can be more easily moved off target and sending the click to the wrong location. In windows it works significantly better, I don't accidentally move the pointer while making tap gestures to click.

 

Now that you mention it I also noticed that frustrating behaviour, especially while attempting to drag window borders which happened to be extremely tiny. As the pointer moves while taping, grabbing the border *is* tough so I ended up changing to a less frustrating visual theme. I never could compare with Windows though as I only have Linux distros on my systems.

EDIT: I have no idea how to modify that behaviour.

----------

## Leonardo.b

Which driver are you using?

For xf86-input-synaptics increasing the following option could fix the first issue (untested - I didn't face the same problem):

```
 Option "MaxTapMove" "integer"

Maximum movement of the finger for detecting a tap. Property: "Synaptics Tap Move"
```

Found this post while browsing for improving my touchpad support.

----------

## dmpogo

if you are using synaptics driver   (which still has more options for supported touchpads than libinput),  you can run   command  synclient with no options to see the list of supported parameters and their values.

man synaptics   will tell you what are the corresponding options to set in xorg.conf   (or, modern way, in a file under /etc/X11/xorg.conf.d

----------

## VinzC

I for one am using the synaptics driver. Currently MaxTapMove is set to 107. Does that represent a number of pixels?

----------

## Leonardo.b

The units are missing from the manpage . For what I know, they could be apples as fishes.

It doesn't matter because you can change the value at runtime with:

```
 synclient Something=1234
```

Anyway my MaxTapMove is set to 67, that's lower than your...  it means that my first advice wasn't right.

There are two options called *Hysteresis. Mine are set to 7. Try them too.

I am not going to post my full synclient output because the middle button isn't working and I can't copy/paste.

When I'll be able to fix it, I'll post it. The solution should be somewhere there.

----------

## VinzC

Well, here are my hysteresis values:

```
    HorizHysteresis         = 12

    VertHysteresis          = 12
```

Will try change and see how it goes...

----------

## dmpogo

 *Leonardo.b wrote:*   

> The units are missing from the manpage . For what I know, they could be apples as fishes.
> 
> It doesn't matter because you can change the value at runtime with:
> 
> ```
> ...

 

For what is it worth,   mine MaxTapValue is 63,  while hysteresis values are 11

----------

## Leonardo.b

MaxTapMove controls when a movement is considered a touch or a movement.

That's not useful, because the driver doesn't stop the cursor when it detects it's only a touch.

So, you can forget about it.

Hysteresis options sound more promising.

When I change them to an high value, like 1000, the touchpad becomes almost unusable. Try to push it to an insane value. Does it work at all?

These values must be relative. I saw a guy with an hysteresis value of 60 by default.

Otherwise, bho. Good luck.

----------

## VinzC

I tried Hysteresis values up to 60 and it gets a bit... weird. With 24 I seem to be fine so far... Case closed ?  :Wink: 

----------

## Leonardo.b

I guess yes. 

But hey - your is not a question.

Leonardo

----------

## eccerr0r

Dang I forgot about this thread...so there's no libinput settings that apply to synaptics?

also is synclient part of x11-drivers/xf86-input-synaptics or which package does it belong?

----------

## Leonardo.b

See this: http://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-lot-of-config.html

The relevant bit is:

 *Quote:*   

> In libinput, we're having none of that. When hardware doesn't work we expect a user to file a bug, we get it fixed upstream for the specific model and thus automatically fix it for all users of that device. We're leaning heavily on udev's hwdb which we have extended to correct devices when the firmware announces wrong information.

 

Yes, synclient comes with xf86-input-synaptics.

On the other side, see:

http://who-t.blogspot.com/2018/07/why-its-not-good-idea-to-handle-evdev.html

Short summary is that values of synclient are relative to each device.

Also, synaptics is somehow buggy by design, according to the author of the article.

Other random stuff I bookmarked together:

http://who-t.blogspot.com/2020/05/wayland-doesnt-support-blah.html

https://magcius.github.io/xplain/article/

But I don't remember exactly what are they about.

"Every day I learn something new; but I forget two".

----------

