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”. https://raw.githubusercontent.com/mietek/mit-cadr-system-software/master/src/lmdoc/kbdpro.3

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. https://ml.cddddr.org/bug-lispm/msg00859.html

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

[ 2019-02-28 email from Lars Brinkhoff. • http://lars.nocrew.org/https://github.com/larsbrinkhoff]

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 https://deskthority.net/keyboards-f2/cadr-lisp-machine-keyboard-the-space-cadet-keyboard-t19373.html ]
lmi lambda lisp machine 37vp6
LMI Lambda lisp machine [image source https://deskthority.net/keyboards-f2/cadr-lisp-machine-keyboard-the-space-cadet-keyboard-t19373.html ]

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 TERMINAL QUOTE OVER STRIKE CLEAR INPUT CLEAR SCREEN HOLD OUTPUT STOP OUTPUT ABORT BREAK RESUME CALL

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 How to Create APL or Math Symbols 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 http://deskthority.net/viewtopic.php?p=23509. Used with permission. You can see more photos about key caps and electronics there.

Unicode Symbols

± ¢ ÷ ×

References

Lisp Machine Manual
Symbolics_Lisp_Machine_Manual_yn9dk.pdf

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 [https://retrocomputing.stackexchange.com/questions/495/what-do-the-keys-on-this-symbolics-space-cadet-keyboard-do/496#496]

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

2016-06-17 Thanks to Jon Snader http://irreal.org/ for tip.

Lisp Machine keyboards

  1. Lisp Machine Keyboards
  2. SAIL
  3. Knight
  4. Lisp Machine LMI-CADR
  5. Space Cadet
  6. Keyboard Design for the LISP Machine
  7. Symbolics PN 364000
  8. Symbolics PN 365407
  9. Xerox 1109
  10. Racal-Norsk KPS-10
  11. History of Emacs and vi Keys

APL Keyboards

  1. How to Create APL or Math Symbols Keyboard Layout
  2. MCM Model 70 Microcomputer (1972)
  3. IBM 5100 (year 1975)
  4. Space Cadet Keyboard

Hacker Lore Keyboards

  1. IBM Selectric
  2. History of Emacs and vi Keys
  3. Apple Keyboard History ⌨
  4. Space Cadet Keyboard
  5. ADM-3A Terminal
  6. DEC VT100 Terminal
  7. IBM Model M keyboard
  8. Sun Microsystems Type 6 Keyboard
  9. Control Key and Capslock Key Positions in Old Keyboards
  10. The Idiocy of Happy Hacking Keyboard

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.