26

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).

3

6 Answers 6

25
+150

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.

9
  • Eheh..My question is why adding my options at these locations is not having any effect.
    – djeikyb
    Feb 18, 2011 at 23:53
  • @djeikyb: can you also please check (from Xorg.0.log) if there might possibly be more than one instance of the synaptics module loaded (that makes all your custom settings void if the other one was current)
    – Takkat
    Feb 19, 2011 at 12:08
  • You're right. Start from basics, work up. Anyway, you can see part of my Xorg log now. Looks like the synaptics module is loaded only once. Not sure how to interpret /dev/input, but it's in the question now.
    – djeikyb
    Feb 19, 2011 at 12:55
  • Nope. Tried it in 10-edev.conf and 50-synaptics.conf. Interestingly, the xorg log does show my options read from the file.
    – djeikyb
    Feb 19, 2011 at 14:57
  • 1
    @djeikyp: xinput --list --long to show current devices and settings may (or may not) give you additional hints.
    – Takkat
    Feb 19, 2011 at 16:28
9

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

8
  • 2
    Interesting. Unfortunately, I believe this is an upstream bug (although I've been too lazy and busy to write a proper report). I experience this problem using Arch Linux with nary a trace of gnome. However, with this method are you able to have your Xorg settings respected?
    – djeikyb
    Nov 27, 2011 at 5:55
  • 1
    Yes. I put an "Option" in the /usr/share/X11/xorg.conf.d/50-synaptics.conf file (lowest priority according to Takkat, right?) and it is working properly.
    – anthomas8
    Feb 27, 2012 at 22:48
  • 10
    Inspired by this answer I found a similar solution. Run dconf-editor (apt-get install it if you have to), go to org.gnome.settings-daemon.plugins.mouse, uncheck active. I confirm that this solution allowed me to make my /etc/X11/xorg.conf.d/50-synaptics.conf settings be respected in Ubuntu 12.04 beta. @djeikyb, you should mark this answer accepted, because it's the only one that actually solves the subject issue. Apr 18, 2012 at 10:42
  • 1
    @mojojojo I'll install the latest Ubuntu and give it a go once I've got a spare minute. Looks promising.
    – djeikyb
    Apr 22, 2012 at 20:01
  • 3
    Works for me on Debian 8 Jessie
    – aaaaaa
    Nov 30, 2015 at 0:04
2

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.

1
  • Bug is still present in 13.04
    – tutuca
    May 5, 2013 at 14:06
1

Using 11.04 upgraded in series from 9.04 or so if it matters. udev did not work, using /etc/udev/rules.d/99-touchpad-borders.rules

ACTION!="add|change", GOTO="xorg_synaptics_end"
KERNEL!="event*", GOTO="xorg_synaptics_end"

ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="xorg_synaptics_end"

# synclient for settings

ENV{x11_options.RightEdge}="5200"
ENV{x11_options.LeftEdge}="1744"
ENV{x11_options.TopEdge}="2000"
ENV{x11_options.BottomEdge}="4256"

LABEL="xorg_synaptics_end"

synclient showed no change in settings after reboot. xorg.conf.d did work, with /usr/share/X11/xorg.conf.d/55-touchpad-border.conf

Section "InputClass"
        Identifier "touchpad border config"
        MatchIsTouchpad "on"
        Driver "synaptics"
        Option "RightEdge" "5200"
        Option "LeftEdge" "1744"
        Option "TopEdge" "2000"
        Option "BottomEdge""4256"
EndSection

restarting X had the changes show up with synclient.

gpointing-device-settings was also mentioned somewhere as a solution.

1
  • What actually worked for you? Can you clarify? It sounds like you're saying editing xorg.conf.d files solved your problem, but it definitely did not for me under 10.10 Ubuntu.
    – djeikyb
    Jun 16, 2011 at 4:43
0

Not sure if it helps but if you save it as xorg.conf it should work

1
  • 5
    xorg.conf is deprecated. If possible, I'd like to do this The Right Way. Also, I just catted that section into an otherwise empty /etc/X11/xorg.conf, and no cigar.
    – djeikyb
    Feb 14, 2011 at 12:11
0

does

Option "SHMConfig" "on"

still apply? At least I still have it in my old configfile. Couldnt hurt putting that one in, could it?

3
  • I use synclient without this option. If I understand: if it is required, it must be on for any synaptic configuration. Thus the option is not useful. Correct? Incidentally, this has no effect on my current Arch install that has the same problem. Hopefully I can get Ubuntu dual-booting on this netbook so I can properly maintain the question here at askubuntu :)
    – djeikyb
    Jun 16, 2011 at 5:00
  • apparently, shmconfig goes through HAL, which is no longer used. or something..
    – marto
    Jun 19, 2011 at 14:58
  • That makes sense. The current current hardware detection scheme is a mash of udev and dbus. I can't help but think this is a udev problem at its core, especially since my synclient settings are reset on acpi events like hibernate.
    – djeikyb
    Jun 19, 2011 at 18:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .