Super User is a question and answer site for computer enthusiasts and power users. 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'm using Apple Wireless keyboard and I'm slightly disappointed that Fn key and Ctrl key have that order. It's not convenient for me. How can I easily swap them?

share|improve this question
which OS? Mac or Windows? – tumchaaditya Jul 20 '12 at 11:22
up vote 6 down vote accepted


It can be done using SharpKeys 2.1.1:

SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. Included in the application is a list of common keyboard keys and a Type Key feature to automatically recognize most keyboard keys.

  • What you can do:

    Map an entire key to any other key - e.g. you could remap Caps Lock to a Shift key

  • What you can't do:

    Allow you to swap two keys with each other - e.g. you can’t have Q and Z swap places because the remapping code would get confused

Mac OS X

It can be done using DoubleCommand:

DoubleCommand is software for Mac OS X (a kernel extension) that lets you remap keys, in other words change the way your keyboard works. Often used to make a PC keyboard more comfortable with a Mac, swapping the Alt (Option) and Windows (Command or Apple) keys, since they are in swapped positions on Mac and PC keyboards. DoubleCommand is a quick and easy way to fix this if you use a PC keyboard with your Mac.

Related reading:

I've found the MacBook Pro Keyboard - How to Swap / Remap Keys? to contain useful information on this subject.

share|improve this answer
Thanks for the DoubleCommand software link, I've found it before see your post :) But it helps me. And I have another problem: how to redefine eject? Is it possible?! I want to set it delete behavior... Fu**ing apple devs think that we don't use delete or it's convenient to type fn+backspace instead of delete when programming? – InviS Jul 20 '12 at 15:33
Also with DoubleCommand I have a problem when use combo shortcuts (for example, Ctrl+Shift+Up. Only original buttons work... – InviS Jul 20 '12 at 15:39
DoubleCommand cannot swap them, according to the info on the web site. It can only remap the fn key into a control key. – iconoclast Aug 28 '14 at 16:23

Alas, this most probably won't work. With the exception of exchanging the bluetooth keyboard's firmware or rewire the harddware buttons.

Reason: The Fn key is a modifier for the generated scancodes. This key is a modifier at the hardware level. A fn keypress cannot be seen even (using 'xev' on my Apple bluetooth keyboard under linux)

EDIT: A quick test shows it might be possible (using showkey on a real tty):
Fn has keycode 464
Ctrl has keycode 29

share|improve this answer

When you are using Linux I think it should be possible, too. At least when you have access to your system and you can recompile your kernel. Check this out Linux: Apple Wireless A1314 Fn key not registered, looks like software bug.

share|improve this answer

You can swap the keys with Karabiner (formerly KeyRemap4MacBook), while DoubleCommand can only turn your fn key into a control key.

share|improve this answer

(Addition to Zuuls answer)


I have tried modifying the kernel module for Apple Keyboards here . If you have Linux kernel version 3.13 (or close), it should be easy to load it.

I have no experience writing kernel modules, so some of the code may not work as expected. As far as I know, it works on my keyboard :)

share|improve this answer

Under Windows, installation of the following driver allows to easily swap Ctrl and Fn.

In addition to that, cmd/win and alt can be swapped too and some Fn+Key combinations from the Mac layout are installed:

  • Ctrl -> Fn (configurable at installation)
  • Fn -> Ctrl (configurable at installation)
  • Left/Right Alt -> Left/Right Windows (configurable at installation)
  • Left/Right Windows -> Left/Right Alt (configurable at installation)
  • Eject -> Delete
  • Fn + Backspace -> Delete
  • Fn + Enter -> Insert
  • Fn + F3 -> (App) My Computer
  • Fn + F4 -> (App) Calculator
  • Fn + F5 -> Pause/Break
  • Fn + F6 -> Print Screen
  • Fn + F7 -> previous track
  • Fn + F8 -> play/pause
  • Fn + F9 -> next track
  • Fn + F10 -> mute
  • Fn + F11 -> volume down
  • Fn + F12 -> volume up
  • Fn + Up -> Page Up
  • Fn + Down -> Page Down
  • Fn + Left -> Home
  • Fn + Right -> End
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .