How can I setup my touchpad multi-finger tapping functionality?
I'm trying to setup my multi-finger tap in the following way:
- Single finger - Left click
- Two fingers - Middle click
- Three fingers - Right click
What I currently have is:
- Single finger - Left click
- Two fingers - Right click
- Three fingers - none
I've looked up several questions here on Ask Ubuntu, as well as the Ubuntu wiki on the subject (plus some general Google searching), but couldn't find anything to help me out. I know of xinput
, but I don't know what to change there and how.
If anyone is able to point me to the right direction, I'd be grateful and award him with 25 shiny rep points, a large green tick mark, and some cookies.
This can be done using synclient
.
To do this per-session (and to test that it's working correctly on your system), type into a terminal the following commands:
synclient "TapButton2"=2
synclient "TapButton3"=3
The option TapButtonx
means "A tap with x fingers, not in a corner", while the numbers 1, 2 and 3 after correspond to left, middle and right click respectively.
To make these changes permanent, navigate to /usr/share/X11/xorg.conf.d
. ls
to find the file with "synaptics.conf" in the name (in my case, 50-synaptics.conf
). Then, sudo gedit 50-synaptics.conf
, and add the following lines into the end of the first InputClass section:
Option "TapButton2" "2"
Option "TapButton3" "3"
Then restart your machine, and you should be good to go.
If editing the 50-synaptics.conf
file doesn't work, do the following:
open dconf-editor
and navigate to org/gnome/settings-daemon/plugins/mouse
. Uncheck the box marked "active" and restart again. This will allow the synaptics settings to take precedence.
Here is what we need to do:
-
First we gather the ID for the trackpad/mouse pad.
$ xinput --list Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ PS/2 Generic Mouse id=10 [slave pointer (2)] **⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [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)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ HP WMI hotkeys id=12 [slave keyboard (3)]
Now the highlighted one is our device with ID in my case 11
-
List out the properties and hence configuring the one against the ID
$ xinput --list-props 11 Device 'SynPS/2 Synaptics TouchPad': Device Enabled (132): 1 Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (253): 1 Device Accel Constant Deceleration (254): 2.500000 Device Accel Adaptive Deceleration (255): 1.000000 Device Accel Velocity Scaling (256): 12.500000 Synaptics Edges (276): 1769, 5431, 1653, 4671 Synaptics Finger (277): 25, 30, 256 Synaptics Tap Time (278): 180 Synaptics Tap Move (279): 242 Synaptics Tap Durations (280): 180, 180, 100 Synaptics ClickPad (281): 0 Synaptics Tap FastTap (282): 0 Synaptics Middle Button Timeout (283): 75 Synaptics Two-Finger Pressure (284): 282 Synaptics Two-Finger Width (285): 7 Synaptics Scrolling Distance (286): 110, 110 Synaptics Edge Scrolling (287): 1, 0, 0 Synaptics Two-Finger Scrolling (288): 0, 0 Synaptics Move Speed (289): 1.000000, 1.750000, 0.036265, 40.000000 Synaptics Edge Motion Pressure (290): 30, 160 Synaptics Edge Motion Speed (291): 1, 441 Synaptics Edge Motion Always (292): 0 Synaptics Off (293): 0 Synaptics Locked Drags (294): 0 Synaptics Locked Drags Timeout (295): 5000 Synaptics Tap Action (296): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (297): 1, 1, 0 Synaptics Circular Scrolling (298): 0 Synaptics Circular Scrolling Distance (299): 0.100000 Synaptics Circular Scrolling Trigger (300): 0 Synaptics Circular Pad (301): 0 Synaptics Palm Detection (302): 0 Synaptics Palm Dimensions (303): 10, 200 Synaptics Coasting Speed (304): 20.000000, 50.000000 Synaptics Pressure Motion (305): ... of unknown type CARDINAL Synaptics Pressure Motion Factor (306): 1.000000, 1.000000 Synaptics Resolution Detect (307): 1 Synaptics Grab Event Device (308): 1 Synaptics Gestures (309): 1 Synaptics Capabilities (310): 1, 0, 1, 1, 1, 1, 1 Synaptics Pad Resolution (311): 85, 45 Synaptics Area (312): 0, 0, 0, 0 Synaptics Noise Cancellation (313): 8, 8 Device Product ID (249): 2, 7 Device Node (250): "/dev/input/event8"
-
Now find the point, in this case its 285, 288. Using the command you may configure the same on your touch pad.
$xinput set-int-prop <properties>
Hope this helps