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.

-
You may have a look @ this link askubuntu.com/a/155725/44518 –  karan Jun 10 '13 at 11:50
@karan: How does this relate to my problem? –  Madara Uchiha Jun 10 '13 at 11:55

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.

-
This is looking good. I have mutliple instances of Section "InputClass", which do I edit? –  Madara Uchiha Jun 10 '13 at 12:43
At the end of the first section is where I have my settings. Oddly, adding more doesn't seem to be working properly for me at the moment (13.04)... which is strange as I definitely have some custom ones added. I'll let you know if I figure out why, but in theory this should work. –  Jez W Jun 10 '13 at 13:09
Answer has been edited, should all be working as desired now. At least, this method fixed it for me again! =) –  Jez W Jun 10 '13 at 13:22
Thank you! I'll test it and get back to you (might be a short while before I can actually restart my computer and test it) Thanks a lot for your answer! –  Madara Uchiha Jun 10 '13 at 13:30
–  Madara Uchiha Jun 10 '13 at 13:44

Proposed Solution
Here is what we need to do:
$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)] 1. Now the highlighted one is our device with ID in my case 11 2. List out the properties and hence configuring the one against the ID$ xinput --list-props 11
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 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 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"

3. 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

4. Hope this helps

-