/ Home  / Blog

backlinks: /index/TechBits

Synergy, Kinesis keyboards and the Mac

Synergy is a great piece of software that enables you to use one mouse and keyboard across multiple networked computers. Its killer feature, for me, is the ability to work in a heterogeneous network environment.

I use it by running Windows Vista on the server and OS X 10.5 as the client.

I also type with a Kinesis Advantage keyboard — link. By default, these keyboards have two sets of ctrl and alt, ideal for Windows. The Mac has three modifier keys:

On Windows, the primary modifier key is control. On a Mac, however, it is command. The challenge is to support both environments simultaneously. In practice, this requires both hardware and software manipulation.

Customizing the Kinesis Keyboard for Synergy

If you have a Kinesis keyboard tagged "MPC USB", it is able to switch between Mac, DOS and Windows modes. The mode we want is the Windows mode which converts the right ctrl into a Windows key.

In order to enter this mode, press and hold "=" while pressing "w". Test this mode by pressing the ctrl key and seeing the start menu pop up.

If you don't have a Kinesis MPC keyboard

If your Kinesis keyboard is not MPC and does not support explicit Windows and Mac modes (such as the PS/2 keyboard I have at work), I was able to reprogram the right ctrl key to a Windows key through its internal macro support. Read the keyboard's documentation on how to do this.

Customizing Synergy

In order to get Synergy to do what we want, we need to go beyond what the GUI allows us to do. Launch the GUI and tell it to stop launching Synergy on system startup. We'll revisit this in a second.

Next, in the directory where synergys.exe is installed, create a file called synergy.conf. Add the following:

section: screens
    macmachine:
        switchCorners = none
        switchCornerSize = 0
        alt = super
        super = alt
    winmachine:
        switchCorners = none
        switchCornerSize = 0
end
section: links
    macmachine:
        right = winmachine
    winmachine:
        left = macmachine
end
section: options
end

Of note are the lines assigning alt and super to each other. Other settings may vary (check the latest Synergy documentation).

And, the results

From left to right, this sets the keyboard up on the Mac as:

And, on Windows, you get:

Addendum

This keyboard layout has a few tradeoffs. First, you'll notice that Emacs-style M-backspace or C-a or C-e to navigate removes lines of text in applications that use text input from Cocoa.

As command is the dominant modifier key on Mac, you may find yourself reaching quite often for it. One solution is to purchase a footpedal from Kinesis. I have a 3-button footpedal bound to each of the three modifiers as this stops me from reaching away from the home row while I type.

Vista Keyboard Shortcut to lock the workstation

Microsoft has chosen to make Windows Key-L lock the workstation in Vista. This is not captured by Synergy. Unfortunately, on our Mac, this is the keyboard shortcut to enter into the URL bar!

This is fixed by adding the following key to the registry on your Vista synergy server:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

Create new DWord 32 called DisableLockWorkstation and set it to value 1. This keyboard shortcut is immediately removed from the system.

This is not necessary under Windows XP.

Additional Debugging Help

Actually figuring out what key did which thing and tying together this solution was a pain in the butt as Synergy uses platform independent names for the keys as symbols because the operating systems cannot agree on names or symbols. However, it was made easier because I had a program for the Mac that allowed me to press one of the modifier keys and see the symbol generate which is invaluable for testing.

The best way I know to do this is to download the completely unrelated productivity software OmniFocus. In the preferences menu, general tab, there is a text box called "quick entry shortcut". Click on this and watch as your modifier keys are displayed as you depress them.