The Space Cadet is a keyboard designed for use with Symbolics' Lisp Machines, and many of the extra keys are specific to that use.
Starting from the bottom row:
- Hyper, Super, Meta and Ctrl are modifier keys, known as bucky keys; they are equivalent in use to the Ctrl, Alt and Alt Gr on modern keyboards (and to the Windows, context menu, Apple and Option keys). They allow shortcuts to be built using the main keys. You can see their heritage in Emacs, with its many shortcuts involving Ctrl and Meta (Alt or Esc on modern keyboards). Many Linux systems use the Windows key as Super.
- Top, Greek (or Front) and Shift allow the various symbols on the keycaps to be produced. Thus M on its own produces "m", ShiftM produces "M", TopM produces "≥", GreekM produces "µ" (as indicated on the front of the keycaps). Repeat allows keys to be repeated — they didn't repeat by default.
- Mode Lock isn’t used. Alt Mode was used on ITS and was considered obsolete even when the Space Cadet was designed; it is similar to Esc on current systems, and echoed “◊” on SAIL terminals or “$” on ASCII terminals. Rub Out is the ancestor of our Backspace (erase left). Help was supposed to be handled by applications for on-line help (but rarely was).
- I, II, III and IV were used for quick selection in menus.
- Network, Terminal and System send escapes to specify which part of the system (as a whole) the user wanted to interact with.
- Status was supposed to ask the system to provide status information for the currently process.
- The thumb and finger keys weren’t used much if at all; the thumb up and down keys may have been used to answer yes/no questions, but that’s not clear at all. The
KMOUSE
program allowed all four keys to be used to move the mouse pointer.
- Macro was intended to provide a keyboard-based macro system, but it saw little use in practice.
- Quote allows escaping other keys, so they can be sent rather than interpreted — a bit like the Esc key on Atari 8-bit keyboards, or CtrlV in current shells.
- Over Strike moves the cursor left without erasing, allowing characters to be superimposed. Line moved the cursor down a line (line feed).
- The two Clear keys clear the current input field and the whole screen respectively.
- Hold Output and Stop Output provide output flow control (similar to CtrlQ and CtrlS).
- Abort, Break, Resume and Call provide process and function control; for example Call suspends the current process on ITS, in a similar fashion to CtrlZ in job-capable shells.
With the Greek key, these keyboards allow all of the APL character set to be entered easily. The modifier keys can be combined: GreekL produces "λ" as you'd expect, and ShiftGreekL produces "Λ". Likewise the bucky keys can be combined, so CtrlAltA is meaningful — this is still the case on modern keyboards, the obvious example being CtrlAltDelete. The Greek-style behaviour lives on too; on my Linux systems with a French keyboard layout, Alt GrL produces "ŀ", and ShiftAlt GrL produces "Ŀ". On the Space Cadet, the modifier keys were specifically laid out so they could be chorded single-handedly using either hand: you could press Ctrl and Alt with your left hand, and L with your right, or vice-versa e.g. for Q.
Holding down both Ctrl keys and both Meta keys allowed the system to be rebooted: with those four keys depressed, pressing Return would warm-boot the system, and Rubout would cold-boot it.
You'll find more information on Mike McMahon's page on the Space Cadet and in John Kulp's design notes for the keyboard, and in the Lisp Machine’s operating manual (page 36). Thanks to Mark and mnem for further information provided in the comments, to Lars Brinkhoff for finding KMOUSE
, to vxid for finding the operating manual, and to devon for correcting a number of misattributed keys!