Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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.

This...

ctrlfnwindowsaltspacebar

...should be this:

fncontroloptioncommandspacebar

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
add comment

1 Answer

KeyRemap4MacBook also supports device-specific settings:

<?xml version="1.0"?>
<root>
  <devicevendordef>
    <vendorname>KINESIS</vendorname>
    <vendorid>0x05f3</vendorid>
  </devicevendordef>
  <deviceproductdef>
    <productname>ADVANTAGE</productname>
    <productid>0x0007</productid>
  </deviceproductdef>
  <item>
    <name>modifierkeys</name>
    <identifier>modifierkeys</identifier>
    <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>
  </item>
</root>

You can see the vendor and product IDs from EventViewer.app. 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
add comment

Your Answer

 
discard

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.