Recently, my touchpad has broken a few different ways:
- No "area" functionality for Mouse Click Emulation
- No click-and-drag with one finger click and another finger drag
libinputhas incorrect information about what is enabled
- Touchpad acts as if it can do things that aren't explicitly enabled, like 2-finger tap for right click
I have set the options differently in GNOME and Cinnamon settings, but to no avail even after reboots. To me that hints at Xorg on my machine being broken, or how these DEs communicate with Xorg being broken.
Device: Elan Touchpad Kernel: /dev/input/event4 Group: 7 Seat: seat0, default Size: 114x58mm Capabilities: pointer gesture Tap-to-click: disabled Tap-and-drag: enabled Tap drag lock: disabled Left-handed: disabled Nat.scrolling: disabled Middle emulation: n/a Calibration: n/a Scroll methods: *two-finger edge Click methods: none Disable-w-typing: enabled Accel profiles: none Rotation: n/a
Note that I currently have an acceleration profile set, the touchpad is not configured to be disabled when typing, tap-to-click is enabled, middle-click emulation is set to 3-finger tap, and probably some other things are wrong here as well.
Device 'Elan Touchpad': Device Enabled (197): 1 Coordinate Transformation Matrix (199): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Tapping Enabled (331): 1 libinput Tapping Enabled Default (332): 0 libinput Tapping Drag Enabled (333): 1 libinput Tapping Drag Enabled Default (334): 1 libinput Tapping Drag Lock Enabled (335): 0 libinput Tapping Drag Lock Enabled Default (336): 0 libinput Tapping Button Mapping Enabled (337): 1, 0 libinput Tapping Button Mapping Default (338): 1, 0 libinput Natural Scrolling Enabled (339): 1 libinput Natural Scrolling Enabled Default (340): 0 libinput Disable While Typing Enabled (341): 1 libinput Disable While Typing Enabled Default (342): 1 libinput Scroll Methods Available (343): 1, 1, 0 libinput Scroll Method Enabled (344): 1, 0, 0 libinput Scroll Method Enabled Default (345): 1, 0, 0 libinput Accel Speed (346): 0.507353 libinput Accel Speed Default (347): 0.000000 libinput Left Handed Enabled (348): 0 libinput Left Handed Enabled Default (349): 0 libinput Send Events Modes Available (316): 1, 1 libinput Send Events Mode Enabled (317): 0, 0 libinput Send Events Mode Enabled Default (318): 0, 0 Device Node (319): "/dev/input/event4" Device Product ID (320): 1267, 845 libinput Drag Lock Buttons (350): <no items> libinput Horizontal Scroll Enabled (351): 1
I think this is roughly the same as the
libinput stuff. Note, this was done with the
I: Bus=0018 Vendor=04f3 Product=034d Version=0000 N: Name="Elan Touchpad" P: Phys= S: Sysfs=/devices/pci0000:00/0000:00:1f.4/i2c-5/5-0015/input/input13 U: Uniq= H: Handlers=mouse0 event4 B: PROP=1 B: EV=b B: KEY=e520 30000 0 0 0 0 B: ABS=663800013000003
You'll note that there's no physical address for the touchpad, I have no idea if this means anything, I also don't know what the "B" rows mean. I found a Unix StackExchange post discussing the meanings of the rows, but I haven't had a chance to go through everything yet.
As I understand it, solely through searching for variations of "elan", "touchpad", and words that I've come across in other forum posts, the kernel module for the touchpad is
elan_i2c. Here's the
elan_i2c 49152 0
The "0" on the far right means, as I understand, that nothing is using that kernel module. Is that a clue?
Some posts with touchpad issues have referenced the
uinput kernel module. It also appears in
lsmod output as being used by "0" programs, just like the
elan_i2c kernel module.
Among all my googling, people have recommended creating Xorg configuration files in
/etc/X11/xorg.conf.d, another post showed it to be a bug in the driver code (6 years ago) for Debian due to assumptions about V4 hardware.
Lines regarding the touchpad do appear in
dmesg output as shown below via
dmesg | grep -Ei "elan|touchpad"
[ 1.793160] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x4d5f02) [ 1.807491] psmouse serio1: elantech: Synaptics capabilities query result 0x10, 0x1a, 0x0d. [ 1.820748] psmouse serio1: elantech: Elan sample query result 03, 4d, 86 [ 1.833953] psmouse serio1: elantech: Trying to set up SMBus access [ 1.833958] psmouse serio1: elantech: SMbus companion is not ready yet [ 1.896323] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input5 [ 11.725259] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x4d5f02) [ 11.738540] psmouse serio1: elantech: Synaptics capabilities query result 0x10, 0x1a, 0x0d. [ 11.751719] psmouse serio1: elantech: Elan sample query result 03, 4d, 86 [ 11.764887] psmouse serio1: elantech: Trying to set up SMBus access [ 11.890014] elan_i2c 5-0015: 5-0015 supply vcc not found, using dummy regulator [ 11.899868] elan_i2c 5-0015: Elan Touchpad: Module ID: 0x034d, Firmware: 0x0002, Sample: 0x0003, IAP: 0x0000 [ 11.904809] input: Elan Touchpad as /devices/pci0000:00/0000:00:1f.4/i2c-5/5-0015/input/input13 [ 1856.428680] elan_i2c 5-0015: failed to read report data: -6
The mention of V4 hardware makes me think that bug post might be relevant. Frankly, I don't know where to even start with this. It seems like there are a ton of components that act together where each might be responsible in some part for this issue, but I have no idea what all those components are. I've installed the
xorg-x11-drv-synaptics-legacy package as the info for that package says it supports Elantech touchpads, and googling suggests this might be a fix, but I have no idea if it will, and I haven't had a chance to test.
Addendum: Since I began drafting this post yesterday, my touchpad has lost tap-to-click functionality, and I cannot find that toggle option in the GNOME Tweaks GUI, or the normal GNOME settings GUI. It also no longer does multi-finger tap for right-click. These two went away after booting.
Note, I do not have any custom Xorg configuration files in
/etc/X11/xorg.conf.d, nor do I have an
- How do I re-enable "area" functionality for mouse click?
- How do I re-enable tap-to-click?
- How do I get libinput to show the correct information?
- How do I re-enable click-and-drag with one finger click and another finger drag?
- How do I re-enable multi-finger tap for right and middle click emulation?
- Why are Cinnamon and GNOME having issues actually configuring the touchpad? Or, how do I go about figuring out why they had an issue?
EDIT: I switched back to Cinnamon from GNOME, and tap-to-click and multi-finger tap for right click have returned.