This page contains instructions for Ubuntu 8.04 and earlier. For an introduction or for Ubuntu 8.10 and later, please see the new instructions.

Basic Configuration with a Graphical Interface

Ubuntu provides configuration of the most common touchpad options in System > Preferences > Mouse, under the Touchpad tab.

Advanced Configuration with a Graphical Interface

This sections describes how to install a GUI configuration tool for your Synaptics touchpad which integrates into your desktop environment. Other methods of configuring the touchpad include using synclient on the command line, or by adding options directly to the X server configuration file.

Ubuntu

  • Enable SHMConfig.

  • For a preference tool which integrates into the GNOME Desktop environment, install the gsynaptics package from the universe repository. For help with installing packages see InstallingSoftware.

After installation, gsynaptics can be found under System > Preferences > Touchpad.

Kubuntu

  • Enable SHMConfig.

  • For a preference tool which integrates into the KDE desktop environment, install the ksynaptics package from the universe repository. For help with installing packages see InstallingSoftware.

After installation, ksynaptics can be found in the KDE Control Center.

Xubuntu and others

  • Enable SHMConfig.

  • For users of Xfce or anything else besides GNOME or KDE, install the qsynaptics package from the universe repository. For help with installing packages see InstallingSoftware.

Disabling the Touchpad Temporarily While Typing

To avoid accidental mouse movement while typing, syndaemon can be used to monitor the keyboard activity and disable the touchpad for a period of time after the last keystroke. To use syndaemon, you will first need to enable SHMConfig.

The following commands should be typed in a terminal.

The -d option causes syndaemon to run in the background, so the terminal can be closed after executing the command.

syndaemon -d

The -t option causes syndaemon to only disable tapping and scrolling, not mouse movements:

syndaemon -d -t

By default syndaemon disables the touchpad for 2 seconds after the last keyboard activity. To specify a different timeout, use the -i option. For example, a timeout of 1 second:

syndaemon -d -i 1

To make syndaemon start up each time you login, add the desired command to the list of Startup Programs in System > Preferences > Sessions. See AddingProgramToSessionStartup.

Enabling SHMConfig

In order for tools such as synclient, syndaemon, gsynaptics, ksynaptics, and qsynaptics to work, they need access to the synaptics touchpad driver's shared memory. This is done by enabling SHMConfig "on" in the X server Synaptics Touchpad configuration. With this enabled, these tools can modify the run-time configuration of the touchpad input driver without restarting the X server.

  • Warning /!\ Note the warning from the man page for synclient:

    WARNING: This is not secure if you are in an untrusted multiuser
             environment. All local users can change the parameters at any time.

    If this is an issue for you, the touchpad can be configured without enabling SHMConfig by placing the desired options in the X server configuration file logging out and in again.

In a terminal type:

gksudo gedit /etc/X11/xorg.conf

Find the "InputDevice" section for the touchpad:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/psaux"
        Option          "Protocol"      "auto-dev"
        Option          "HorizScrollDelta"      "0"
EndSection

If this section is not present, you will need to add your touchpad to the X server configuration.

Add the following line to this section:

        Option          "SHMConfig"             "on"

The result should look like this:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/psaux"
        Option          "Protocol"      "auto-dev"
        Option          "HorizScrollDelta"      "0"
        Option          "SHMConfig"             "on"
EndSection

To enable the changes log out of your desktop environment, and restart the X server by logging out and back in, or typing sudo /etc/init.d/gdm restart.

Configuration with synclient

synclient can be used to adjust touchpad settings from the command line. This will work even if a GUI Preference tool is installed.

Enable SHMConfig in the X server configuration file as described in the section Enabling SHMConfig.

List all settings:

synclient -l

Examples

Turn touchpad off:

synclient TouchpadOff=1

Turn touchpad on:

synclient TouchpadOff=0

Configuration with the X Server Configuration file

The options that are shown by the command synclient -l (see above) may also be added directly to the touchpad "InputDevice" section in /etc/X11/xorg.conf. In this case SHMConfig does not need to be enabled.

For example, to turn the touchpad off, add the line:

        Option          "TouchpadOff"           "1"

The result will look like this:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/psaux"
        Option          "Protocol"      "auto-dev"
        Option          "HorizScrollDelta"      "0"
        Option          "SHMConfig"             "off"
        Option          "TouchpadOff"           "1"
EndSection

Troubleshooting

Determine Whether a Touchpad Is Configured

To check if a touchpad is configured, open a terminal and check your /etc/X11/xorg.conf file by typing the following:

grep Iden /etc/X11/xorg.conf

If one of the lines is:

        Identifier      "Synaptics Touchpad"

then you have a Synaptics Touchpad configured. If not, see Adding a Synaptics Touchpad to the X Server Configuration.

Adding a Synaptics Touchpad to the X Server Configuration

To add support for a touchpad which was not detected the xorg.conf file will need to be edited. In a terminal type:

gksudo gedit /etc/X11/xorg.conf

After the lines:

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ExplorerPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Emulate3Buttons"       "true"
EndSection

add the following:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/psaux"
        Option          "Protocol"      "auto-dev"
        Option          "HorizScrollDelta"      "0"
EndSection

Next, find the "ServerLayout" section near the bottom:

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
        InputDevice     "stylus" "SendCoreEvents"
        InputDevice     "cursor" "SendCoreEvents"
        InputDevice     "eraser" "SendCoreEvents"
EndSection

Add the following line:

        InputDevice     "Synaptics Touchpad"

The result should look like this:

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
        InputDevice     "stylus"        "SendCoreEvents"
        InputDevice     "cursor"        "SendCoreEvents"
        InputDevice     "eraser"        "SendCoreEvents"
        InputDevice     "Synaptics Touchpad"
EndSection

To enable the changes restart X by logging out and back in, or typing sudo /etc/init.d/gdm restart.

See also


SynapticsTouchpad/Hardy (last edited 2010-01-01 03:35:29 by starcraft.man)