External keyboard remapper for OS X?

I’ve put a fair enough amount of research into this one, but it’s time to lazyweb it. Anyone who know me knows my primary gripe with Macs: the keyboards. The MacBook (ok), PowerBook / MacBook Pro (awful), and Pro Keyboard (downright painful) don’t come anywhere near a sensitive, tactile swing on a keyboard like the diNovo or my Vaio FS laptop. Now that my fingers and wrists are freaking killing me after using the Apple Pro Keyboard for two days I have no choice but to revert to my “trusty” diNovo. (Trusty in quotes because this is my third keyboard.) Yeah, you can do the System Prefs -> Keyboard & Mouse -> Modifier Keys swap so your Windows key acts like alt, and alt like the command key, but then when you’re using your laptop keyboard you have to set it back (and then back again when you’re using that external keyboard at home). I tried the Snark.de solution, but it didn’t do anything for me, maybe I just suck. Doesn’t someone have a good external keyboard solution for making use of the cornucopia of great PC keyboards out there?
Co-founder of


check out DoubleCommand, it might do the trick.
Yep, I use DoubleCommand — it’s great! But it doesn’t have an option for what I’m talking about (nor does it specify between laptop/external keyboards). Thanks though!
synergy plus keymapping could do the trick, although a pain to set up and doesn’t necessarily solve the question of what happens when i unplug the keyboard. but there has to be a solution to this in command line on os x, i’ll keep you posted.
Not sure if you’ve seen this one…
Logitech® Cordless Desktop S 530 Laser for Mac
http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2162,CONTENTID=11420
Have you tried an AppleScript or Automator action to do the setting switch every time the USB KB is connected or disconnected? Not exactly what you want, but could be a decent workaround. It really is a shame about Apple’s keyboards. Back in the day, they made some of the absolute best ones out there — the classic Extended Keyboard II was just one in a long line of solid, tactile ‘boards that traced their roots back to the Apple II days. But that all started going down the drain with the original iMac, with its useless ‘board and hockey-puck mouse. The keyboard is the biggest thing stopping me from getting a MacBook — that thing looks like the least functional deck since the PCjr.
If there’s one man that knows the value of a good keyboard, it’s Marc Perton. Dude’s my Model M soul brotha. Look at Apple’s keyboard history though — as they came (back) into being stylish, form-driven objects, the ergonomics of their interfaces started to fall off. Look at the mighty mouse. It looks good, but the squeeze buttons are awful and have no give or feedback, and the right click doesn’t even work if your index finger is on the left sensor. And then there’s all the noises it makes for no particular reason.
I have to say, the diNovo has a good swing and a good feel to it, and thankfully the alt and Windows keys are the same size so I was able to pop them off and swap ‘em (hey, it makes a little more sense now, Windows = Apple). Oh, what was I going to say? Yeah, Applescript/Automator, good call!
Ryan, the Microsoft keyboards come with a driver that handles the remapping for you. Plus they feel pretty good to boot. We use them with KVMs switching between Macs and PCs for cross-platform development. No need to remap anything since the driver handles it just for that device.
Btw, to anyone who wants to use a KVM between the systems, you need a mechanical KVM switch. Most modern switches show up to the system as a set of generic devices so the Microsoft drivers wont work. The benefit to this is the system doesnt know the keyboard/mouse/video are actually gone when you switch away. But anything that needs to really talk to the hardware wont work right.
oh yeah, if you want to hear the explanation in my oh so sultry voice, check the Engadget voicemail :) Called in before I saw you put the question up on your blog.
I tried DoubleCommand but it doesn’t solve the problem of unplugging the external keyboard – the MacBook Pro’s keyboard now also acts as cmd being the option and option being the command.
So actually, DoubleCommand doesn’t really do much for me.
ideas?
I’m runnig OSX 10.4.8 on a macbook. I’m using a Logitec3 Cordless desktop pro with it, and i’ve had the “swap option/command issue. I installed the logitech tool :
http://www.logitech.com/pub/techsupport/mouse/mac/lcc213.dmg
and it solved my problems. I no longer need to remap my option/Cmd keys each time I switch to the laptop kepboard. YAY:)
With recent builds of DoubleCommand, and some terminal hackery, you can have different mappings pushed onto different keyboards.
I’m using snow leopard (10.6) and I followed your route of System prefs->keyboard->modifier keys…
There was an option to change which keyboard these settings will be set to. Maybe a new feature (thanks for that apple), but it solved my problem without third party programs.