12

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.

hobbes3
  • 1,003
  • 3
  • 14
  • 21

5 Answers5

4

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

Tamara Wijsman
  • 57,083
  • 27
  • 185
  • 256
  • 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. –  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 http://www.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... – Tamara 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
3

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?

laktak
  • 2,487
  • 7
  • 32
  • 42
  • Someone asked regarding this at the Apple forums 2 years ago, yet still no suitable help. https://discussions.apple.com/thread/7920566 – Martin Braun Aug 28 '19 at 00:23
1

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.

Gościu
  • 11
  • 1
0

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.

0

Someone implemented a kernel-mode driver to do this magical feat for the wireless Apple keyboard. I am not sure if it works for a macbook. The FAQ says that an option is to install Windows "natively." Regardless, there is a good chance a small modification to the source code could get it working everywhere.

https://github.com/samartzidis/WinA1314

Aleksandr Dubinsky
  • 614
  • 2
  • 7
  • 17