Old Answer
You can use ClickFinger3 instead, which is quite close to TapButton3.
I encountered exactly the same problem. In addition to TapButton3, my conf file also set ClickFinger3 to 2.
Section "InputClass"
Identifier "touchpad bind middle button"
MatchDriver "synaptics"
Option "TapButton3" "2"
Option "ClickFinger3" "2"
EndSection
However, my Xorg.0.log does have the following.
[ 35.860] (**) Option "TapButton3" "2"
[ 35.860] (**) Option "ClickFinger3" "2"
The ironic thing is ClickFinger3 works pretty well but TapButton3 doesn't even work.
I also tried to put synclient TapButton3=2 ClickFinger3=2 in the .xsessionrc file, in the startup application script.
I tried this
xinput set-prop --type=int --format=8 "SYNA2393:00 06CB:75E2 Touchpad" "Synaptics Tap Action" \
`xinput list-props "SYNA2393:00 06CB:75E2 Touchpad" | sed -n 's/,//g; s/Synaptics Tap Action.*:\(.*\)./\1/p'` 2
and that
xinput set-prop --type=int --format=8 "SYNA2393:00 06CB:75E2 Touchpad" "Synaptics Tap Action" 2 3 0 0 1 3 2
To no avail, none of them works for TapButton3 and all of them works for ClickFinger3. I spent a day (literally, no exaggeration) to research about it and arrived at this conclusion.
This line of code is very likely to the cause of this strange behavior.
References:
state of multitouch gestures in 14.04 / Unity
How can I disable arbitrary default multitouch gestures in Unity?
New Answer
I found the real solution after I wrote the above.
Accidentally, I unchecked the "Tap to Click" option in Mouse & Touchpad via GUI and then read the output of synclient. I observed that all the tap related values had been set to 0. This made me believe that the Unity mouse panel executes synclient upon login and sets "Synaptics Tap Action" to 2, 3, 0, 0, 1, 3, 0.
To verify my conjecture, I needed to disable this GUI thing. I googled "ubuntu unity control center override synclient" and got this link as the top result.
I conducted an experiment by deactivating the GNOME mouse plugin.
gsettings set org.gnome.settings-daemon.plugins.mouse active false
Then I rebooted, hooray, the TapButton3 finally worked after login. I jollied around and soon found out my usual natural (reverse?) scrolling, which I set through GUI settings , no longer worked. After some investigation, I gathered the following actions (possibly incomplete) made by GNOME mouse plugin.
synclient HorizTwoFingerScroll=1 VertEdgeScroll=0
syndaemon -i 1.0 -t -K -R &
I can now make touchpad settings on a per-user base (which I prefer). So I removed my synaptics.conf file and wrote the following as my ~/.xsessionrc.
synclient TapButton3=2 ClickFinger3=2
synclient HorizTwoFingerScroll=1 VertEdgeScroll=0
# the following ampersand is significant
syndaemon -i 1.0 -t -K -R &
# natural scrolling
synclient VertScrollDelta=-28 HorizScrollDelta=-28
Reference:
How do I make my synclient settings stick?