Ubuntu – Touchpad switches between libinput and synaptics

driverstouchpad

I was looking into turning on drag lock so I could briefly lift my finger and reposition it to continue a tap-and-drag.

# get touchpad device id (12 in my case)
xinput --list
# get touchpad props
xinput list-props 12
# set libinput "Tapping Drag Lock Enabled"
xinput set-prop 12 280 1

This worked, though I figured I'd need to find a way to automate it, as I assumed the setting would be lost next time I restarted the machine. To test that hypothesis, I shut down and rebooted.

After the reboot, xinput list-props 12 shows Synaptics properties rather than libinput, as if the touchpad has changed its mind about which driver to use. For example, the drag-lock feature is listed as:

Synaptics Locked Drags (287):   0

Also, attempting to switch the touchpad to "natural scrolling" has no effect. Clarification I just realized that the gui isn't even showing an interface to set "natural scrolling" for the touchpad, only for the mouse.

How can I determine which driver is being used, and what might be changing that?

For reference, I'm running Gnome3 on Ubuntu 17.04

Best Answer

I'm not sure what caused the change in gnome's driver choice, but I was able to fix the problem by removing synaptics and its config files (after making sure libinput was still installed).

# ensure libiniput drivers are installed
dpkg --status libinput-bin libinput10 xserver-xorg-input-libinput \
  | grep --before-context=1 '^Status: '

# remove synaptics drivers & config files so gnome doesn't get confused
sudo apt-get purge xserver-xorg-input-synaptics