Installation

Configuration

The primary method of configuration for the touchpad is through an Xorg server configuration file. After installation of xf86-input-synaptics, a default configuration file is located at /etc/X11/xorg.conf.d/50-synaptics.conf.

Users can edit this file to configure the various driver options available, for a complete list of all available options users should refer to the synaptics manual page:

$ man synaptics

Frequently used options

The following lists options that many users may wish to configure. Note that all these options can simply be added to the main configuration file in /etc/X11/xorg.conf.d/50-synaptics.conf, as shown in this example configuration file where we have enabled vertical, horizontal and circular scrolling:

(integer) configures which mouse-button is reported on a non-corner, one finger tap.

TapButton2

(integer) configures which mouse-button is reported on a non-corner, two finger tap

TapButton3

(integer) configures which mouse-button is reported on a non-corner, three finger tap

RBCornerButton

(integer) configures which mouse-button is reported on a right bottom corner, one finger tap (use Option "RBCornerButton" "3" to achieve Ubuntu style tap behaviour for right mouse button in lower right corner)

RTCornerButton

(integer) as above, but for top right corner, one finger tap.

VertEdgeScroll

(boolean) enables vertical scrolling while dragging across the right edge of the touch pad.

HorizEdgeScroll

(boolean) enables horizontal scrolling while dragging across the bottom edge of the touch pad.

VertTwoFingerScroll

(boolean) enables vertical scrolling using two fingers.

HorizTwoFingerScroll

(boolean) enables horizontal scrolling using two fingers.

EmulateTwoFingerMinZ/W

(integer) play with this value to set the precision of two finger scroll.

An example with a brief description of all options. As usual settings will vary between machines. It is recommended that you discover your own options using synclient.

Note:

If you find that your hand frequently brushes your touchpad, causing the TapButton2 option to be triggered (which will more than likely paste from your clipboard), and you do not mind losing two-finger-tap functionality, set TapButton2 to -1.

Recent versions include a "Coasting" feature, enabled by default, which may have the undesired effect of continuing almost any scrolling until the next tap or click, even if you are no longer touching the touchpad. This means that to scroll just a bit, you need to scroll (by using the edge, or a multitouch option) and then almost immediately tap the touchpad, otherwise scrolling will continue forever. If wish to avoid this, set CoastingSpeed to 0.

GNOME

Users of GNOME may have to edit its configuration as well, because in default it is set to disable tapping to click, horizontal scrolling and not to allow touchpad disabling while typing.

To change these settings in Gnome 2:

Run gconf-editor

Edit the keys in the /desktop/gnome/peripherals/touchpad/ folder.

To change these settings in Gnome 3:

Open System Settings.

Click Mouse and Touchpad.

Change the settings on the Touchpad tab.

Gnome settings daemon may override existing settings (for example ones set in xorg.conf.d) for which there is no equivalent in any of the graphical configuration utilities. It is possible to stop gnome from touching mouse settings at all:

Run dconf-editor

Edit /org/gnome/settings-daemon/plugins/mouse/

Uncheck the active setting

It will now respect your system's existing synaptics configuration.

Remember: Since Gnome works on a user by user basis, when you run dconf-editor or gconf-editor, this should be done in your current user session. Repeat this procedure for each and every user you have for this computer.

MATE

As with GNOME, it is possible configure the way MATE handles the touchpad:

Run mateconf-editor

Edit the keys in the desktop/mate/peripherals/touchpad/ folder.

To prevent Mate settings daemon from overriding existing settings, do as follows:

Run mateconf-editor

Edit /apps/mate_settings_daemon/plugins/mouse/

Uncheck the active setting.

Configuration on the fly

Next to the traditional method of configuration, the Synaptics driver also supports on the fly configuration. This means that users can set certain options through a software application, these options are applied immediately without needing a restart of Xorg. This is useful to test configuration options before you include them in the configuration file.

Warning: On-the-fly configuration is non-permanent and will not remain active through a reboot, suspend/resume, or restart of Xorg. This should only be used to test, fine-tune or script configuration features.

Console tools

Synclient (Recommended) — command line utility to configure and query Synaptics driver settings on a live system, the tool is developed by the synaptics driver maintainers and is provided with the synaptics driver

