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
- Why libinput has fewer settings:
http://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-lot-of-config.html
- 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)