You are not logged in.
Hello everyone,
I really struggle with getting a reliable persistent configuration for my touchpad that came with my thinkpad x240. The goal is simple: Change the resolution of the touchpad, enable two-finger-scrolling and tap-to-click. And: Get this persistant. Simple, huh?
Anyhow first thing I notice is that in "xinput list" it is in some boots listed as "Synaptics TM2749-001" and gets the "id=14", sometimes it is listed as "SynPS/2 Synaptics TouchPad" and "id=12".
Why does this happen?
Second: the wiki article on libinput states, that config files in /etc/X11/xorg.conf.d/ are still fine and this should work brilliantly:
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchProduct "SynPS/2 Synaptics TouchPad"
Option "tapping" "on"
Option "ClickMethod" "clickfinger"
Option "NaturalScrolling" "true"
Option "ScrollMethod" "edge"
EndSectionBut it doesn't. Sometimes two-finger-scrolling is enabled on boot, sometimes it isnt. And tapping is never enabled. I am using gdm for login purposes and then log into i3 from gdm.
As stated in the setup guide I removed xf86-input-synaptics and installed libinput.
Any ideas on how to get it persistent and working?
Thank you
Offline
GDM is likely operating on wayland and using libinput directly?
=> Try to bypass that and use startx instead.
It's no wonder that the config applies randomly when the product is only matched randomly.
Also look at your xorg log, not sure whether that matters by "Tapping" is supposed to be upcased.
Offline
If you're having trouble with the changing identifier, try using: MatchIsTouchpad "on".
Offline
Cheers guys. That really seems to have solved it.
Merry christmas everybody.
Offline
Ok nvm. It worked exactly once. Maybe you have more hints?
I got this in my .local/share/xorg/Xorg.0.log:
257.970] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event18)
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons"
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad"
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[ 257.970] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[ 257.971] (II) systemd-logind: got fd for /dev/input/event18 13:82 fd 28 paused 0
[ 257.971] (**) SynPS/2 Synaptics TouchPad: always reports core events
[ 257.971] (**) Option "Device" "/dev/input/event18"
[ 257.971] (**) Option "_source" "server/udev"
[ 257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) is tagged by udev as: Touchpad
[ 257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device is a touchpad
[ 257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device removed
[ 257.971] (**) Option "Tapping" "on"
[ 257.971] (**) Option "NaturalScrolling" "true"
[ 257.971] (**) Option "ClickMethod" "clickfinger"
[ 257.971] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input6/event18"
[ 257.971] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 11)
[ 257.971] (**) Option "AccelerationScheme" "none"
[ 257.971] (**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0
[ 257.971] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[ 257.971] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[ 257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) is tagged by udev as: Touchpad
[ 257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device is a touchpad
[ 257.972] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[ 257.972] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"That seems really strange to me because my /etc/X11/xorg.conf.d/20-synaptics.conf looks like this:
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "ClickMethod" "clickfinger"
Option "NaturalScrolling" "true"
#Option "ScrollMethod" "edge"
Option "PalmDetect" "True"
Option "ClickPad" "True"
#Option "SoftButtonAreas" "67% 100% 0 0 30% 67% 0 0"
# Ganz aus: BottomEdge 10 TopEdge 0
#Option "AreaTopEdge" "0"
#Option "AreaBottomEdge" "1"
#Option "CircularScrolling" "False"
#Option "CircScrollingDelta" "0"
Option "VertResolution" "100"
Option "HorizResolution" "65"
#Option "MinSpeed" "1"
#Option "MaxSpeed" "1"
#Option "AccelerationProfile" "1"
#Option "AdaptiveDecelration" "16"
#Option "ConstantDecelration" "16"
#Option "VelocityScale" "1"
#Option "HasSecondarySoftButtons" "False"
EndSectionAnd there is this 40-libinput.conf:
# Match on all types of devices but joysticks
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSectionAny more ideas?
After another reboot its working again. And it seems: once the touchpad is recognzed as "Synaptics TM2749-001" everything works fine. Once it goes as the other thing everything does not work. I disabled GDM. (using systemctl disable...).
Edit2:
journalctls first appearance of "Synaptics" in this (working) boot is this:
1 Nov 09 20:11:08 tunnels kernel: rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: TM2749-001, fw id: 0
2 Nov 09 20:11:08 tunnels kernel: input: Synaptics TM2749-001 as /devices/rmi4-00/input/input20In the last (non-working) it is this:
4 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: queried max coordinates: x [..5710], y [..4696]
5 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: queried min coordinates: x [1232..], y [1156..]
6 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: Trying to set up SMBus access
7 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: SMbus companion is not ready yet
8 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c 00/0
9 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
10 Dez 26 12:37:35 tunnels kernel: input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input7
11 Dez 26 12:37:35 tunnels kernel: mousedev: PS/2 mouse device common for all miceIs it possible the kernel module rmi4_f01 is racing some other module?
Last edited by symon (2017-12-26 16:50:29)
Offline
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" # evdev in /usr/share
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall" # what's this?
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons" # what's this?
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad" # /etc/X11/xorg.conf.d/20-synaptics.conf
[ 257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" # evdev in /etc/X11/ ??
Also compare dmesg when it's registered as "Synaptics TM2749-001" with dmesg when it's registered as "SynPS/2 Synaptics TouchPad" (the input id number doesn't matter)
Offline