Apple - How to create a keybinding using the [fn] key as a modifier?
I installed a third party utility to remap these keys on my MacBook Pro running OS X 10.8. Here are the steps I used:
(1) Download and install KeyRemap4MacBook.app
(2) Edit (or create) the following file in a text editor:
~/Library/Application Support/KeyRemap4MacBook/private.xml
...so that its content is:
<?xml version="1.0"?>
<root>
<item>
<name>JKLI to Arrow Keys</name>
<identifier>private.jkli_to_arrow_keys</identifier>
<autogen>
__KeyToKey__
KeyCode::J, ModifierFlag::FN,
KeyCode::CURSOR_LEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::K, ModifierFlag::FN,
KeyCode::CURSOR_DOWN
</autogen>
<autogen>
__KeyToKey__
KeyCode::L, ModifierFlag::FN,
KeyCode::CURSOR_RIGHT
</autogen>
<autogen>
__KeyToKey__
KeyCode::I, ModifierFlag::FN,
KeyCode::CURSOR_UP
</autogen>
</item>
</root>
(3) Select "Preferences" from the little KeyRemap4MacBook icon in the OS X MenuBar at the top of the screen.
(4) In KeyRemap4MacBook's "Change Key" tab, tick "JKLI to Arrow Keys". (if this option doesn't appear, you may need to click the "ReloadXML" button)
You should now be able to use the Function key with J|K|L|I to control the cursor, in addition to the Arrow keys.
You are correct. Although Mac OS X allows you to remap the control, caps lock, option, and command keys, the fn key is not included. To do this, you'll need to use 3rd-party software such as DoubleCommand. That will let you remap the fn key to the control key.
From there, you should check out additional software to remap the control+J key etc. to emulate the left key etc. So long as you can emulate ctrl, you should be able to create the keybinding in ~/Library/KeyBindings. You might be able to do this last step in DoubleCommand as well.