How to swap ctrl and fn key on a MacBook Pro running Windows 7 via Boot Camp?

This is often impossible, because the Fn key is hardware and when pressed together with another key it sends a media key code or sometimes does something hardware based while sending no code at all. Your best bet is to adjust the BIOS (extremely hard, if not impossible) or the keyboard (some rewiring hack might be feasible), because Fn simply isn't in the Scan Code Specification...


Update, it seems that Apple defers from this way of doing things. You can apparently do this with DoubleCommand on Mac OS X, however this does not impose any interfacing with Windows, which will still continue to be a mystery, someone would figure out with some kind of scancode scanner whether there is actually a key code sent. As I don't have a MacBook I can't...


There is a registry key that may be able to do this, however I haven't found any documentation on it.

The Apple Keyboard Driver in

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\KeyMagic]

contains the entries

"Keymap"=hex:69,46,6a,47,6b,48,91,8b,90,88
"KeymapFn"=hex:0c,22,0d,1e,0e,1f,0f,20,10,27,12,23,13,55,18,21,27,54,2d,67,33,56,38,57

(there is also OSXFnBehavior but AFAIK this just controls that the function keys can be pressed without pressing Fn)

Maybe someone can figure out the keycodes for Fn and Ctrl?


I have used KeyTweak in Win 7 to successfully remap LAlt <-> LWin and RAlt -> RCTRL, RWin -> RAlt But Fn is not detected, even in AutoHotKey, so we probably have to wait for Bootcamp update.