How can I prevent my cursor from moving when I am clicking the trackpad?

I just installed Ubuntu 12.10 on my Macbook Pro. When I click the trackpad, it is always registered as a small mouse movement as well as a click, so it drags whatever I click on. has anybody else encountered this? Is there any synaptics setting that can help? For the moment, I've enabled tap to click because normal clicking is so tough.

I didn't have this issue when running Ubuntu in a VM, but I guess that has another abstraction layer that prevents synaptics from being the one interpreting direct touchpad input.

Thanks!


Solution 1:

On my HP Envy 14 Spectre I added this:

$ cat /etc/X11/xorg.conf.d/51-envy-quirks.conf 
Section "InputClass"
    Identifier "Envy clickpad"
    MatchDriver "synaptics"
    Option "SHMConfig" "True"
    Option "LeftEdge" "1268"
    Option "RightEdge" "5680"
    Option "TopEdge" "1640"
    Option "BottomEdge" "4729"
    Option "AreaBottomEdge" "3900"
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    #Option "SoftButtonAreas" "3915 0 3900 0 3032 3914 3900 0"
EndSection

Edges values depends on your trackpad, SHMConfig option is useful to gather edges values with synclient -m 100.

The option that disables that click area is AreaBottomEdge but it disables right or middle clicking too, only left clicking is enabled.

That is why TapButton2 and TapButton3 is used to mimic missing buttons.

The only drawback of this approach is that you can't drag pressing right or middle buttons, only left button.

Solution 2:

I just found this while searching for solutions to the same problem (I had it really bad on an Apple magic trackpad). These synaptic options fixed it for me... try this in the terminal:

synclient HorizHysteresis=100 VertHysteresis=100

These options control how much movement you have to make before the touchpad registers it as a move event. The default is 4, which I found to be way too sensitive.

If that fixes it, adjust to your liking and then make it permanent by adding to an xorg config file.

And to learn what all the options are and what they do, see man synclient.