PC Keyboard Modifier Keys (A Short Survey)
Perm url with updates: http://xahlee.org/kbd/pc_keyboard_modifier_keys.html
PC Keyboard Modifier Keys (A Short Survey)
Xah Lee, 2011-06-10
Took a hour to do a little survey of modifier keys on PC keyboards. On the left side, vast majority of keyboards all have the same Ctrl, Win, Alt, in that order. However, the right side is entirely a different story. Here's some common design:
- ① Alt Win Menu Ctrl (most cheap keyboards)
- ② Alt Menu Ctrl (some Microsoft ergonomic models)
- ③ Alt Flip3D Menu Ctrl (some fancy (non-split) Microsoft models)
- ④ Alt Fn Ctrl (many Logitech keyboards)
- ⑤ Alt Ctrl. (keyboards of early 1990s)
If you look at the cheapest generic brand usb keyboards, they tend to have all the modifiers. e.g. Alt Win Menu Ctrl. Both Logitech and Microsoft's cheapest keyboards are like that. (See: PC keyboards gallery.)
More expensive or fancy keyboards almost always have some other arrangement. In particular, Logitech seems to start to have them like this: Alt Fn Ctrl. This is functionally a downgrade. Because:
- ① Now you need to press 2 buttons instead of 1. For example, to launch browser, now you need to hold Fn then press F7, instead of a single button Web/Home.
- ② It removes a extra modifier key. For example, if there's a right Win or a Menu key there, you can remap them to do something useful. e.g. For your personal keyboard shortcuts, or for math symbols (APL keyboard) input, or as Super or Hyper for emacs's over 1k key shortcuts, or as convenient Esc in vi editor.
I cannot forgive such conspicuous idiocy. This happens on their expensive models too. (e.g. Logitech Wave Keyboard.) However, it doesn't happen on their gaming keyboards. (Good! Am relieved to know that at least gamers knew the value of function keys!)
Most popular Microsoft split keyboards have Alt Menu Ctrl. (e.g. MS Natural Ergonomic 4000.) This is not too bad. You lost one Win key as extra modifier.
Why Keyboard Designers Remove the Right Win and Menu Key?
it's not hard to see why keyboard designers remove the right win and menu key. First of all, those keys are useless.
One Win Key is Enough
The Win key is designed to invoke the 〖Start〗 menu or as global shortcuts combo key. If you look at the assigned function, typically they are not of the type that needs to be executed frequently in a short time. (in constrast to Undo, for example) So, one left Win key is enough. Also, the behavior of popping up the Start menu is annoying if accidentally invoked. More reason for just a single Win key.
Menu Key is Useless by Default
The Menu key (aka App key), is designed to be application specific. This is a fantastic idea. Imagine, each app will just have its own shortcuts in the 【Menu+‹key›】 space. This won't conflict with the system-wide 【Win+‹key›】 space, and won't infringe on F1 … F12 space that is supposedly to be user defined.
Unfortunately, it seems no app took this advantage, and all the Menu key do today is pop up a contex menu, which can be done with mouse's right click.
So, the Menu by default is practically a useless key.
Removing Useless Keys
It's not good to have useless keys. So, manufactures try to remove them, or improve them, to innovate, to get more customer love, thus more money. Thus, MS either removed the right Win key, or introduced the Flip3D key in place of of it. While, Logitech rid of both Win and Menu and replace it with their Fn.
The move by Logitech is stupid, but it brings them one advantage. By introducing Fn, it means they don't need to create 5 or 10 more special buttons for launching apps etc, because Fn is to be used together with the existing F1 to F12 keys. So, this saves them manufaturing costs.
Misfortune For Programers
However, for programers or gamers who know how to use their keyboard fully, the removal of Menu or right Win key is a misfortune. Because, for us, it simply means a lost of modifier keys. Not just losing a couple of keys, but keys at critically convenient spots for the right thumb. The Logitech's Fn is particularly idiotic because Fn usually is hardwired in keyboard circuitry and not visible to the operating system. This means, you can't remap Fn. You can not have it be Super, Hyper, Control, Meta, nor Esc. If you don't care for the pre-assigned 2-button combo of 【Fn+F‹n›】 to launch apps, then that Fn simply became a dead horse squatting on the front seat.
A ideal solution for keyboard manufacturers, is to put Fn or Flip3D or whatever there you think is innovation, but yet let the key be accessible thru standard USB protocol or OS API, so that advanced users can still access that key for whatever they may want to do with it.