Graphical tools

Warning: Some of the tools below still require the obsolete SHMConfig mode, and will not work with current xf86-input-synaptics driver. Please remove outdated tools from the list.

GPointing Device Settings — provides graphical on the fly configuration for several pointing devices connected to the system, including your synaptics touch pad. This application replaces GSynaptics as the preferred tool for graphical touchpad configuration through the synaptics driver

Synaptiks (unmaintained) — touchpad configuration and management tool for KDE. It provides a System Settings module to configure basic and advanced features of the touchpad. Additionally it comes with a little system tray application, which can switch the touchpad automatically off, while an external mouse is plugged or while you are typing. This utility is currently unmaintained; moreover it seems to crash under KDE 4.11.

After you have successfully tried and tested your options through synclient, you can make these changes permanent by adding them to /etc/X11/xorg.conf.d/50-synaptics.conf.

evtest

The tool evtestAUR can display pressure and placement on the touchpad in real-time, allowing further refinement of the default Synaptics settings. The evtest monitoring can be started with:

$ evtest /dev/input/eventX

X denotes the touchpad's ID. It can be found by looking at the output of cat /proc/bus/input/devices.

evtest needs exclusive access to the device which means it cannot be run together with an X server instance. You can either kill the X server or run evtest from a different virtual terminal (e.g., by pressing Ctrl+Alt+2).

Circular Scrolling

Circular scrolling is a feature that Synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.
To enable circular scrolling, add the following options to the touchpad device section of /etc/X11/xorg.conf.d/50-synaptics.conf:

The option CircScrollTrigger may be one of the following values, determining which edge circular scrolling should start:

0 All Edges
1 Top Edge
2 Top Right Corner
3 Right Edge
4 Bottom Right Corner
5 Bottom Edge
6 Bottom Left Corner
7 Left Edge
8 Top Left Corner

Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you start from.

To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.

Natural scrolling

It is possible to enable natural scrolling through synaptics. Simply use negative values for VertScrollDelta and HorizScrollDelta like so:

Software toggle

You may find it useful to have a software toggle that will turn on or off your touchpad, especially if it is extremely sensitive and you are doing a lot of typing. Please also see #Disable touchpad upon external mouse detection as that may be better solution, a matter of choice. The advantage here is you have the control, while the other solution has a daemon determine when to turn off the trackpad.

You will want to grab xbindkeys if you do not already have key binding software.

Then save this script to something such as /usr/bin/trackpad-toggle.sh:

If you are using a login manager, you will need to specify the command where your DE allows you to do so.

Using a login manager

The -d option is necessary to start syndaemon as a background process for post Login instructions.

For GNOME: (GDM)

To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to System > Preferences > Startup Applications. In the Startup Programs tab click the Add button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:

In Gnome 3 run gnome-session-properties to access startup applications.

$ syndaemon -t -k -i 2 -d &

When you are done, click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you have created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you are done.

Troubleshooting

xorg.conf.d/50-synaptics.conf doesn't seem to apply under GNOME and MATE

GNOME and MATE, by default, will overwrite various options for your touch-pad. This includes configurable features for which there is no graphical configuration within GNOME's system control panel. This may cause it to appear that /etc/X11/xorg.conf.d/50-synaptics.conf isn't applied. Please refer to the GNOME section in this article to prevent this behavior.

Touchpad detected as "PS/2 Generic Mouse" or "Logitech PS/2 mouse"

This is caused by a kernel bug which was fixed in kernel version 3.3. Wrongly detected touchpads cannot be configured with the Synaptic input driver. To fix this, simply install the AUR package psmouse-alps-driverAUR.

In some cases Synaptics touchpads only work partially. Features like two-finger scrolling or two-finger middle-click do not work even if properly enabled. This is probably related to the The touchpad is not working problem mentioned above. Fix is the same, prevent double module loading.

If preventing the module from loading twice does not solve your issue, try commenting out the toggle "MatchIsTouchpad" (which is now included by default in the synaptics config).

Disable touchpad upon external mouse detection

With the assistance of udev, it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rules to /etc/udev/rules.d/01-touchpad.rules:

