Ubuntu – Touchpad double tap and two finger scroll not working on Ubuntu 17.04

17.04touchpad

I recently upgraded from Ubuntu 16.04 to 17.04 and noticed that I have no option in "Mouse and Touchpad" setting for a double tap for click and two finger scroll.

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SIGMACHIP USB Keyboard                    id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=10   [slave  keyboard (3)]
    ↳ Logitech VGA WebCam                       id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=15   [slave  keyboard (3)]

and

$ xinput list-props 14
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (142):   1
    Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (284): 0
    libinput Tapping Enabled Default (285): 0
    libinput Tapping Drag Enabled (286):    1
    libinput Tapping Drag Enabled Default (287):    1
    libinput Tapping Drag Lock Enabled (288):   0
    libinput Tapping Drag Lock Enabled Default (289):   0
    libinput Tapping Button Mapping Enabled (290):  1, 0
    libinput Tapping Button Mapping Default (291):  1, 0
    libinput Accel Speed (292): 0.000000
    libinput Accel Speed Default (293): 0.000000
    libinput Natural Scrolling Enabled (280):   0
    libinput Natural Scrolling Enabled Default (281):   0
    libinput Send Events Modes Available (265): 1, 1
    libinput Send Events Mode Enabled (266):    0, 0
    libinput Send Events Mode Enabled Default (267):    0, 0
    libinput Left Handed Enabled (294): 0
    libinput Left Handed Enabled Default (295): 0
    libinput Scroll Methods Available (296):    0, 1, 0
    libinput Scroll Method Enabled (297):   0, 1, 0
    libinput Scroll Method Enabled Default (298):   0, 1, 0
    libinput Disable While Typing Enabled (299):    1
    libinput Disable While Typing Enabled Default (300):    1
    Device Node (268):  "/dev/input/event8"
    Device Product ID (269):    2, 7
    libinput Drag Lock Buttons (282):   <no items>
    libinput Horizontal Scroll Enabled (283):   1

and

$ apt list xserver-xorg-input*
Listing... Done
xserver-xorg-input-aiptek/zesty 1:1.4.1-2build1 amd64
xserver-xorg-input-all/zesty 1:7.7+16ubuntu3 amd64
xserver-xorg-input-elographics/zesty 1:1.4.1-1build6 amd64
xserver-xorg-input-evdev/zesty 1:2.10.5-1ubuntu1 amd64
xserver-xorg-input-evdev-dbg/zesty 1:2.10.5-1ubuntu1 amd64
xserver-xorg-input-evdev-dev/zesty,zesty 1:2.10.5-1ubuntu1 all
xserver-xorg-input-joystick/zesty 1:1.6.3-1build1 amd64
xserver-xorg-input-joystick-dev/zesty,zesty 1:1.6.3-1build1 all
xserver-xorg-input-libinput/zesty,now 0.25.0-0ubuntu1 amd64 [installed]
xserver-xorg-input-libinput-dev/zesty,zesty 0.25.0-0ubuntu1 all
xserver-xorg-input-mtrack/zesty 0.3.1-1build2 amd64
xserver-xorg-input-mutouch/zesty 1:1.3.0-1build9 amd64
xserver-xorg-input-synaptics/zesty 1.9.0-1ubuntu1 amd64
xserver-xorg-input-synaptics-dev/zesty,zesty 1.9.0-1ubuntu1 all
xserver-xorg-input-void/zesty 1:1.4.1-1build3 amd64
xserver-xorg-input-wacom/zesty 1:0.34.0-0ubuntu2 amd64
xserver-xorg-input-xwiimote/zesty 0.5-1build3 amd64

Best Answer

After the upgrade the user space xorg-synaptics was replaced by libinput. In most cases it works better and is now default in new Ubuntu releases.

"Tap to click" is disabled in libinput by default for a reason I can't understand. You can fix it by editing the /usr/share/X11/xorg.conf.d/40-libinput.conf file.

Add

Option "Tapping" "True"

to the touchpad section of the file after Driver "libinput", and restart the session.

Regarding two-finger scrolling. Not all touchpads support this feature. All new do, but old ones don't. According to your output only edge scrolling is available.

libinput Scroll Methods Available (296):    0, 1, 0

The first number should be 1 if the touchpad supports two-finger scrolling.

The touchpad capabilities are reported to user space by the kernel. I don't think that xorg-synaptics and libinput read it differently.

If that is a bug and your touchpad is really capable of multitouch, that is more likely a kernel bug. Also you can always switch back to xorg-synaptics by

sudo apt install xserver-xorg-input-synaptics
sudo apt remove xserver-xorg-input-libinput