Remapping Fn Key Via Bios

I’m wanting to make my keyboard act more like a Mac keyboard, but I just learned the “Fn” key isn’t a key I can remap because it’s not a real key at the software level.

I noticed Lenovo’s bios allows swapping the fn and ctrl keys:

Is this something that could be added to the Framework laptop bios?

Oops, it turns out the bios already allows this:

Nice work!


I am unable to understand why someone might intent on doing this. I think the control key should always be the bottom-left most key and if they swap it on the keyboard, just get used to it instead of swapping the function of the two keys. especially since you can’t actually swap the two keycaps. This is just completely confusing (even it might not appear to you)

No. It’s not. More of the time it’s just the way laptops implement multimedia functions onto an otherwise standard keyboard.
Thus, I always set the function keys to function keys rather than multimedia controls on all instances.

A more extreme case with FN keys is on the Fujitsu UH554, where part of the keyboard is mapped as the numpad when Fn key is pressed.

@Xavier_Jiang I’m also using a apple magic keyboard as an external keyboard, and I’m using Kinto to remap the keys on that keyboard. However, that’s a system wide remapping and it’s not device specific. So, I need the position of the Fn key on the framework laptop to match the apple magic keyboard.

My work laptop is a MacBook and that’s probably the laptop I spend the most time on. That’s why I use the apple magic keyboard as an external keyboard.

Ah. I see.
I have two laptops. One is a Hp netbook (with Ctrl as the edge button) and the other is a Thinkpad T14 (with Fn as the edge button). In most cases I do not have much problem as I rarely use Fn, but it’s certainly annoying.
And because it’s a magic keyboard you can’t change that.
In that case, I think the bios swap is best for you. To me it is completely confusing and force me to pause and think whenever I look at the keyboard, but for others it might not be as significant.

On some laptops (notably ThinkPads), Fn has traditionally been the leftmost key. Some people might want to set all the machines they type on to a matching setting to avoid confusion.

As far as keyboard annoyances go, this is minor. My picks would be “95%-sized” keyboards (less than the standard 3/4" spacing between keys), making the arrow block smaller and/or combining it with Home/End/PgUp/PgDn. Unfortunately, Framework is an offender here as well with regard to the latter two. (I assume the key spacing is standard, although the specs don’t mention it explicitly.)

ThinkPad X220 had one of the last few decent keyboards, for a laptop:

Actually, you can remap some Fn key combinations (like Vol+/Vol-/Mute) via software. On Windows, it’d take adding or modifying the value for Scancode Map under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout, and there’s a GUI for it called SharpKeys: GitHub - randyrants/sharpkeys: SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key.

1 Like

On literally every other laptop and keyboard I use in my day to day (a couple of different Lenovo laptops, and a couple of different external keyboards including Logitech, Razer, etc) the FN is the far left key and it’s been hell to swap between the two keyboard types. Particularly as both the framework and my lenovo laptops have the FN key rows at the top. Super appreciate your update @Paul_Brown with the info on how to swap the keys in the BIOS.

1 Like