I have often used Synergy as a solution to extend my mouse and keyboard input to multiple computers at the same time. At this time however I want to present a solution to using Synergy as a pure KVM ( well, KM to be pedantic ) switch, which means changing input on -demand from one computer to another.
My need was driven by the fact that I often use one desktop, one laptop and one monitor. The desktop and the laptop are connected simultaneously to the monitor, and I can quickly switch between them. The keyboard and mouse however need to be physically moved between machines. I’ve tried a physical KVM solution, but it caused erratic behaviour in my keyboard, so I looked for something else.
As in the classic synergy setup, there will be one client, and one server. The server will be the computer in which the keyboard and mouse are plugged in. To start off, we define the screens section, where the two computers are listed. For simplicity, we’ll call them server and client.
section: screens server: client: end
Next up, we define a options section, which maps keystroke combinations to switching to certain screens. I chose something unlikely to be used like Super+Alt+<NUMBER>, but you can change this as you see fit.
section: options keystroke(Super+alt+1) = switchToScreen(server) keystroke(Super+alt+2) = switchToScreen(client) end
Another point to note is that there is no links section, which means that synergy will not try to transfer input between screens, which does not make sense in a pure KVM setup where we want on-demand switching only.
With this configuration, synergy works beautifully as a KVM switch. Something to be aware of is that in my experience quick strokes for the hotkeys were not recognized, so you might need to type a bit slower to help synergy recognize the switch.