Swapping Function (Fn) and Control (Ctrl) Keys on Lenovo ThinkPad W500

I'd like to swap the Fn and Ctrl keys on my ThinkPad W500 (like many others! See: How can I switch the function and control keys on my laptop? and Intercepting the Fn key on laptops)

  1. Numerous folks indicate that Windows doesn't register the Fn key as a keypress but using Mihov ASCII Master 2.0, that gives the ASCII value of a keypress, I see the Fn key returning FF (perhaps FF in this case means 'not registered'). I also see that keys like Ctrl register with one ASCII code when pressed alone and another when pressed in combo with another key. Fn will only register when pressed alone, so Windows definitely isn't seeing the combo. This took a solution like AutoHotKey off the table.

  2. I ran KeyTweak (which shows you the hardware scan codes of a keypress and the Fn key registerd as 57443). Using this program I remapped Fn to the Ctrl key; this worked perfectly. However, I suspect that because of the issue in #1, the combo of, for example, Fn + C did not execute a copy.

Short of retraining my pinky I'm actually considering removing the keyboard and resoldering the connections to swap those keys.

I'd love to get some input as to the root technical issue(s) and possible solutions here.


Apparently the FN key is not handled by the Windows keyboard driver, but rather by drivers developed by Lenovo. Hence remapping of the FN key is impossible by any Windows utility that switches keys, because the Fn key doesn't generate any scan-codes.

Apparently Lenovo is currently considering a modification to the BIOS that will make this possible. See this article: "Switch Mode for Fn/Ctrl Keys".

In conclusion you should (1) regard your BIOS to see if such an option already exists, and if not (2) check the Lenovo site for BIOS upgrades from time to time (just note that BIOS upgrades need to be done very very carefully, since a mistake means bricking your computer).

In the meantime, you can use this solution (just joking):

image


The bios swap for the function and ctrl keys is now implemented by Lenovo! If you have a newer Lenovo laptop (mine is a thinkpad x201), you can find the option to switch them under the "configure keyboard and mouse" options. (For my laptop, I access the Bios by pressing the blue "ThinkVantage" button while the computer is booting up).