For a while now, I've had a slightly frustrating problem with Windows key mappings. This week it became irritating, so I finally decided to look into a fix… or, at the very least, a workaround.

No Rights

It started with my work laptop. All the keys on it worked normally; I could select text by holding down either of the shift keys and pressing an arrow key. I could open a Remote Desktop connection to my PC at home and the keys still worked normally.

But there was just one stubborn Windows server in the lab that, over Remote Desktop, refused to listen to the right shift key. It's as if the right shift key did not exist.

It agreed that the left shift key definitely exists; of course, learning to type with a key on the other side of the keyboard, with a different hand, would be to undo over a decade of muscle memory.

Fortunately, I didn't have to use that lab server terribly often, and usually not for very long. So I would just get on with it.

Argh

At home I use a brilliant piece of software called Synergy to mate my work laptop to my personal desktop machine; it's essentially a KVM switch implemented in software, and without the 'M'.

I have a mouse and keyboard connected to my PC as usual, and when I take the mouse to the right-hand edge of my PC's screen, it jumps to the laptop screen and keyboard control goes with it. If I then take the mouse to the left-hand edge of my laptop screen, control jumps back to my PC. It's a brilliant way to fake a two-desktop solution across computers connected only by a LAN. Aside from some unreliable clipboard synchronisation, I've not had a problem with it.

Anyway, after swapping out my desktop PC and settling down with a new installation of Windows 7, I noticed that the keyboard mapping over Synergy was no longer behaving. When passing input through to my laptop, I could type capitals with either the left or the right shift key, but attempting to select text with the right shift key was a non-starter.

I failed to find any specific documentation on the issue and got increasingly fed up.

The work-around

Content at this point to work-around the issue in lieu of truly solving it, I turned to one of the many good keyboard re-mapping tools out there on the web: KeyTweak allowed me to trick my computer into thinking that Right Shift is actually Left Shift, which — after forcing a reboot on me — finally saw the end of this debacle.

If you run Windows Vista or Windows 7 and want to re-map your keyboard, be sure to get KeyTweak v2.3.0; many of the typical freeware download sites provide v2.2.0 and there doesn't appear to be a centralised homepage for the project.