The space-cadet keyboard is a keyboard designed by John L. Kulp in 1978 and used on Lisp machines at Massachusetts Institute of Technology (MIT), which inspired several still-current jargon terms in the field of computer science and influenced the design of Emacs. It was inspired by the Knight keyboard, which was developed for the Knight TV system, used with MIT's Incompatible Timesharing System.
The space-cadet keyboard was equipped with seven modifier keys: four keys for bucky bits (⎈ Control, ◆ Meta, ❖ Super, and ✦ Hyper), and three shift keys, called ⇧ Shift, Top, and Front (which was labeled on the front of the key; the top was labeled Greek). Meta had been introduced on the earlier Knight keyboard, while Hyper and Super were introduced by this keyboard. Each group was in a row, thus allowing easy chording, or pressing of several modifier keys; for example, Control+Meta+Hyper+Super could be pressed with the fingers of one hand, while the other hand pressed another key.
Many keys had three symbols on them, accessible by means of the shift keys: a letter and a symbol on the top, and a Greek letter on the front. For example, the G key had a "G" and an up-arrow ("↑") on the top, and the Greek letter gamma ("γ") on the front. By pressing this key with one hand while playing an appropriate "chord" with the other hand on the shift keys, the user could get the following results:
|G||g (lowercase G)|
|⇧ Shift+G||G (uppercase G)|
|Front+G||γ (lowercase gamma)|
|Front+⇧ Shift+G||Γ (uppercase gamma)|
|Top+G||↑ (upwards arrow)|
Each of these might, in addition, be typed with any combination of the ⎈ Control, ◆ Meta, ❖ Super, and ✦ Hyper keys. By combining the modifier keys, it is possible to make . This allowed the user to type very complicated mathematical text, and also to have thousands of single-character commands at their disposal. Many users were willing to memorise the command meanings of so many characters if it reduced typing time. This attitude shaped the interface of Emacs; compare the use of the ⎋ Esc key in vi, due to the convenient position of the key on the ADM-3A terminal. Other users, however, thought that so many keys were excessive and objected to this design on the grounds that such a keyboard can be difficult to operate. Emacs uses "M-" as the prefix for ⎇ Alt when describing key presses: the "M-" stood for Meta on the space-cadet keyboard, and when Emacs was ported to PCs, the Alt key was used in place of Meta.
This keyboard included a Macro key which had limited application support. It also included four Roman Numeral keys (I, II, III, and IV) which allowed for easy interaction with lists of four or fewer choices.
This article is based in part on the Jargon File, which is in the public domain.
- ^ Xah Lee (2011-10-27). "Space-cadet Keyboard and Lisp Machine Keyboards".
- ^ https://raw.githubusercontent.com/mietek/mit-cadr-system-software/master/src/lmdoc/kbdpro.3[bare URL plain text file]
- ^ "Re: Pretty-lambdas".
- ^ "I know this is another "neckbeard" comment (Love that term), but anyone who ever... | Hacker News".
- ^ a b c The Jargon File. Xinware Corporation. 2007. p. 128. ISBN 978-1-897454-66-4.
- ^ Cameron, Debra; Rosenblatt, Bill; Raymond, Eric (1996). "Emacs and X". In Loukides, Mike (ed.). Learning GNU Emacs (Second ed.). Sebastopol, CA: O'Reilly. pp. 408–409. ISBN 1-56592-152-6.
- ^ Xah Lee. "History of Emacs ＆ vi Keys (Keyboard Influence on Keybinding Design)".
- Space Cadet: Mike McMahon's discussion of the keyboard, with illustrative pictures and technical documentation
- Jargon File entry on the space-cadet keyboard
- The Lisp keyboards: overview of the space-cadet and other famous Lisp keyboards
- Xah Lee (2011-10-27). "Space-cadet Keyboard and Lisp Machine Keyboards".