For debugging what Synergy is seeing (and sending, because it has some built in remappings that have caused me no end of headaches), you can go into the Edit> Settings (Windows/Linux) or Synergy> Preferences or cmd+,
(macOS) and change the logging level to Debug1 on each system and then save in the Settings/Preferences dialog and then Apply in the main Synergy UI to get the more verbose output.
While your cursor is on the "Server" machine you won't see any output when hitting the mouse buttons, but if you move over to a client machine you will see the button/keys it recognized in the server's log and in the client log you will see the key that it actually received/remapped.
One thing you will probably quickly notice if you are also familiar with xev -event button
or xinput list
and xinput test -event button deviceIdFromList
is that the events don't match up exactly with what Synergy is reporting. For example from my Logitech mice, buttons 8/9 are WWWBack/WWWForward but Synergy reports them as 6/7. So when you are remapping you need to use the Synergy numbers not the xev
numbers.
If your client machine is macOS, you will want to remap 6/7 to a keystroke(Meta+[)
or keystroke(Meta+])
for Back/Forward, if your client machine is Windows you probably want to remap 6/7 to mousebutton(4)
and mousebutton(5)
.
See this comment and others in the same thread, https://github.com/symless/synergy-core/issues/58#issuecomment-248043811
A tricky bit that I've run into repeatedly is you will probably need to create a new Synergy config (try using Save Configuration As) and load that file with "Using existing configuration" instead of using the interactive configuration, because I've run into cases where the interactive config only allows mapping buttons up to mouse button 4, hitting the forward/back or other keys it just always shows mousebutton(4).
Then you can use a couple lines like this to make the change.
# For Mac clients
mousebutton(6) = keystroke(Meta+[,macname)
mousebutton(7) = keystroke(Meta+],macname)
# For Windows clients
mousebutton(6) = mousebutton(4,winPC-123)
mousebutton(7) = mousebutton(5,winPC-123)
If you have all clients using the same OS so you want to remap it the same way on all, you can omit the screen names, but maybe you don't want to remap it on certain machines, that's where the :
separated list of screen names can be useful.