Ubuntu – Help Configuring Synaptics Touchpad


edit: I can achieve point 1 now. Still need a solution for point 2, though.

I am having a hard time configuring my notebook's touchpad.

The touchpad already works. It successfully responds to one-finger tap, two-finger tap and two-finger vertical scrolling.

What I want to accomplish:

  1. change two-finger tap action from right-mouse click to middle-mouse click
  2. add three-finger tap functionality to yield right-mouse click action (i have checked that the three-finger tap is supported by my laptop's touchpad since it works on Windows)

I read on a forum to use this as a guide.

I have successfully accomplished point 1 with synclient TapButton2=2. However, I have to do it everytime I log in. I have tried to put that command on /etc/rc.local but the computer always boots and logins with the default configuration.

Regarding point 2, I have tried synclient TapButton3=3 but it doesn't do anything when I three-finger tap the touchpad.

I am running Ubuntu 11.10 on an Asus N82JV.


nuno@mozart:~$ cat /etc/X11/xorg.conf  Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"        MatchDevicePath "/dev/input/event*"             Option "TapButton1" "1"             Option "TapButton2" "2"             Option "TapButton3" "3" EndSection


nuno@mozart:~$ cat /usr/share/X11/xorg.conf.d/50-synaptics.conf
# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
            Option "TapButton1" "1"
            Option "TapButton2" "2"
            Option "TapButton3" "3"

xinput list:

nuno@mozart:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=12   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=13   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=16   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ USB2.0 2.0M UVC WebCam                    id=10   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=11   [slave  keyboard (3)]
    ↳ Asus Laptop extra buttons                 id=14   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=15   [slave  keyboard (3)]

Best Answer

This seems to work (for part 1) even when you hibernate or sleep.

echo synclient TapButton2=2 TapButton3=3 >> ~/touchpad_settings.sh
chmod +x ~/touchpad_settings.sh
gsettings set org.gnome.settings-daemon.peripherals.input-devices hotplug-command "/home/YOUR USER NAME/touchpad_settings.sh"

Make sure to replace YOUR USER NAME with your actual user name. This was pulled from http://tombuntu.com/index.php/2011/11/06/persistent-touchpad-configuration-in-ubuntu-11-10/