0

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
  • libinput has 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.

libinput output:

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.

xinput output

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 --list-props option.

/proc/bus/input/devices output

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 lsmod output:

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.

EDIT:

Note, I do not have any custom Xorg configuration files in /etc/X11/xorg.conf.d, nor do I have an /etc/X11/xorg.conf.

Questions:

  1. How do I re-enable "area" functionality for mouse click?
  2. How do I re-enable tap-to-click?
  3. How do I get libinput to show the correct information?
  4. How do I re-enable click-and-drag with one finger click and another finger drag?
  5. How do I re-enable multi-finger tap for right and middle click emulation?
  6. 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.

  • what is your question? – jsotola Aug 31 '19 at 4:00
  • @jsotola Mainly "how do I fix the broken stuff". I've added an explicit section for the questions. – Ungeheuer Aug 31 '19 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.