If syndaemon starts automatically with mouse removal, then you can combine this with the remove rule above. If you need to start syndaemon yourself, then alter the command accordingly with your favourite syndaemon options.

Cursor jump

Some users have their cursor inexplicably jump around the screen. There currently no patch for this, but the developers are aware of the problem and are working on it.

Another posibility is that you're experiencing IRQ losses related to the i8042 controller (this device handles the keyboard and the touchpad of many laptops), so you have two posibilities here:

Firefox and special touchpad events

Note: The default setting on my FireFox 23.0.1 works well.And the settings below don't exist on it

By default, Firefox is set up to do special events upon tapping or scrolling certain parts of your touchpad.
You can edit the settings of those actions by typing about:config in your Firefox address bar.
To alter these options, double-click on the line in question, changing "true" to "false" and vise versa.

To prevent Firefox from scrolling (backward/forward) through browser history and instead scroll through pages, edit these settings as shown:

Scrolling and multiple actions with Synaptics on LG laptops

These problems seem to be occurring on several models of LG laptops.
Symptoms include: when pressing Mouse Button 1, Synaptics interprets it as ScrollUP and a regular button 1 click; same goes for button 2.

The scrolling issue can be resolved by entering in xorg.conf:

/etc/X11/xorg.conf.d/xorg.conf

Option "UpDownScrolling" "0"

Note: This will make Synaptics interpret one button push as three. There is a patch written by Oskar Sandberg[1] that removes these clicks.

Apparently, when trying to compile this against the latest version of Synaptics it fails. The solution to this is using the GIT repository for Synaptics[2].

If you are using Xorg 7.4, you may get a warning like this from /var/log/Xorg.0.log, thais is because the driver will grab the event device for exclusive use when using the Linux 2.6 event protocol. When it fails, X will return this error message.

Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space.

If you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in /etc/X11/xorg.conf.d/50-synaptics.conf:

/etc/X11/xorg.conf.d/50-synaptics.conf

...
Option "GrabEventDevice" "''boolean''"
...

This will come into effect when X is restarted, though you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the Synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.

Synaptics loses multitouch detection after rebooting from Windows

Many drivers include a firmware that is loaded into flash memory when the computer boots. This firmware is not necessarily cleared upon shutdown, and is not always compatible with Linux drivers. The only way to clear the flash memory is to shutdown completely rather than using reboot. It is generally considered best practice to never use reboot when switching between operating systems.

Buttonless touchpads (aka ClickPads)

Some laptops have a special kind of touchpad which has the mouse buttons as part of the tracking plate, instead of being external buttons. For example HP series 4500 ProBooks, ThinkPad X220 and X1 ThinkPad series have this kind of a touchpad. By default whole button area is detected as a left button resulting in the second mouse button being unusable and click + drag will not work. Previously support for such devices was achieved by using third party patches, but from version 1.6.0 the synaptics driver has native multitouch support (using the mtdev library). Note that although the driver registers multiple touches, it does not track individual fingers (as of version 1.7.1) which results in confusing behavior when using physical buttons of a clickpad for drag-and-drop and other gestures. You can look into the xf86-input-mtrack driver for better multitouch support.

To enable other buttons modify the touchpad section in /etc/X11/xorg.conf.d/50-synaptics.conf (or better, of your custom synaptics configuration file prefixed with a higher number):

The above example is commonly found in documentation or synaptics packages, and it translates to right half of the bottom 18% of the touchpad to be a right button. There is no middle button defined. If you want to define a middle button remember one key piece of information from the manual; edge set to 0 extends to infinity in that direction.

In the following example right button will occupy 40% of the rightmost part of the button area. We then proceed to setup the middle button to occupy 20% of the touchpad in a small area in the center.

If your buttons aren't working, soft button areas are not changing, ensure you do not have a synaptics configuration file distributed by a package which is overriding your custom settings (ie. some AUR packages distribute configurations prefixed with very high numbers).

Touchpad detected as mouse (elantech touchpads)

This can happen with some laptops with an Elantech touchpad, for example the ASUS x53s. In this situation you need psmouse-elantechAUR package from AUR.