Bugzilla – Bug 1105311
SynPS/2 Synaptics TouchPad ingore configuration
Last modified: 2018-08-21 08:04:08 UTC
I've this touchpad and physical mouse buttons as well therefore I use in my personal /etc/X11/xorg.conf.d/99-local.conf Section "InputDevice" Identifier "Touchpad" Driver "synaptics" Option "Device" "/dev/input/event1" Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0" Option "VertTwoFingerScroll" "on" Option "HorizTwoFingerScroll" "on" EndSection this is first accepted [ 10.964] (II) Using input driver 'synaptics' for 'Touchpad' [ 10.965] (**) Touchpad: always reports core events [ 10.965] (**) Option "Device" "/dev/input/event1" [ 11.020] (--) synaptics: Touchpad: x-axis range 1268 - 5674 (res 45) [ 11.020] (--) synaptics: Touchpad: y-axis range 1096 - 4758 (res 69) [ 11.020] (--) synaptics: Touchpad: pressure range 0 - 255 [ 11.020] (--) synaptics: Touchpad: finger width range 0 - 15 [ 11.020] (--) synaptics: Touchpad: buttons: left right double triple [ 11.020] (--) synaptics: Touchpad: Vendor 0x2 Product 0x7 [ 11.020] (**) Option "VertTwoFingerScroll" "on" [ 11.020] (**) Option "HorizTwoFingerScroll" "on" [ 11.020] (**) Option "TapButton1" "0" [ 11.020] (**) Option "TapButton2" "0" [ 11.020] (**) Option "TapButton3" "0" [ 11.020] (--) synaptics: Touchpad: touchpad found [ 11.021] (**) Touchpad: always reports core events [ 11.068] (II) XINPUT: Adding extended input device "Touchpad" (type: TOUCHPAD, id 6) [ 11.068] (**) synaptics: Touchpad: (accel) MinSpeed is now constant deceleration 2.5 [ 11.068] (**) synaptics: Touchpad: (accel) MaxSpeed is now 1.75 [ 11.068] (**) synaptics: Touchpad: (accel) AccelFactor is now 0.035 [ 11.069] (**) Touchpad: (accel) keeping acceleration scheme 1 [ 11.069] (**) Touchpad: (accel) acceleration profile 1 [ 11.069] (**) Touchpad: (accel) acceleration factor: 2.000 [ 11.069] (**) Touchpad: (accel) acceleration threshold: 4 [ 11.069] (--) synaptics: Touchpad: touchpad found but then overwritten: [ 11.327] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event1) [ 11.327] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall" [ 11.327] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall" [ 11.327] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" [ 11.327] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall" [ 11.327] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons" [ 11.327] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad' [ 11.327] (**) SynPS/2 Synaptics TouchPad: always reports core events [ 11.327] (**) Option "Device" "/dev/input/event1" [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1268 - 5674 (res 45) [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1096 - 4758 (res 69) [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255 [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15 [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right double triple [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7 [ 11.356] (**) Option "HorizEdgeScroll" "off" [ 11.356] (**) Option "TapButton1" "1" [ 11.356] (**) Option "TapButton2" "3" [ 11.356] (**) Option "TapButton3" "2" [ 11.356] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found [ 11.357] (**) SynPS/2 Synaptics TouchPad: always reports core events [ 11.372] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio2/input/input6/event1" [ 11.372] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 14) [ 11.372] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5 [ 11.372] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is now 1.75 [ 11.372] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor is now 0.035 [ 11.373] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1 [ 11.373] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1 [ 11.373] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000 [ 11.373] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4 [ 11.373] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found [ 11.374] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0) [ 11.374] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"
I guess this is the desktop, which is doing this. This smells (again/still) like GNOME. :-( So question is. Are you using GNOME? Does it occur also with different desktops like xfce, twm, etc. ? JFYI, since sle15/Leap 15 libinput is our default driver for touchpads. We still ship synaptics though.
Oh. No. Sorry. This appears to be our system configuration. /etc/X11/xorg.conf.d/70-synaptics.conf Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html MatchDevicePath "/dev/input/event*" Option "HorizEdgeScroll" "off" # enable tap-to-click as default (bnc#722457) Option "TapButton1" "1" Option "TapButton3" "2" Option "TapButton2" "3" EndSection But I would have expected that your config file options would have overwritten the system ones, not the other way round. Hmm ...
I suspect that InputClass sections have priority over InputDevice, but I am not completely sure. See 8736d112af. As user I would expect the opposite. When I try to reproduce it, the InputDevice section is completely ignored. Do you have any other modifications in /etc/X11/xorg.conf.d or /etc/X11/xorg.conf? Also please attach complete X log.
Indeed the InputClass does override InputDevice. Meanwhile I've copied and modified to my needs the InputClass from /etc/X11/xorg.conf.d/70-synaptics.conf and indeed this works now. No more ghost button events anymore due smoothly touches to start e.g. scroll down. Maybe the order should be changed /first scanning InputClass(es) with detection code and afterwards the InputDevice(es)) or the behaviour might be documented in the manual page xorg.conf :) (In reply to Michal Srb from comment #3) > I suspect that InputClass sections have priority over InputDevice, but I am > not completely sure. See 8736d112af. As user I would expect the opposite. > > When I try to reproduce it, the InputDevice section is completely ignored. > Do you have any other modifications in /etc/X11/xorg.conf.d or > /etc/X11/xorg.conf? Also please attach complete X log. On my 99-local.conf with the described InputClass
Created attachment 780207 [details] /etc/X11/xorg.conf.d/99-local.conf
I was able to reproduce it now. I was missing reference in ServerLayout or AutoServerLayout option before... I check the code deeper and can confirm that the current behavior is intentional. The idea is: * X server gets a list of input devices from InputDevice sections and (if enabled) from udev/hal/etc... * Then all InputClass sections are applied on top of it. So InputDevice is primarily meant for device discovery if udev/hal/... is disabled or does not work for some reason. InputClass should be used for custom configuration. It is fine to create InputClass that matches just a single specific device. InputClass sections are applied in order they appear in the configuration files, so you can overwrite the defaults provided by the xf86-input-synaptics package if you place your InputClass later (like the 99-local.conf file). Closing as INVALID. I will submit patch to xorg.conf manual page to explicitly mention that InputDevice options are overwritten by InputClass.
Patch for man page: https://lists.x.org/archives/xorg-devel/2018-August/057441.html