How can I setup my touchpad multi-finger tapping functionality?

20,000

Solution 1

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.

Solution 2

Here is what we need to do:

  1. 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)]    
    
  2. Now the highlighted one is our device with ID in my case 11

  3. 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"  
    
  4. 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>  
    
  5. Hope this helps

Share:
20,000

Related videos on Youtube

Madara's Ghost
Author by

Madara's Ghost

I have resigned and will no longer be available to keep good on the promise below. I will keep it linked here for posterity, and I hope it inspires others to go that way. I offer a 500 point bounty for every good canonical you post. Contact me in chat for more details (I'm usually in the PHP or JavaScript room) Madara Uchiha, second Rikudo. ex-♦ Moderator on Stack Overflow and Anime and Manga. The most powerful shinobi of the time. Mess with me, and I will drop a meteor on your head. Plus I program in JavaScript, HTML, Java, PHP, CSS, And several other languages. Pleased to meet you :) Avatar From EspadaZero@DeviantArt Madara_Uchiha @ Miaou

Updated on September 18, 2022

Comments

  • Madara's Ghost
    Madara's Ghost over 1 year

    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.

    • karan
      karan almost 11 years
      You may have a look @ this link askubuntu.com/a/155725/44518
    • Madara's Ghost
      Madara's Ghost almost 11 years
      @karan: How does this relate to my problem?
  • Madara's Ghost
    Madara's Ghost almost 11 years
    This is looking good. I have mutliple instances of Section "InputClass", which do I edit?
  • Jez W
    Jez W almost 11 years
    Answer has been edited, should all be working as desired now. At least, this method fixed it for me again! =)
  • Madara's Ghost
    Madara's Ghost almost 11 years
    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's Ghost
    Madara's Ghost almost 11 years