help with synclient configuration on an Elantech touchpad

I have recently installed Ubuntu 12.04 on my brand new ASUS K55V.

The touchpad behaves weird - two finger tap is interpreted as right-click, click and drag is not working (a double click is needed) and so on. Two finger scrolling (horizontal & vertical) works great.

I want the touch pad to behave the "normal" way (that is - like in my old laptop...). I read the synclient documentation and many of the questions posted here, and I can even make some stuff work. Unfortunately, I couldn't figure out how to make these work:

  1. Click and drag (that is - physically clicking the button and dragging a finger)
  2. Clicking in the right side of the button interpreted as right-click
  3. Clicking button with two fingers interpreted as middle-click.

specs: The touchpad is equipped with a physical button that clicks. Here's the output of xinput list-props "ETPS/2 Elantech Touchpad" | grep Capabilities:

 Synaptics Capabilities (294):  1, 0, 1, 1, 1, 1, 1

Any help will be much appreciated.


Solution 1:

Try looking into touchegg and if it is supported by your hardware. (I think configuring mouse using this technique is easier but review my other answer first)

Also look at these options in this link http://manpages.ubuntu.com/manpages/oneiric/en/man4/synaptics.4.html

its been a while I've done this, but if you set this option to 3, I think it will change the two finger click to middle. (3)

Option "TapButton2" "integer"
          Which  mouse  button is reported on a non-corner two-finger tap.
          Set to 0 to disable. Property: "Synaptics Tap Action"

This should take care of your right click I believe. (2)

Option "ClickFinger2" "integer"
              Which mouse button  is  reported  when  left-clicking  with  two
              fingers.   Set  to  0  to  disable.  Property:  "Synaptics Click
              Action"

the click and drag I believe has to do with palm detect and few other things. (1)

Section "InputClass"
Identifier "touchpad catchall"
MatchProduct "SynPS/2 Synaptics TouchPad"
MatchIsTouchpad "on"
Driver "synaptics"
Option "JumpyCursorThreshold" "200"
Option "EmulateTwoFingerMinZ" "20"
Option "EmulateTwoFingerMinW" "5"
Option "TapButton2" "3"
Option "PalmDetect" "1"
Option "PalmMinWidth" "20"
Option "LockedDrags" "1"
Option "AccelFactor" ".01"
Option "MaxSpeed" "1.0"
Option "RBCornerButton" "3" 
EndSection

best of lucks

Solution 2:

TapButton is the key.

synclient | grep TapButton

TapButton1 means tap with 1 finger, TapButton2 means 2, and so on.

Set TapButton1=n, n could be:

  • 1 = left click
  • 2 = middle click
  • 3 = right click

To sum up:

# 1 finger for left click, 2 for mid, 3 for right.
synclient TapButton1=1 TapButton2=2 TapButton3=3

At last, add my script to "Startup Applications".

Solution 3:

The solution:

  1. Enable the ClickPad option in synaptics (terminal command: $ synclient Clickpad=1)

  2. Mess with the SoftButton options. The instructions here describe the steps well.

  3. Either by altering the SoftButton configuration as above, or by changing the ClickFinger2 option, as suggested by @kmassada (or both)