My oversensitive touchpad
Jul. 10th, 2013 12:01 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
This is more a note to self than anything else, but who knows, maybe someone reading is having exactly the same problem as me?
The "new" laptop has an overly sensitive touchpad, in that it seemed to be clicking at times when I didn't want it to click. While quite a few people handle this by disabling the touchpad or disabling tap-to-click, I knew from experience with my last linux laptop that this is a solvable problem under linux at least.
There's a *lot* of ways to control mouse settings, but here's the one that worked for me. In short:
to find my touchpad device, which turned out to be id=12
to give me a list of relevant entries
to set it to something that seems better behaved.
According to the link above: "By increasing the second parameter, you require more finger pressure for the trackpad to respond. The first parameter controls release pressure, the third is to detect a button press (I think)."
and that seemed to match up. In my case, I needed to up the second number. While I was in there, I tweaked the two-finger settings so it'd be easier to "right click" with two fingers.
Lest it's useful to me later, here's my current settings:
The "new" laptop has an overly sensitive touchpad, in that it seemed to be clicking at times when I didn't want it to click. While quite a few people handle this by disabling the touchpad or disabling tap-to-click, I knew from experience with my last linux laptop that this is a solvable problem under linux at least.
There's a *lot* of ways to control mouse settings, but here's the one that worked for me. In short:
xinput list
to find my touchpad device, which turned out to be id=12
xinput list-props 12 |grep -i finger
to give me a list of relevant entries
xinput set-prop 12 "Synaptics Finger" 25, 32, 256
to set it to something that seems better behaved.
According to the link above: "By increasing the second parameter, you require more finger pressure for the trackpad to respond. The first parameter controls release pressure, the third is to detect a button press (I think)."
and that seemed to match up. In my case, I needed to up the second number. While I was in there, I tweaked the two-finger settings so it'd be easier to "right click" with two fingers.
Lest it's useful to me later, here's my current settings:
terri@djpwn3:~$ xinput list-props 12 |grep -i finger
Synaptics Finger (261): 25, 32, 256
Synaptics Two-Finger Pressure (268): 256
Synaptics Two-Finger Width (269): 1
Synaptics Two-Finger Scrolling (272): 1, 1
The Joy of xinput
Date: July 10th, 2013 07:54 pm (UTC)That was a few lines of script code ago.
It turns out that the properties available change from driver/xorg version to version, and if there are multiple kernel drivers that work with your hardware, then those change on every boot if your kernel module loading order is unpredictable (hello, systemd. We meet again!). I now have three or four different parameter settings for ONE touchpad in ONE machine to handle all the possible cases.
Some touchpad hardware's motion sensitivity is programmed using a piecewise linear function (below speed x, use ratio Y; above speed x, use ratio Z), others with polynomial curves or exponential series, and translating a preference from one representation to another requires some non-trivial understanding of math. Mix in limited numeric precision in the hardware, and find there are preference settings that cannot be moved from an old device to a new one.
Re: The Joy of xinput
Date: July 10th, 2013 08:16 pm (UTC)That said, I wasn't even thinking about this in terms of moving this from one device to another; I was thinking they could be useful in case the next time I reboot my laptop I find something (oh, systemd) has changed them back to whatever the default, or just a curiousity given how different the "best settings" I found for other people were when I was searching for the problem.
Re: The Joy of xinput
Date: July 11th, 2013 04:56 pm (UTC)For me the acceleration settings are the usual front-runner configuration problem. I need to be able to flick the pointer across the screen with a single stroke across the pad, but still have enough fine precision to hit single-pixel targets. I play a game called "bugsquish" (from a Debian archive near you) with my touchpad to make sure I have the settings right.
You may find that you need to implement the same xinput settings multiple different ways, even if you don't change hardware, because different drivers for the same hardware present different interfaces. Many devices even provide multiple register-level interfaces for compatibility with various hardware legacies. The good news is that you can drive xinput from a script so the search for a specific parameter ID can be automated once you know what it is--gone are the days of blindly plugging values into 'xset m' and hoping they're sane.
I have an HP netbook and a Macbook, which are about as different as two touchpads can be. HP divided their postage-stamp-sized pad into separate horizontal and vertical scroll areas, but it's really too small to be anything but a uniform surface with multi-finger gestures and no clicking on the touchpad (there are buttons, after all). The Macbook's huge touch surface has space to spare for separate scrolling and clicking areas, but it is normally configured as a uniform surface controlled by multi-finger gestures. I ended up configuring each one to behave like the factory defaults of the other, which terribly confuses anyone who tries to use my Macbook.
Re: The Joy of xinput
Date: July 11th, 2013 07:13 pm (UTC)Seriously, I don't know how people handle laptops without that level of acceleration. i was horrified that one of the backbox settings I tried this time accelerated the pointer so much that it became impossible to close windows because it'd jump too many pixels even when I was going slow. WTH? Who thought *that* was a good algorithm?
You may find that you need to implement the same xinput settings multiple different ways, even if you don't change hardware, because different drivers for the same hardware present different interfaces.
Yup. I'm *quite* familiar with this. Remember, not the 1st linux laptop I've set up!
I ended up configuring each one to behave like the factory defaults of the other, which terribly confuses anyone who tries to use my Macbook.
That's hilarious. :) People have trouble with my macbook because of the high pointer acceleration as is; I can't imagine what they'd do if I had it configured any "weirder" ;)