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.

  • In newer versions pressing the fn key a while (like 4 seconds) shows a popup where you can disable it.
    – User
    Apr 23, 2012 at 15:03
  • Actually, retraining your pinky is not that bad idea. I have to work both on ThinkPad with the Fn button where the Ctrl should be, and on the Dell machine where everything is OK, and now after a short time I got used to work on both without an effort.
    – user144692
    Jul 8, 2012 at 5:44

2 Answers 2


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):


  • Your last sentence made me chuckle. :) Regarding your statement "the Fn key doesn't generate any scan-codes.", I think it actually does (see above - 57443) generate a hardware scancode. Not only that but I successfully used KeyTweak to map Fn to Ctrl and on a single-key basis it functioned identically; Windows did indeed see it. What it doesn't appear to do is generate a unique ASCII keypress value and/or support keypresses along with another key (e.g. Ctrl+c) which require a unique ASCII code for the combo.
    – Howiecamp
    Oct 1, 2009 at 11:28
  • The Fn by itself certainly doesn't help much. At the moment, apparently the Fn is the most bemoaned Lenovo problem. The BIOS of some models were already hacked to do just that (but not yours). Lenovo will probably fix it in time for your next laptop.
    – harrymc
    Oct 1, 2009 at 12:39
  • @Howiecamp, so you can map FN+key to Ctrl+key and Ctrl+key to Fn+key? This is awesome as it is only a matter of doing remapping couple of dozens codes to have most everything working as desired. Could you share your solution? Sep 30, 2015 at 11:25
  • @akostadinov I'm not sure I had a solution...?
    – Howiecamp
    Sep 30, 2015 at 14:48
  • @Howiecamp, you wrote: "Not only that but I successfully used KeyTweak to map Fn to Ctrl and on a single-key basis it functioned identically; Windows did indeed see it." Oct 1, 2015 at 8:57

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

  • correct. Found it on the Thinkpad S430 as well after updating the bios.
    – tmanthey
    Dec 27, 2012 at 19:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .