space-cadet keyboard
{{Short description|Keyboard used on MIT Lisp machines, influential to Emacs}}
File:Space-cadet.jpg-labeled {{dubious-span|version|reason=Someone should confirm if it was really a different version – not just a different label on an identical keyboard, or else just make this say "Symbolics-labeled space cadet keyboard"|date=March 2025}} shown here was only used with the LM-2, which was Symbolics' repackaged version of the MIT CADR. Later Symbolics systems used a greatly simplified keyboard, the Symbolics keyboard, that retained only the basic layout and the more commonly used function and modifier keys from the space-cadet keyboard.{{Cite web
| title=Space-cadet Keyboard and Lisp Machine Keyboards
| author=Xah Lee
| date=2011-10-27
| url=http://xahlee.info/kbd/lisp_keyboards.html}}]]
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),{{Cite web| title=some ideas about the keyboard design for the LISP machine | format=TXT | url=https://raw.githubusercontent.com/mietek/mit-cadr-system-software/master/src/lmdoc/kbdpro.3 | archive-url=https://web.archive.org/web/20190228004001/https://raw.githubusercontent.com/mietek/mit-cadr-system-software/master/src/lmdoc/kbdpro.3 | archive-date=2019-02-28}}{{Cite web | url=https://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02212.html |title = Re: Pretty-lambdas}}{{Cite web | url=https://news.ycombinator.com/item?id=2191014 |title = I know this is another "neckbeard" comment (Love that term), but anyone who ever... | Hacker News}} which inspired several still-current jargon terms{{Citation needed|date=April 2022}} 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.
Description
The space-cadet keyboard was equipped with seven modifier keys: four keys for bucky bits ({{Key top|Control|3=true}}, {{Key top|Meta}}, {{Key top|Super}}, and {{Key top|Hyper}}), and three shift keys, called {{Key top|Shift}}, {{Key top|Top}}, and {{Key top|Front}} (which was labeled on the front of the key; the top was labeled {{Key top|Greek}}). {{Key press|Meta}} had been introduced on the earlier Knight keyboard, while {{Key press|Hyper}} and {{Key press|Super}} were introduced by this keyboard.{{Cite book
| title=The Jargon File
| year=2007
| publisher=Xinware Corporation
| pages=128
| isbn=978-1-897454-66-4
}} Each group was in a row, thus allowing easy chording, or pressing of several modifier keys; for example, {{Key press|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 {{Key top|G}} key had a "G" and an up-arrow ("↑") on the top, and the Greek letter gamma ("{{serif|γ}}") 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:
class="wikitable"
!Key pressed !Result |
{{Key press|G}}
| g (lowercase G) |
{{Key press|Shift|G}}
| G (uppercase G) |
{{Key press|Front|G}}
| γ (lowercase gamma) |
{{Key press|Front|Shift|G}}
| Γ (uppercase gamma) |
{{Key press|Top|G}}
| ↑ (upwards arrow) |
Each of these might, in addition, be typed with any combination of the {{Key top|Control|3=true}}, {{Key top|Meta}}, {{Key top|Super}}, and {{Key top|Hyper}} keys. By combining the modifier keys, it is possible to make {{nowrap|(50 keys × 5 shift types) × 2{{sup|4 bucky keys}} {{=}} 4000 different inputs.}} 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.{{Cite book|last1=Cameron|first=Debra|chapter-url=https://archive.org/stream/learninggnuemacs00came#page/408/mode/2up|title=Learning GNU Emacs|last2=Rosenblatt|first2=Bill|last3=Raymond|first3=Eric|publisher=O'Reilly|year=1996|isbn=1-56592-152-6|editor-last=Loukides|editor-first=Mike|edition=Second|location=Sebastopol, CA|pages=408–409|chapter=Emacs and X|author-link3=Eric S. Raymond|chapter-url-access=registration}}{{efn|The way the space-cadet keyboard influenced the design and usage conventions of the Emacs text editor compares with the influence the ADM-3A terminal's keyboard—notably its {{Key top|Esc}} key feature—had upon the competing vi text editor.{{Cite web
| url=http://xahlee.info/kbd/keyboard_hardware_and_key_choices.html
| title=History of Emacs & vi Keys (Keyboard Influence on Keybinding Design)
| author=Xah Lee
}} In both cases, these were the keyboards used by each editor's respective original developers.}} 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 {{Key top|Alt}} when describing key presses: the "M-" stood for {{Key press|Meta}} on the space-cadet keyboard, and when Emacs was ported to PCs, the {{Key press|Alt}} key was used in place of {{Key press|Meta}}.
This keyboard included a {{Key top|Macro}} key which had limited application support. It also included four Roman Numeral keys ({{Key press|I}}, {{Key press|II}}, {{Key press|III}}, and {{Key press|IV}}) which allowed for easy interaction with lists of four or fewer choices.
See also
Notes
{{notelist}}
References
{{Refbegin}}
{{JargonFile}}
{{Refend}}
{{Reflist}}
External links
- [https://web.archive.org/web/20150112030657/http://home.comcast.net/~mmcm/kbd/SpaceCadet.html Space Cadet]: Mike McMahon's discussion of the keyboard, with illustrative pictures and technical documentation
- [http://www.catb.org/jargon/html/S/space-cadet-keyboard.html Jargon File entry] on the space-cadet keyboard
- [http://deskthority.net/viewtopic.php?f=2&t=98 The Lisp keyboards]: overview of the space-cadet and other famous Lisp keyboards
- {{Cite web
| title=Space-cadet Keyboard and Lisp Machine Keyboards
| author=Xah Lee
| date=2011-10-27
| url=http://xahlee.info/kbd/lisp_keyboards.html}}
{{Keyboard keys}}