Keyboard Technology, It's Hack All the Way
So in my study of keyboard, over the past 30 years, i kinda felt its all hack. Actually, it is perhaps the defining characteristics of Engineering.
QWERTY Hack to Prevent Key Hammer Jam
First such discovery is qwerty (vs dvorak) (to prevent key hammer jam).
[see Dvorak Keyboard Layout]
Physical Key Arrangement Stagger Hack
Then, the physical key arrangement (the stagger). (due to, in mechanical typewriter, the levers underneath each key need to be aligned equidistant)
[see Keyboard Design Flaws]
Capital Letters, Shift Gears Hack
Then, the birth of Shift key, that shifts gears, which became our modifier keys in computer keyboard, specifically designed to emulate the typewriter gear shifting.
Key Electronic Circuit Hack: Ghosting and N-Key Roll Over
Then (out of order): why there's key ghosting and “n-key roll over”. (due to cost saving measures in electronics. Minimize the diodes by ways of “matrix”).
[see N-key Rollover and Ghosting]
Hack: Hold Key to Repeat
People do want holding down a key to repeat, thus, IMB created the key protocol to do that. That is, when a key switch is on, after some micro second, it sends on off on off on off on off signals.
The hold key to repeat is actually also a hack to begin with. It was IBM PC AT that invented this hack. In one of their keyboard protocol. Like, if you think switch in electronics, it is either on or off. It really should not repeatedly send on off on off signals, at least not at the hardware level. That should be the operating system's job.
About every few years, i discovered some behavior of keyboard was a hack.
Emacs and Vim keybinding Hack
and, the whole shebang of emacs default keys faak and vim default keys faak (hjkl and others such as $ etc). (due to lisp machine keyboard for emacs and adam terminal for vi) and the why how vim “modal” way was developed (due to, back then, u have to give a command to tell comp to update the screen).
Gamer WASD Navigation Keys Hack
And, the gamer's navigation keys, why is it WASD, and not say ESDF. (due to the need for adjacency with capslock, shift, etc for run, crouch, fire, etc.)
It's faaaking hack all the way!