Configuring touchpads on linux
Wed 05 July 2017So, after recently installing arch linux on my machine I had to reconfigure how my touchpad works. By defualt on most linux distros (i3, mate, awesome) things like multi touch, tap to touch are disabled.
I referred the Arch Wiki for figuring out how to configure various touchpad configurations.
First, I used xinput list
command to find out what is the name of my touchpad. After this I installed the package xf86-input-synaptics
. This package is available by default on Arch Repo. I must warn you that this package is no longer actively maintained, modern desktop environments like KDE, Gnome rely on libinput
, still xf86-input-synaptics
is pretty stable and works in most of the cases.
The configuration file
Generally the configuration file is located in /etc/X11/xorg.conf.d/70-synaptics.conf
, if it doesn’t exist then create it. You will need super user priveleges for editing/creating the file.
Syntax is Option "<option name>" "<option value>"
“1” is for Mouse button 1, that’s left click
“2” is for Mouse button 2, that’s middle click
“3” is for Mouse button 3, that’s right click
My configuration
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "RBCornerButton" "3"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "30"
Option "FingerHigh" "50"
Option "MaxTapTime" "125"
EndSection
Lets go over some interesting entries-
TapButton1
(integer) configures which mouse-button is reported on a non-corner, one finger tap.
TapButton2
(integer) configures which mouse-button is reported on a non-corner, two finger tap
TapButton3
(integer) configures which mouse-button is reported on a non-corner, three finger tap
RBCornerButton
(integer) configures which mouse-button is reported on a right bottom corner, one finger tap (use Option “RBCornerButton” “3” to achieve Ubuntu style tap behaviour for right mouse button in lower right corner)
VertEdgeScroll
(boolean) enables vertical scrolling while dragging across the right edge of the touch pad.
HorizEdgeScroll
(boolean) enables horizontal scrolling while dragging across the bottom edge of the touch pad.
VertTwoFingerScroll
(boolean) enables vertical scrolling using two fingers.
HorizTwoFingerScroll
(boolean) enables horizontal scrolling using two fingers.
After editing the configuration file the next you will have to restart for your settings to take effect.
You can also check if a certain setting works using synclient
which will get installed with the xf86-input-synaptics
package. More details here
Comment below if you face any issues.
Comments