Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

There are sooooo many discussion on the internet about swapping the fn and ctrl key on a MacBook Pro.

On the Mac side, a new software called ReMap4MacBook does a perfect job swapping the two key.

But on the PC side (specifically Windows 7), I can't really find a definitive answer. Most post refer to this article but I read the loooong article and followed the instructions to no avail.

I remember there used to be a program (maybe it was on XP) that not only swapped the two keys but it also controlled the fans on the MacBook Pro. But I can't remember the name and I also recall that that program stopped being updated like years ago.

EDIT: It's called Input Remapper.

So I am hoping there exist a simple program that I can simply run to swap those two keys.

share|improve this question

5 Answers 5

up vote 3 down vote accepted

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...

share|improve this answer
1  
(firstly I hope this isn't considered off topic or unhelpful by SU standards): with the macbook pro/air line becoming more and more popular as a windows laptop, I wonder whether someone will finally bother getting their hands dirty in hacking mb pro/air bios'es to make it happen? or could it be done with some modified win bootcamp driver for the keyboard? (I'm guessing no for the second idea but thought i'd mention it.) Seriously at this stage the macbook pro etc lines continue to lead the way in non gaming (most) laptops. If i want to upgrade to a mb pro (for win8), this really is an issue. –  foregon Jul 14 '12 at 17:01
1  
@frenchglen: It seems there is a way for the OS to see it at least for Mac OS X, see the update to my answer. I don't know whether Windows is able to catch it somehow, one could try with passmark.com/products/keytest.htm to see if it detects something is pressed. Don't know if this application catches codes that are not on the keyboard lay-out shown, perhaps there are better alternatives to try... –  Tom Wijsman Jul 14 '12 at 17:13
2  
Tom - your theory was correct. Using a trial of the passmark product, it seems that the Bootcamp driver doesn't send a scancode to Windows for the FN key, it only sends a signal when combined with another key, so it can't be remapped independently. It also explained why the right alt/option key behaves strangely for me - Bootcamp sends both a R-ALT and a L-CTRL when that key is pressed. –  Matt Ryan Sep 19 '12 at 23:00

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?

share|improve this answer

The other option you can try is AutoHotKey. http://www.autohotkey.com/

It's a service you have to run in the background, but I've used it in the past when I was using an Apple keyboard on a Windows machine. It works pretty well--the only downside is that you need to have a service constantly running in the background.

share|improve this answer

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.

share|improve this answer

You can swap the keys with Karabiner, while DoubleCommand can only turn your fn key into a control key, but not the reverse.

My strategy (which you might find to be an appealing approach for you too) was to first remap only the fn key, so that either would work as control, and then when I'm used to always using the far left key as control actually popping the keys out and switching the physical keys, and only then remapping the other key to be used as fn.

share|improve this answer

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.