12 Aug 2016

The Mac's Modifier Keys Are Messed Up. Here's How to Fix Them.

Apple is known for simplifying things, for not offering choice that doesn't help you achieve your real goals, whether planning a vacation or buying a product. Apple doesn't believe in choice for the sake of choice.

An exception is their keyboard, which has four five modifier keys:

fn, control, option and command. Why do we need so many?

Worse, one of them has two names — option and alt. Why on earth does a modifier need to have two names? Does Safari have an additional name, like Journey?

When you look in the UI, you find weird symbols that aren't on the keyboard:

What on earth are ^ and ⌥ and ⇧? At least ⌘ has its symbol printed on the keyboard. The others are a mystery.

Try describing any of them on the phone: "It looks like an arrow. No, actually not an arrow, but like a line splitting into two." What a mess.

So the problems with the Mac keyboard are that there are four modifiers (which are three more than needed), some keys have two names (option and alt), and each of them has a symbol, most of which aren't printed on the keyboard.

Apple got everything wrong here that one could have gotten wrong.


This is simple to fix. Keep just one modifier key — control — and get rid of the rest: fn, option and command.

One modifier is enough to define shortcuts, like Ctrl-C to copy, or Ctrl-N to open a new Safari window. The shift key is also available to define a shortcut, like Ctrl-Shift-N to open a private window in Safari. That's more than enough flexibility. Dump the fn, option and command keys.

That will also fix the bad convention on the Mac of defining multi-modifier shortcuts like Cmd-Opt-L. Those are hard to remember, and hard to execute.

The Ctrl key can also be used as a toggle to toggle the meaning of function keys as media keys (to change volume, screen brightness, expose, play, pause, etc). Fn currently plays that role, but with fn going away, ctrl can play that role.

Also fix the UI to spell out "Ctrl" rather than ^. Get rid of these unintelligible symbols everywhere, both from the keyboard and from the UI. And if the UI says "Ctrl", so should the keyboard, not "Control".


Notice that the above shortcuts, like Ctrl-C to copy and Ctrl-N to open a new window, are consistent with the rest of the world (Windows and Linux). That's a good thing. Mac users will no longer be confused when they connect a normal keyboard and press Ctrl-C to copy, out of habit, as I used to do. It make no sense for the same keyboard to behave differently when connected to different devices. Or for the keyboard itself to be different from a Mac keyboard. That's doubly inconsistent.

Be different only when it's better in some way, not for the heck of being different. For example, would it make sense if the Mac used right-click as the normal click, and left-click to bring up a menu? Of course not. Similarly, use Ctrl-C to copy, like other operating systems do. Make Ctrl-right arrow move to the right by one word, and Ctrl-Shift-right arrow to select the word, again like Windows.

Have physical home and end buttons instead of requiring a shortcut like Cmd-right arrow. A single button is faster to press. Make it consistent with Windows, by moving the cursor to the end of the line, not the entire text area, as the Mac does today. I far more often end up moving my cursor to the end of the line, anyway.

Every key, and every combination of keys, on the Mac keyboard should behave as it does in Windows.

With this change, people who plug a normal keyboard into a Mac will no longer be confused. Ctrl will work as usual. Alt will be a no-op, since it will no longer be supported by macOS. Mac users will no longer have to buy Mac versions of keyboards, which may not be available for the specific model they would otherwise want to buy.


In summary, keep just one modifier key (control), and ditch the rest —fn, option and command. Get rid of the symbols like ^, both in the UI and on the keyboard, and instead just spell it out, like "Ctrl". This will make the Mac easier to use.


  1. Anonymous1:17 am

    "We need Control only"

    I beg to differ, how about various languages' diacritic signs? ąóżź? Those can be achieved by Alt+key combination, if this is taken away, we (non-English users) are deep in trouble.


  2. Agreed. Perhaps non-English keyboards should have an Alt. Or all keyboards should have an Alt, but it should be used only for diacritic signs.

  3. Just install better touch tool and remap it yourself. 1 mouse button is "elegant", 4 modifier keys are not going anywhere.