There is no two finger scroll option in my "Mouse and Touchpad" settings

I simply do not have the option for "two-finger scrolling" available in my "Mouse and Touchpad" settings. I have tried a lot of terminal commands that I have found in the forums with no success. Who has a solution that will enable two-finger scrolling?

A little about me:

Ubuntu 12.04.1 LTS \n \l

Built-in Pointing Device
    Type: Mouse
    Interface: PS/2
    Buttons: 2

~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Synaptics TouchPad                   id=15   [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)]
    ↳ WebCam SC-13HDL10931N                     id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]

Screenshot of system settings:


Don't waste too much time waiting for GUI configurators to catch up to the hardware. Learn to set configs in text files or interactively in terminal. Here's how.

If synclient returns the properties not found message, it means your system is using libinput, not synaptics, as the driver. Check your /etc/X11/xorg.conf.d, if nothing is in there, I'd expect an Ubuntu system to use synaptics, so I'm surprised you get no return from "synclient -l" or shch. But on Fedora, the default would be to use libinput, so maybe your config is surfing a new wave.

If you are running the libinput driver, you can see by running

xinput list-props 15

where 15 is the name of your touchpad device. If you get output like this, as I do when using libinput, then you will know where you are.

Device "HID 413c:3010':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Accel Speed (276):     0.000000
    libinput Accel Speed Default (277):     0.000000
    libinput Accel Profiles Available (278):        1, 1
    libinput Accel Profile Enabled (279):   1, 0
    libinput Accel Profile Enabled Default (280):   1, 0
    libinput Natural Scrolling Enabled (273):       0
    libinput Natural Scrolling Enabled Default (274):       0
    libinput Send Events Modes Available (257):     1, 0
    libinput Send Events Mode Enabled (258):        0, 0
    libinput Send Events Mode Enabled Default (259):        0, 0
    libinput Left Handed Enabled (281):     0
    libinput Left Handed Enabled Default (282):     0
    libinput Scroll Methods Available (283):        0, 0, 1
    libinput Scroll Method Enabled (284):   0, 0, 0
    libinput Scroll Method Enabled Default (285):   0, 0, 0
    libinput Button Scrolling Button (286): 2
    libinput Button Scrolling Button Default (287): 274
    libinput Middle Emulation Enabled (288):        0
    libinput Middle Emulation Enabled Default (289):        0
    Device Node (260):      "/dev/input/event10"
    Device Product ID (261):        16700, 12304
    libinput Drag Lock Buttons (275):       <no items>
    libinput Horizonal Scroll Enabled (262):

You might consider trying to make libinput work, but if you don't want to, here's what to do to use synaptics instead.

To make the system use synaptics drivers, copy this file

/usr/share/X11/xorg.conf.d/50-synaptics.conf 

Into /etc/X11/xorg.conf.d. Rename that, changing 50 to 90 so it loads later in the sequence. If you do have a libinput config file in /etc/X11/xorg.conf.d, move it somewhere else.

In that syaptics config file, do some editing. Leave the first 2 stanzas the same. In the last one, you can put your settings. Here's what I use these days if I use synaptics:

Section "InputClass"
    Identifier "Default clickpad buttons"
    MatchDriver "synaptics"
    Option "SoftButtonAreas" "50% 0 66% 0 0 0 0 0"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "CoastingFriction" "5"
    Option "CoastingSpeed" "8"
    Option "AccelFactor" "0.1"
    Option "PalmDetect" "1"
    Option "PalmMinWidth" "4"
    Option "PalmMinZ" "30"
    Option "VertEdgeScroll" "1"
    Option "FingerHigh" "35"
    Option "FingerLow" "20"
EndSection

If you don't know what settings you want, you can test in the command line. Find ones you like, then put in file. LIke this

synclient -l

lists all settings, then test some like

synclient VertEdgeScroll=0 FingerHigh=30

When you do that, the cursor will respond differently right away. Of course, when you change settings in xorg.conf.d, you need to log out and log in again.

Now, since you are (probably) using libinput, you might stop where you are and instead consider learning to configure libinput. It is the new thing, the way things will be (probably), and the way things are in Fedora now. It is a much less configurable device, but it is trying to get right the basic fundamentals and then forget the rest.

libinput is mostly usable the way it is, but it does not have tap to click enabled. You go through the same process you did before, copying a file from /usr/share/X11/xorg.conf.d, except this time get the one for libinput. That needs almost no changes, except to insert this one line in the very last stanza.

 Section "InputClass"
    Identifier "MyTouchpad"
    MatchIsTouchpad "on"
    Driver "libinput"
    Option "Tapping" "on
 EndSection

If you do that, then I think you will get two finger drag and some other basics.

The libinput driver is not so full of features, it is trying to get the basics correct, hopefully we won't think we need all those features. However, on many devices (you'll see people yelling about this everywhere), the automatic, simple feature settings are not working exactly right. On my Dell Precision 5510, most things work fine, but the automatic palm detection by "exclusion zones" is iffy for me. most of the rest is fine.

Reading

  1. Why libinput has fewer settings:

http://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-lot-of-config.html

  1. The theoretical document which explains why the exclusion zones should fix the palm problem once and for all

https://wayland.freedesktop.org/libinput/doc/latest/palm_detection.html

(even though it does not do it yet with some kernels on some computers at the moment)