Synergy with Mac Server, Windows Client
For a while now I’ve been using a program called Synergy to share a keyboard between a Mac Mini, Linux laptop, and Windows laptop. The Linux box was the “server” in this arrangement and the others were clients. This allows me to use the keyboard on the Linux box on the other two computers. It’s kind of a software KVM except that you still need a physical screen for each computer. But you can arrange it so that when you move the mouse to one edge on one computer, it pops up on an edge of the other computer. Also, you can cut and paste text between the computers, which is a huge bonus.
This arragement has worked well except for the fact the clipboard would not synchronize on the Mac with anything else. Now that I’ve got this spiffy new MacBook, the Mac Mini will get relegated to the workbench. The Linux PC is currently off to the side as well, but I will probably add it back in at a later time. The MacBook becomes the new “server.”
Synergy on the Mac doesn’t have a UI, which isn’t a big deal for me since I am comfortable with the command line. I did find a nice UI called SynergyKM which makes it a lot nicer–more like the Windows Synergy client. One thing that did throw me off with the Mac being a server was the key mappings were a bit off. I have a Windows keyboard hooked up to my MacBook and the “Windows” key (which the Mac uses as “Command”) wasn’t acting like the “Windows” key when the Windows box had the cursor. The “Alt” key was acting like the “Windows” key, and no key mapped to “Alt.”
Turns out there is an easy fix for this. Synergy supports mapping certain keys to certain other ones. This is primarily because different OSes use different “shift” keys (e.g. shift, alt, meta, super, ctrl) and in order to effectively share a keyboard with these other computers, you have to map these keys to something your “server” keyboard supports. By trial and error with the command line version of Synergy, I determined the correct mapping that would work would be to map the “super” key to the “alt” key and vice-versa. I wasn’t sure how to do this in SynergyKM, but a quick email to the authors gave me the answer I was looking for–ah I love Open Source.
In SynergyKM, you define the clients and their relative orientation to each other. Click on the icon that represents your Windows machine and click on the Screen Options button. In the key mappings, set Alt-Option to Command and Command to Alt-Option. After that, your “Command” or “Apple” key will act like the Windows key when your cursor has moved to the Windows box.
And for an extra bonus, the clipboard between the two computers seems to work correctly.