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):
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" Option "HorizTwoFingerScroll" "on" Option "VertTwoFingerScroll" "on" EndSection #synclient PalmDetect=1 Option "PalmDetect" "1" #synclient PalmMinWidth=4 Option "PalmMinWidth" "4" #synclient PalmMinZ=50 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.