I just got a new keyboard. How can I remap the FN key on only this external keyboard to option?
So far I've played around with karabiner but haven't had success.
One Excellent third party tool that can make amazing edits to the keyboard mapping is named Karabiner.
To accomplish option and function key changes, create a filter for the external keyboard and adjust the modifier keys.
Prerequisites: external keyboard
Make a note of the vendor and product ID of the external keyboard:
Hit the tab Main
Enter the (PC-)Ctrl-key, (PC-)Fn-key and the (PC-)Alt-key and make a note of the "event names/miscs":
Close the EventViewer
Enter the customized keycode and replace the vendor name, the product name, the vendor and product ID by IDs and names found above as well as the "names/miscs" of the events (= KeyCode).
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>Cougar</vendorname>
<vendorid>0x05ac</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>ATTACKX3</productname>
<productid>0x0256</productid>
</deviceproductdef>
<item>
<name>Function to Option for ATTACKX3</name>
<identifier>private.fn2optExtK</identifier>
<device_only>DeviceVendor::Cougar, DeviceProduct::ATTACKX3</device_only>
<autogen>__KeyToKey__ KeyCode::Fn, KeyCode::OPTION_L</autogen>
</item>
</root>
Depending on your findings in the Event Viewer you may have to remap (PC-)keys to Control_L and Command_L also.
Save the file