50-synaptics.conf options not working

How does Ubuntu come up with the default synaptics settings? I've got Ubuntu Netbook 10.10 installed on an Eeepc 900. Out of the box TapButton2 was set to 3, and TapButton3 was set to 2.

I have several custom synaptics settings I want as system wide defaults. Right now I use a script with synclient commands I have to run every boot or wake. Pita. It used to be everything went in xorg.conf..which no longer exists. I'm trying to learn the new way, which is apparently conf files at /usr/share/X11/xorg.conf.d.

  1. I edited /usr/share/X11/xorg.conf.d/50-synaptics.conf to look like:

    Section "InputClass"
         Identifier "touchpad catchall"
         Driver "synaptics"
         MatchIsTouchpad "on"
         MatchDevicePath "/dev/input/event*"
         Option "LockedDrags" "1"
         Option "TapButton2"  "2"
         Option "TapButton3"  "3"
    EndSection
  2. I tried modifying the touchpad section of /usr/share/X11/xorg.conf.d/10-evdev.conf, no cigar.

  3. Tried the same 50-synaptics.conf and 10-evdev.conf files in a /etc/X11/xorg.conf.d section.

  4. Tried making a /etc/X11/xorg.conf with the InputClass section above. No cigar.

I always revert the old change first, make the new one, and start a new X session to test (startx -- :2). Something I find interesting is that after any switch to the virtual terminal (ctrl+alt+F1) my synaptics settings are lost. Significant? I don't know.

These are the synclient commands I run:

jake@clyde:~$ cat bin/synset.sh
#!/bin/bash
synclient TapButton2=2
synclient TapButton3=3
synclient LockedDrags=1

Here is what's in /dev/input:

jake@clyde:/dev/input$ ls
by-path/  event0  event1  event2  event3  event4  event5  event6  event7  mice  mouse0
jake@clyde:/dev/input$ ls -l by-path/
total 0
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-eeepc-event -> ../event6
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-0-event-kbd -> ../event4
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-event-mouse -> ../event7
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-mouse -> ../mouse0

The X log is rather long, but here's some output. If the whole thing would be useful, where is a good place to upload it?

jake@clyde:/var/log$ egrep "synaptics|touchpad" Xorg.0.log
[    16.707] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event7)
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev touchpad catchall"
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    16.707] (II) LoadModule: "synaptics"
[    16.707] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    16.707] (II) Module synaptics: vendor="X.Org Foundation"
[    16.708] (II) Synaptics touchpad driver version 1.2.2
[    16.708] (II) ETPS/2 Elantech Touchpad: x-axis range 8 - 1144
[    16.708] (II) ETPS/2 Elantech Touchpad: y-axis range 8 - 760
[    16.708] (II) ETPS/2 Elantech Touchpad: device does not report pressure, will use touch data.
[    16.708] (II) ETPS/2 Elantech Touchpad: finger width range 0 - 0
[    16.708] (II) ETPS/2 Elantech Touchpad: buttons: left right double triple
[    16.708] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.708] (**) ETPS/2 Elantech Touchpad: always reports core events
[    16.708] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
[    16.708] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 0
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    16.709] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.710] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[ 15516.377] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44215.009] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44358.733] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44414.761] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44515.817] (--) ETPS/2 Elantech Touchpad: touchpad found

It looks like this remains unresolved in current Ubuntus (12.04, 12.10).

  • https://askubuntu.com/questions/252166/ubuntu-isnt-loading-xorg-conf
  • Ubuntu completly ignores my xorg.d settings
  • X11 ignoring options in configuration for input device

Ok, let's try to dive into

Xorg custom configuration:

With deprecation of HAL Xorg uses udev for device detection. Therefore any udev rules defined will be taken into account when it comes to configure XServer. However there is no need to define udev rules as Xorg supports configuration files, in fact defining udev rules is disouraged.

Custom configuration files follow this priority:

  • settings from /usr/share/X11/xorg.conf.d/
  • udev rules (I'm not quite sure about udev priority, maybe less)
  • settings from /etc/X11/xorg.conf.d/
  • settings in /etc/X11/xorg.conf

where the good old, still supported xorg.conf has highest priority. Therefore any rules you put in /usr/share/X11/xorg.conf.d/ loose validity when other rules with a higher priority are found.

To define a custom configuration without xorg.conf file you need to create a folder /etc/X11/xorg.conf.d/ where you put your custom device configuration files in (here your 50-synaptics.conf). However any other definitions in an existing xorg.conf file will override these, therefore you need to remove your xorg.conf file.

Unfortunately I have no access to a Synaptics Touchpad and cannot test if it really works. A very good tutorial on how to configure X can be found (though alien) in the Fedora Project Wiki.

Good luck.


I'm using Ubuntu 11.04 and apparently the gnome settings daemon is the one overriding the synaptics options wherever you put them. In fact, for the "TapButton" option, the values djkeikyb is trying to use are the default and the daemon inverts them.

Running a script with the synclient commands at startup was not an option, because of the virtual terminal thing described by djkeikyb and also because any time I connected/disconnected my USB mouse, the values were also reset.

I decided to disable the settings daemon for the mouse/touchpad properties. In a terminal type:

gconf-editor

Then go to apps > gnome_settings_daemon > plugins > mouse and dismiss the active option. Of course, the side effect is not being able to edit the mouse properties under System > Preferences > Mouse


At this point it looks like a bug. I'll move forward with asking around the synaptic and xorg mailing lists and filing a bug report. This is my unsatisfactory answer :/

While I haven't had the opportunity to test my options in Ubuntu 11.04 yet, synaptics and xorg also do not work as expected in an up to date (Thu Jun 2 03:09:43 PDT 2011) Arch install. Thus, it appears to be an upstream bug, not specifically Ubuntu.