Space Cadet Keyboard

By Xah Lee. Date: . Last updated: .

The Space Cadet Keyboard was made by John L. Kulp.

it was designed around 1978, and making began in 1979, and arrived at MIT lap in 1980 January.

[see Keyboard Design for the LISP Machine]

Space-Cadet keyboard 2
Symbolics Space Cadet Keyboard. image source

There is a file dated 1978 with notes about the new Space Cadet Keyboard. It's signed “JLK”.

The CADR initially used the Knight keyboard.

It seems design and manufacturing progressed during 1979. There is an email from January 1980 that the “new keyboards” arrived to the lab.

The CADR, LMI, and LM-2 all used the same Space Cadet Keyboard although they looked different.

[ 2019-02-28 email from Lars Brinkhoff. •]

The lisp machine that used space-cadet keyboard includes the following, though the keyboard may look different:

LMI Lambda keyboard

The Space Cadet Keyboard is also made by Lisp Machine Inc, for their LMI-CADR machine, year 1983.

lmi lambda space cadet keyboard b270d
LMI Lambda keyboard [image source ]
lmi lambda lisp machine 37vp6
LMI Lambda lisp machine [image source ]

Note the LMI logo. It's lisp cons cell, which is the building block of lisp's list.

See also: Guy Steele Says: Don't Iterate, Recurse, and Get rid of cons!

space cadet keyboard 1
Brand new one, without case.

Video Review

Symbolics Space Cadet keyboard review (Honeywell Hall effect 4B3E) by Chyrosran22, Published on Dec 22, 2017

Meta Hyper Super Modifiers

space-cadet keyboard 5
Note the Meta Hyper Super modifier keys, and roman numeral keys. , , ,

The modifiers are:

The extra modifiers allows more key combination possibilities. However, extra modifiers create much less possibilities than key sequences. [see How Many Keyboard Shortcuts Are There]

See also: A Curious Look at Emacs's One Thousand Keybindings

Mode Lock not used.

