If you use multiple Windows machines on your desk, you’re probably tired of swapping between keyboards and mice. There are hardware solutions—KVM switches, which use multiple inputs and outputs to share physical mice and keyboards. Synergy, a program that does the same thing over a network, is a more elegant solution, and it works with Windows, macOS, and Linux.

Step One: Download and Install Synergy

SourceForge has the latest version of Synergy available for Windows and macOS. Synergy used to be completely free software, but the code was purchased by Symless and monetized. The app is hosted on the company’s website too, but it requires an account creation and login—SourceForge is still hosting the latest combined free and commercial version of the installer, so it’s the easiest place to find the correct file.

Head to the address and download the installer to both computers. Ignore the sign-in for Synergy Pro—we’ll cover that later.

On Windows PCs, double-click the installation file and follow all the on-screen instructions.

Mac users should download and open the DMG file, then drag the Synergy icon to their Applications folder.

The first time you run Synergy on a Mac, you’ll be asked to will ask to control your computer using accessibility features.

Don’t panic: this is normal for any application that wants to take control of your mouse and keyboard. Click the “Open System Preferences” button and you’ll be brought to the appropriate panel in System Preferences (Security & Privacy > Privacy). Click the lock at bottom-left and you’ll be asked for your password. After that you can check the “Synergy” box in the right-side panel.

Lastly, Linux users should avoid directly downloading the program and instead use their package manager to install Synergy. Ubuntu users can type sudo apt install synergy to install the program; if you use a different distro, search your package manager to find the program.

Step Two: Configure the Client Machine

Once the installation is finished, start the program. Make sure both computers are on the same local network, and you’ll need a mouse and keyboard for both machines for the initial setup—or you can move them back and forth as needed.

You’re going to have to get information from both the client (the computer that doesn’t have a keyboard and mouse plugged in) and the server (the one that does), but at the moment, let’s just look at the former. On the client side, you’ll see the following:

Make sure that the entry “Client (use another computer’s keyboard and mouse” is checked, not “Server.” Make a note of the name of the screen name of the computer as it appears in the interface. In my case, the client PC’s name is “DESKTOP-KNUH1S0,” because I haven’t bothered to change the device name of my Surface Pro.

Now switch over to the server machine.

Step Three: Configure the Server Machine

The server machine is the PC that actually has the mouse and keyboard connected to it. On that computer, make sure that the check mark next to “Server (share this computer’s mouse and keyboard)” is applied, not “Client.” Now click “Configure Server.”

Click and drag the new computer button, the monitor icon in the upper-right corner, onto the blank space that has the icon with your server PC’s name. This grid represents the physical spacing of your two computer screens: in my case my Surface sits beneath the monitor for my server, “Enterprise”, so I’ll place it below it in the grid. If your computers are side by side, place the icons in the same relative locations as the physical screens. This step will determine which edge of which screen leads to which when moving the mouse cursor.

Double-click the computer icon you just selected, and give it the name of the client machine you took note of in Step Two. Click “OK,” then “OK” again on the grid screen.

Step Four: Make the Connection

Note the IP address of the server machine in the “IP addresses” field—you want the first one, in bold. Switch to the client machine and input this number (complete with periods) in the “Server IP” field.

Click the “Apply” button on Synergy on both the server and the client, then “Start” on both. Now you should be able to move your mouse cursor from one screen to the other, with the keyboard function following along. Neat!

Other Settings You May Want to Tweak

Here are some more useful settings in the free version of Synergy, available on the Server machine from the “Configure Server” button:

Dead corners: portions of the screen that won’t switch over to the other machine. Handy for interactive functions like the Start menu. Clients can get their own dead corners by clicking on the machine icon in the Screens and Links tab. Switch: time to wait as the cursor passes over a screen border before switching over to the client or server machine. Handy if you find your main work machine constantly losing focus. Use relative mouse moves: try this if the mouse cursor is significantly fast or slow on one machine. Configuration save: Click File > Save configuration as to save this particular configuration on the server. Configurations can be retrieved with the “Use existing configuration” option if you’ve saved it as a local file.

Feel free to dig around the settings and see what else may be useful to you—but for now, you should be able to start using Synergy!

Buy the Paid Version of Synergy for More Features

The commercial component of Synergy administered by Symless adds features like an easier auto-config system, clipboard sharing, file dragging-and-dropping, and hotkey toggles. It’s a one-time payment of $19 for a lifetime single license to Synergy Pro. Consider the upgrade if you regularly rely on Synergy.

Image credit: Symless