50-synaptics.conf options not working
Solution 1
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.
Solution 2
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
Solution 3
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.
Solution 4
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.
Related videos on Youtube
djeikyb
Updated on September 17, 2022Comments
-
djeikyb over 1 year
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
.-
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
I tried modifying the touchpad section of
/usr/share/X11/xorg.conf.d/10-evdev.conf
, no cigar.Tried the same 50-synaptics.conf and 10-evdev.conf files in a
/etc/X11/xorg.conf.d
section.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).
-
-
djeikyb about 13 yearsxorg.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. -
Takkat about 13 years@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)
-
djeikyb about 13 yearsNope. Tried it in 10-edev.conf and 50-synaptics.conf. Interestingly, the xorg log does show my options read from the file.
-
Takkat about 13 years@djeikyp:
xinput --list --long
to show current devices and settings may (or may not) give you additional hints. -
djeikyb about 13 yearsOkay. I've got my custom 50-synaptics.conf in under etc. I notice it loads the etc conf folder before the usr/share conf. MatchDevicePath as mouse0 or mice don't work. Tried adding to identifier: pointer, mice, mouse0. What should I look for in xinput? I see the virtual core pointer, the virtual xtest pointer, and my touchpad, as master, slave, slave; respectively.
-
djeikyb about 13 yearsBlast. I wonder if something in udev is causing the conflict in the first place. Maybe it's time for a bug report!
-
djeikyb about 13 yearsWell, it isn't solved, but you've helped diagnose quite a bit and provided lots of good info, therefore I award thee the bounty.
-
Takkat about 13 yearsThank you - very sweet - but tastes bitter because I couldn't really answer your question. If only someone came up with a real good answer. I'll clean this up a bit by deleting some dated comments.
-
djeikyb almost 13 yearsWhat 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 almost 13 yearsI 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 :)
-
marto almost 13 yearsapparently, shmconfig goes through HAL, which is no longer used. or something..
-
djeikyb almost 13 yearsThat 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 over 12 yearsInteresting. 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?
-
anthomas8 about 12 yearsYes. 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.
-
Nikita Volkov about 12 yearsInspired by this answer I found a similar solution. Run
dconf-editor
(apt-get install
it if you have to), go toorg.gnome.settings-daemon.plugins.mouse
, uncheckactive
. 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. -
djeikyb about 12 years@mojojojo I'll install the latest Ubuntu and give it a go once I've got a spare minute. Looks promising.
-
pjv over 11 years@djeikyb You should really up this, but of course only if it worked for you. It worked for me (I used both gconf-editor and dconf-editor). Also make sure you use "event*" as the numbers can change.
-
tutuca almost 11 yearsBug is still present in 13.04
-
tutuca almost 11 years@NikitaVolkov, didn't worked for me in 13.04...
-
aaaaaa over 8 yearsWorks for me on Debian 8 Jessie
-
AAAfarmclub over 7 yearsDebian 8 Jessie here too. Wanted to disable touchpad scrolling on startup vs. running a script with synclient commands. Tried xorg.conf/xorg.conf.d as well. dconf-editor (which I wasn't familar with) worked: org-->gnome->settings-daemon->peripherals->touchpad