An updated post, with instructions that should be relevant for many years.
So, let’s get right to it.
Unity, GNOME, and Cinnamon users: disable the built-in touchpad settings like so:
sudo apt-get install dconf-editor
Press Alt+F2 and launch dconf-editor
Navigate to org.gnome.settings-daemon.plugins.mouse and uncheck the Active box. [1]
Now the fun part. In a terminal, run synclient -l
to see a list of options for your touchpad.
You can test different settings immediately by running synclient Option=Value
, for example: synclient MaxTapTime=400
To make settings persistent across reboots and suspend/resume, you need to add these desired values to a config file, like so [2]:
First off, we need to make the correct directory, because it doesn’t exist yet.
In a terminal, run:
sudo mkdir /etc/X11/xorg.conf.d/
Next, you need to edit the file where we’re going to store these options, so run from a terminal:
sudo nano /etc/X11/xorg.conf.d/50-synaptics.conf
or, if you prefer a graphical editor:
gksu gedit /etc/X11/xorg.conf.d/50-synaptics.conf
And paste this template inside:
Section "InputClass"
Identifier "Touchpad" # required
MatchIsTouchpad "yes" # required
Driver "synaptics" # required
Option "MinSpeed" "0.5"
EndSection
Of course, the option MinSpeed was left in as a guideline for adding your own options. It’s not required, so just replace it.
Any options that you don’t specify will be their default value, so don’t worry about specifying every option, only the ones you want to change.
When you’re done, save this file and logout or reboot to see your configuration in effect.
In some cases, even after following the above advice, your touchpad may ignore the options seemingly at random – if this happens to you, don’t worry, we can fix it by editing one more configuration file.
This time, open up /usr/share/X11/xorg.conf.d/10-evdev.conf
with your favorite editor.
Comment out the section that deals with “touchpads,” like so:
...
#Section "InputClass"
# Identifier "evdev touchpad catchall"
# MatchIsTouchpad "on"
# MatchDevicePath "/dev/input/event*"
# Driver "evdev"
#EndSection
...
Save the file and reboot, and you should be all set.
Wasn’t that easy? Well, it’s a big step in the right direction for anyone running GNU/Linux on a laptop. I’d just like to share a couple configurations that I’ve set personally, for two laptops that I’ve used:
Sony VAIO VGN-NR110E:
Section "InputClass"
Identifier "Touchpad" # required
MatchIsTouchpad "yes" # required
Driver "synaptics" # required
Option "MinSpeed" "1"
Option "MaxSpeed" "1.8"
Option "MaxTapTime" "320"
Option "RTCornerButton" "0"
Option "RBCornerButton" "0"
Option "LTCornerButton" "0"
Option "LBCornerButton" "0"
EndSection
Dell Mini 110:
Section "InputClass"
Identifier "Touchpad" # required
MatchIsTouchpad "yes" # required
Driver "synaptics" # required
Option "MinSpeed" "1"
Option "MaxSpeed" "1.75"
Option "FingerLow" "40"
Option "FingerHigh" "45"
# Option "VertHysteresis" "20"
# Option "HorizHysteresis" "20"
Option "VertResolution" "85"
Option "HorizResolution" "55"
Option "TapButton2" "3"
EndSection
If you get your touchpad working perfectly as well, why not share your configuration? Just post it in a comment along with the laptop model and it will surely help other users.