I've had similar problems and found the answer on this blog to be fairly complete and have copied over the relevant details:
Set up palm detection:
Turn on palm detection, in a terminal type:
$ synclient PalmDetect=1
Set the maximum width that should be interpreted as a finger instead of a palm. I choose 4, most how-tos use 10, it's good to do a bit of guess and test here:
$ synclient PalmMinWidth=4
Then, set the minimum height of a palm vs a finger:
$ synclient PalmMinZ=50
Finally, under Ubuntu, 3 finger middle click is not enabled by default, so if you want to enable it use:
$ synclient TapButton2=3 TapButton3=2
In theory, this should enable 2 finger tap for middle click, and 3 finger tap for right click, but in Ubuntu 13.04 the resulting behavior is exactly the opposite. Therefore, if you prefer 2 finger tap for middle click use:
$ synclient TapButton2=2 TapButton3=3
To make this permanent once you have found the correct settings, save them into
50-synaptics.conf which is located at
/usr/share/X11/xorg.conf.d/50-synaptics.conf in Debian/Ubuntu (Semplice) and at
/etc/X11/xorg.conf.d/50-synaptics.conf in Arch Linux based distros, (the first "InputClass" part is for the multi-touch middle click fix, which is already enabled in Arch so you shouldn't need to add it):
Identifier "touchpad catchall"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
Option "HorizTwoFingerScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "PalmDetect" "1"
Option "PalmMinWidth" "4"
Option "PalmMinZ" "50"
Temporarily turning the touch-pad off while typing:
Instead of using synclient commands, use syndaemon:
$ syndaemon -K -i 0.5 -R -d
The arch wiki claims that if you save this command to your
~/.xinitrc file to have it executed automatically at your next log-in. However, when I did this, I was unaware that the command must happen before the launch of the desktop (
exec DESKTOP.session command). After playing around with a ton of other config files and learning a ton about the SLiM display manager, I finally realized that the command just needed to be moved further up the file, as commands after the desktop launch won't be run until the desktop is quit.