Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an external keyboard with Windows keys. I'd like to remap the keys so the layout of the keys on the bottom-left is identical to the internal keyboard on my MacBook Pro.



...should be this:


I've succeeded in remapping the windows and alt keys to option and command, respectively, via the Keyboard pane in System Preferences, but switching the control and fn keys isn't possible that way. Does anyone know of a way to do this?

Note: I don't want to globally switch control and fn; I only want to switch them on the external keyboard. KeyRemap4MacBook only seems to be able to remap the internal keyboard. When I check "Don't remap internal keyboards," the internal layout is restored, but nothing changes on the external keyboard.

share|improve this question
Were you able to figure this out? – William Bing Hua May 27 at 19:30
No, I've had no luck :/ – Will May 27 at 23:14

KeyRemap4MacBook also supports device-specific settings:

<?xml version="1.0"?>
    <device_only>DeviceVendor::KINESIS, DeviceProduct::ADVANTAGE</device_only>
    <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::FN</autogen>
    <autogen>__KeyToKey__ KeyCode::FN, KeyCode::CONTROL_L</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
    <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>

You can see the vendor and product IDs from If it can't remap any keys on the external keyboard, try uninstalling other keyboard or HID drivers.

See the source for the key code values and predefined settings.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.