Alt Mode → same as pressing Escape or Ctrl+[. It prints on SAIL displays [see SAIL Keyboard] or $ on ASCII displays. [from devon 2019-04-04]

Network → Lisp machine manual says: “this key is used to get the attention of a running Supdup or Telnet. As such it functions as a command prefix. This replaces BREAK on the old keyboards. See chapter 8, page 35.”

System → Lisp machine manual says: “This key is a prefix for a family of commands, generally used to select a window of a specified type, such as Lisp Listerner or Editor. These commands can be given from the old keyboards by typing TOP/ESC instead of SYSTEM. For a detailed description see section 2.3.7, page 14.”

I II III IV → Roman numerals, for selecting a menu item.

Rub Out → Lisp machine manual says: “Usually erases the last character typed. It is not the same as DELETE.”

space-cadet keyboard 7

STATUS → Lisp machine manual says: “Not currently used.”

DELETE → Lisp machine manual says: “This key is for some as yet unspecified form of deletion. In SUPDUP it substitutes for the VT key of the old keyboards.”

LINE → Lisp machine manual says: “The function of this key varies considerably. User interface is used as as command by the editor, and sends a "line feed" character in Supdup and Telnet.”

END → Lisp machine manual says: “Marks the end of input to many programs. Input of a single-line nature may be ended with RETURN. But END will terminate multiple-line input where RETURN is useful for separating lines. The END key does not apply when typing in Lisp expressions, which are self-delimiting. The old keyboards have no end key: TOP/RETURN may be used as a subsitutute.”

Help → Not used much. Lisp machine manual says: “usually gets you some on-line documentation or programmed assistance. on the old keyboards, HELP does not exist as a separate key, but it can be typed as TOP/H. See SYSTEM HELP, TERMINAL HELP.”

REPEAT → repeat the previous key.

Top Row Keys

space-cadet keyboard 6


MACRO → Lisp machine manual says: “Introduces a keyboard-macro command in programs, such as the editor, that have keyboard macros. The MACRO key is only defined while running such programs. The BACK NEXT key may be used for this function on the old keyboards.”

TERMINAL → Used as a prefix key followed by another key. The purpose is similar to modern control sequence in terminal. Lisp machine manual says: “This key is a prefix for a family of commands relating to the display, which you may type at any time, no matter what propram you are running. These are documented below. Most of these commands can be given from the old keyboards by using the ESC key.”

QUOTE → tell the system to insert the next key pressed, not interpret as command. In GNU Emacs, it's called quoted-insert with key Ctrl+q. Lisp machine manual says: “Not currently used.”

OVER STRIKE → Lisp machine manual says: “Moves the cursor back so that you can superpose two characters, should you really want to. The key called BS will do the same thing on the old keyboards.”

CLEAR INPUT → Lisp machine manual says: “Usually flushes the input expression you are typing. This command can be given on the old keyboards by typing CLEAR.”

CLEAR SCREEN → Lisp machine manual says: “Usually erases and refreshes the selected window. On the old keyboards, which have no CLEAR SCREEN key, the FORM key can be used for this. In the editor (in searches and after CTRL/Q) this key inserts a page separator character, which displays as "page" in a box.

HOLD OUTPUT → Lisp machine manual says: “Not used currently.”

STOP OUTPUT → Lisp machine manual says: “Not used currently.”

ABORT → Lisp machine manual says: “By convention when this is read by a program it aborts what it is doing and returns to its "command loop". Lisp listerners, for example, respond to ABORT by throwing back to the read-eval-print loop (top-level or break) and typing a star. Note that ABORT takes effect when it is read, not when it is typed; it will not stop a running program.”

BREAK → Lisp machine manual says: Usually forces the process you are typing at into a break read-eval-print loop, so that you can see what it's doing, or stop it temporarily. The effect occurs when the character is read, not immediately. Type RESUME to continue the interrupted computation (this applies to the three modified forms of the BREAK key as well.)

RESUME → Lisp machine manual says: Continues from the break function and the error handler. in Supdup this sends a backspace character, which is used for the resume-like command by ITS DDT.

CALL → Lisp machine manual says: Immediately stops the process you are typing at, and selects an idle lisp-listener (creating one if there aren't any). This is the key to use to get to “command level” without destroying the computation in the progress. When the window called out-of is selected again, its process will be allowed to run once more.

APL Symbols

space-cadet keyboard 3
Space Cadet Keyboard has APL symbols, but not in standard APL layout.

[see Create TeX/Math/APL Keyboard Layout]

space-cadet keyboard 4

Thumb Up Key

space-cadet keyboard 12
Featuring thumb up/down 👍 👎 👈 👉. In front of the keycaps are:

👍 👎 👈 👉 → Not documented in manual. Not used by default.

space-cadet keyboard 2

Photos of the Space Cadet Keyboard by webwit At Used with permission. You can see more photos about key caps and electronics there.

Unicode Symbols

± ¢ ÷ ×


Lisp Machine Manual

Keyboard Design for the LISP Machine

lisp machine kmouse 1981-10-29 Eugene C Ciccarelli 2019-11-17
lisp machine kmouse 1981-10-29 Eugene C Ciccarelli 2019-11-17

2019-11-17 Thanks to Stephen Kitt, devon, Lars Brinkhoff, 2016-05-13, at []

For lots more photos of the space cadet keyboard, see: Jesse Vincent's photo album flickr

2016-06-17 Thanks to Jon Snader for tip.

Lisp Machine Keyboards

SAIL keyboard b1c80-s306x204
lisp knight keyboard-s339x184
lmi-cadr keyboard 1st gen space cadget 31997-s289x217
Space-Cadet keyboard 2-s392x159
symbolics keyboard pn364000 mrq3w-s349x179
Symbolics PN 364000
Symbolics keyboard PN 365407 130df-s349x179
Symbolics PN 365407
xerox 1109 lisp keyboard 70302-s289x216
Xerox 1109
Racal-Norsk KPS-10 keyboard 1-s303x206
Racal-Norsk KPS-10
Lisp Machine Keyboards
Keyboard Design for the LISP Machine
History of Emacs and vi Keys

APL Keyboards

Hacker Lore Keyboards

Lisp/Selectric Keycaps

SAIL keycaps 2019-11-18 sqq4y-s380x164
SAIL Keycaps
UHK lisp keyboard 9pxsj-s289x217
UHK LISP keyboard
Space Cadet Keycap 2016 yw76d-s381x164
Space Cadet Keycaps
hyper 7 keyboard 9613f s434x144
Hyper 7
modern selectric keycaps 16168-s333x188
Modern Selectric Keycaps

If you have a question, put $5 at patreon and message me.