From: Xah Lee on
Extended my post from this thread.

• Keyboard Hardware's Influence on Keyboard Shortcut Design
http://xahlee.org/emacs/keyboard_hardware_and_key_choices.html

plain text version follows.
----------------------------------------------------------------------

Keyboard Hardware's Influence on Keyboard Shortcut Design

Xah Lee, 2010-06-16

In my study of keyboarding in the past 20 years, i've noticed that the
choices of many shortcuts in many apps are adopted to the many aspects
of the keyboard hardware of the time in use by the community. Emacs's
keybindings are not simply based on the first letter of commands, but
the qwerty layout's key positions have significant influence on it.
This also applies to the letter choice of unix's shell commands. Much
of this influences of design are unconscious.

--------------------------------------------------
Emacs's Meta and Control

As a example, emacs's notion of “Meta”, and heavy use of Control as
primary modifier, and avoiding any Ctrl+Shift+‹letter› in its keyboard
shortcuts, are caused by the lisp keyboard hardware and dumb terminals
of 1980s.
lisp-machine-keyboard-2-left

Symbolics's lisp machine keyboard PN 365407 Rev C. full keyboard❐.
right side close up❐. Photo by Joey Devilla. Used with permission.

For detail, see: Why Emacs's Keyboard Shortcuts Are Painful.

--------------------------------------------------
vi's Esc key and J K H I

Unix vi's use of j k h i for cursor movement, and the choice of Esc
key for mode switching, came from the keyboard it was developed on,
the ADM3A terminal.
terminal ADM3A vi

The ADM3A terminal. Source
terminal ADM3A keyboard layout

The ADM3A terminal's keyboard layout. Source

--------------------------------------------------
Gaming's W A S D

The gaming's convention of W A S D for character movement keys, is
also shaped by the PC keyboard's physical key layout used at the time.

Most people need to use the right hand for the mouse for operating a
gun or view, this leave the left hand for the less accuracy intensive
task of controlling the character.

This leaves the physical arrow keys, but those have some problems. The
arrow keys are on the right side of the keyboard, making it awkward to
use with left hand. So, some inverted T cluster of keys on the main
section of the keyboard is chosen.

But why not say

E
S D F

keys? They are in the standard typing position. Instead, W A S D is
more suitable, because W A S D is on the neighbor of Caps Lock, Tab,
Shift, Control, Alt, that gamers needs to use for Firing, Shield,
Jump, change weapon, etc. So, W A S D becomes the convention.

Also note that the common layout is QWERTY. W A S D is inverted T on
QWERTY layout. For those using the The Dvorak Keyboard Layout, the W A
S D keys are scattered and is a problem. In fact, in the early days,
many games do not respect user's choice of key layout in Operating
System, nor does it provide ways for users to change the keys. Even
today, some game software still have this problem, notably Second
Life. (In the early days, say mid 1990s, Operating systems such as
Windows hardly have a consistent keyboard layout API for programers)

--------------------------------------------------
The X C V for Cut Copy Paste

Another history is the convention of X C V keys for Cut Copy Paste.
This came from Apple.

Apple computer, in the late 1980s and early 1990s, popularized the
undo, cut, copy, paste concepts, and in general the computer keyboard
shortcuts concept. These keys are chosen because they are all adjacent
and on the left side of the keyboard. Also in this set are Quit (q),
Close (w), Select All (a), Save (s), Duplicate (d), and Undo (z). The
only exceptions are Open (o) and Print (p) on the right side of
keyboard.

Q W
A S D
Z X C V

All these keys have become universally the standard on about all
applications on Windows, Mac, Linux today, possibly except the Z for
undo and D for Duplicate.

See: Cut, copy, and paste.

--------------------------------------------------
Windows's PrtScn/SysRq for Screenshot

On today's PC keyboard, you'll find quite a few relic keys. PrtScn/
SysRq, ScrLk, Pause/Break, Insert. They used to have meaningful
purposes in the 1980 or earlier, some of them are separate keys. But
computer hardware changes, and software changes, dramatically over the
past 20 years. Keyboard itself does not change as fast. So, these keys
became defunct. Because the key name PrtScn somewhat relates to
screenshot capture, so Windows has chose it to be the key for saving
screenshots. Similarly, the “Backspace” key, was chosen as browser's
back to previous page shortcut. Note that this key is labeled “Delete”
on Apple's keyboards, even they sent the exact same signal. In Apple's
operating system, in Mac Classic of the 1990s or Mac OS X since early
2000s, this key was not used for browser's back function, only so in
mid 2000s when Apple started to adopt many Windows's conventions.

See also: Difference Between Apple and PC keyboards.

--------------------------------------------------
Conclusion?

If there's any conclusion, it is that many keyboard shortcut or hotkey
choices are based on what is practical at the time. Issues of logical
design, ergonomics, consistency, efficiency, are less important when
it conflict with practicality. Some of these concept didn't even exist
at the time, and some choices was good at the time but computer
keyboard has changed long since.

In retrospect, many of the choices are not the best today. For
example, qwerty layout was practical at the time, but the Dvorak
Layout was invented too late, when a convention was already
established, and ergonomics isn't as big a concern at the time since
not that many people need to use typewriters, but typing on computer
is done by everyone today, and programing have become a field that's
some million times more than the number of typists in the past.

Emacs's primary modifier the Ctrl is much better at the Alt position
on today's PC keyboards.

“vi”'s Esc might be better today at PC keyboard's Alt or Caps Lock.
“vi”'s H J K L is still pretty good, but arguably better with:

I
J K L

The QWERTY really should be Dvorak today.

The defunct keys, Insert, ScrLk, Pause, Break, really should be gone.
There needs to be keys to switch to previous next app/window/tab, or
toggle Show/Hide current window. The Num Lock on the number keypad
also is a relic, from a time long past that keyboards doesn't have
dedicate arrow keys and Page up/down Home/End etc keys.

Xah
∑ http://xahlee.org/

☄