Saturday, July 4, 2015

Making Synaptics Palm Detection Work Under Ubuntu 11.04


I'm currently using a MacBook Pro (5,5) with Ubuntu 11.04. Everything works great except palm detection with the Synaptics driver. If I use the "multitouch" driver, palm detection works great. In the past this is what I've done but the multitouch driver won't turn off the trackpad while typing and, given the size of the trackpad, it's tough to avoid. ;)


I've been playing with the various settings for a while (both through the GUI and by adding options to my Xorg setup) but nothing seems to change the behavior of the trackpad. I can see that my settings are taking effect through synclient, it just doesn't seem to change anything.


Has anyone managed to get this working? I'm starting to think the problem is specific to Ubuntu, there are many pages on the internet that claim to have this working.


Answer



On my old Thinkpad (T61P), I never had a problem. On my new T420 with Ubuntu Natty, I've not been satisfied with Palm Detection (my thumb always hits the touchpad while using the trackpoint or typing even though I've set the touchpad to disable while typing). I've been searching and searching for a fix to no avail and finally figured a solution for myself.


Using gpointing-device-settings, I already had the detection settings to their narrowest and least pressure, but it wasn't enough.


I ended up lowering the width parameter for a detected palm (PalmMinWidth) and also the pressure needed to detect a palm (PalmWinZ) using xinput. Changing them independently, lowering PalmMinWidth seemed to work better.


Here's the relevant man page:


man synaptics

List your current parameters ("SynPS/2 Synaptics TouchPad" is my device name):


xinput list-props "SynPS/2 Synaptics TouchPad"

Here's the relevant line:


Synaptics Palm Dimensions (274):    9, 199

Lower the relevant parameters:


sudo xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Palm Dimensions" 32 4 100

Check the results:


xinput list-props "SynPS/2 Synaptics TouchPad"
...
Synaptics Palm Dimensions (274): 4, 100
...

Finally, I added that line to ~/.xsessionrc which applies the setting on login.


echo 'xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Palm Dimensions" 32 4 150' >> ~/.xsessionrc

Everybody's different, so fiddle with the numbers as needed. I have the trackpoint to fall back on, so I can play around without creating any hassle for myself when I choose bad parameters. Good luck.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...