The MacBook keyboard layout is wrong. Control goes in the bottom left corner, but for some reason fn is chilling there. My old ThinkPad also had them in the wrong order. I hate this so, so much, and clearly more people dislike it, as the ThinkPad has an actual dedicated BIOS setting to swap the two.

fn and control

Now the Mac offers the ability to change what the keys do too, at least it seems to. Unfortunately, changing the setting in Settings → Keyboard → Keyboard Shortcuts → Modifier Keys does nothing for me. Not a clue if this is a me problem or a macOS one.

Keyboard setting

Luckily there’s Karabiner Elements1, which allows for complex modifications, including swapping keys.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
    "description": "Swap fn and control keys",
    "manipulators": [
        {
            "from": {
                "key_code": "fn",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "left_control" }],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "left_control",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "fn" }],
            "type": "basic"
        }
    ]
}

And to make it all look right: the fn and control keys are the same size, so with great patience, effort, and care, you can physically pop those out2 and swap them.