Emacs Keyboard History

By Xah Lee. Date: . Last updated: .

2022-06-02 xtodo work in progress.

emacs PDP6 teco 2020-06-01 nbspj
2020-06-01 what keyboard did emacs use in 1970s when emacs was TECO? Answer by Lars Brinkhoff

The Damnation of the Emacs Meta Key

Am trying to dig the history of emacs, what keyboard was emacs used on since its creation.

The genera question is

some itemized questions, todo

  1. emacs originated as editor macro for the TECO editor, used at MIT AI Lab.
  2. MIT AI Lab use PDP 6 and PDP 10 machines. These are mainframe computers. So, what keyboard are connected to them?
  3. seems, the Knight Keyboard, created by Tom Knight, is used.
  4. PDP machine runs ITS operating system. It is written by Tom Knight. He also designed the first semiconductor memory-based bitmap displays.
  5. seems the earlist keyboard that has Meta is the SAIL Keyboard

So, SAIL Keyboard is first to have Meta key (then Knight Keyboard and Lisp Machine Keyboards copied it). Then, Apple copied it to become Cmd and Option. Somewhere somebody created Alt (IBM?). Microsoft later made a Windows key.

and of course, Shift came from typewriter, Control must be no brainer, from ASCII or terminal of need for non printables characters. History of Alt key is still a mystery for me.

Stanford AI Lab (SAIL) keyboard is for the Stanford AI lab Datadisc and III displays connected to the PDP-10 computer running WAITS.

On July 1, 1963, Project MAC (the Project on Mathematics and Computation, later backronymed to Multiple Access Computer, Machine Aided Cognitions, or Man and Computer) was launched with a $2 million grant from the Defense Advanced Research Projects Agency (DARPA). Project MAC's original director was Robert Fano of MIT's Research Laboratory of Electronics (RLE). Fano decided to call MAC a "project" rather than a "laboratory" for reasons of internal MIT politics — if MAC had been called a laboratory, then it would have been more difficult to raid other MIT departments for research staff. The program manager responsible for the DARPA grant was J. C. R. Licklider, who had previously been at MIT conducting research in RLE, and would later succeed Fano as director of Project MAC.

TECO was originally developed at MIT in around 1963 by Daniel L. Murphy for use on two PDP-1 computers.

1967 Tom Knight wrote the original kernel for the ITS operating system, as well as the combination of command processor and debugger that was used as its top-level user interface. ITS was the dominant operating system for first Project MAC and later the MIT Artificial Intelligence Laboratory and MIT Laboratory for Computer Science. ITS ran on PDP-6 and, later, PDP-10 computers.

TECO , Text Editor and COrrector[2][3][4] is both a character-oriented text editor and a programming language,[5][6] that was developed in 1962 for use on Digital Equipment Corporation computers, and has since become available on PCs and Unix. Dan Murphy developed TECO while a student at the Massachusetts Institute of Technology (MIT).[5]

According to Murphy, the initial acronym was “Tape Editor and Corrector” because “punched paper tape was the only medium for the storage of program source on our PDP-1. There was no hard disk, floppy disk, magnetic tape (magtape), or network.”[5] By the time TECO was made available for general use, the name had become “Text Editor and Corrector,”[4] since even the PDP-1 version by then supported other media.[5] It was subsequently modified by many other people[7] and is a direct ancestor of Emacs, which was originally implemented in TECO macros.

2018-09-22 TECO (text editor)

Marcin Cieślak @saper@word.builders

@simon_brooke @xahlee Regarding TECO itself (whether it was inspiration for the Meta key or not) I have found a webpage of a Linux port of TECO my Tom Almy ( http://almy.us/teco.html ) which links to the home page of the original TECO author (Dan Murphy) http://www.opost.com/dlm/ who says it was created on PDP-1 which used http://www.computer-history.info/Page4.dir/pages/PDP.1.dir/ cards

As the Octopus idea became more specific, the PDP-1 was used to study what kind of keyboard would be best for use with the terminals to be installed in the users' offices. The two keyboards most heavily studied were the IBM Selectric I/O typewriter and the Teletype ASR 33. Based on initial costs and the expected costs for maintenance, the ASR 33 was chosen.

And here is the story “The Beginnings of TECO”


In other words, the idea was to hand-mark changes on your source listing and enter the TECO com- mands necessary to make those changes on the Flexowriter (i.e. find a spot, delete, in- sert, move on). Then, when our computer time came, we would load TECO and read in our commands tape, so TECO could read our old source tape and quickly punch a new one.

The last one explains a lot, even if it does not mention a “Meta” key.

posted to reddit.

hi guys, am trying to get an overview of keyboards used by emacs people during 70s and 80s. If you been there, could you list the keyboards/terminal you used, and year period, before 1990, as much as you can remember?

if you been there, help me out. thanks.

What Keyboards Are Used for Emacs in 1970 and 1980s?

been thinking, what keyboard were emacs users used during 70s and 80s? example: which of the Lisp Machine Keyboards

wanted to be specific, a research job. example: in what period, was Space Cadet Keyboard used, by what % of emacs user?

also, in 70s, was it just knight keyboard? what years? and what keyboard(s) was ITS machines/Teco using? so, perhaps i should ask the few i know who used emacs for 30+ years. Or, maybe we can do a hangout for this?

so, i should ask each emacs 30+ years users i know of, ask them to list the keyboard they used, year period, as much as they can recall.

i've always felt, that the Space Cadet Keyboard

is famous TODAY because its exotic, but may actually not known to many emacs people back then.

having studied a bit about lisp machines last week, i think now that, during 1975 to 1980, most emacs users or dev are using either the knight keyboard or whatever ITS keyboard is. During 1980 to 1985, i think it's one of the lisp machine keyboard, including space cadget, or, whatever most terminal or is popular. After 1985, i think there's more diversity. unix would have become very popular by then. might be HP-UX, AIX, Sun Microsystems, SGI, etc, whatever keyboards that comes with their hardware.

i know the story first hand for after 1990s. In 1990s, vast majority of emacs users would be on generic PC keyboards. IBM's personal computers, example: PS/2. A small percentage, like 10% to 20%, is on Apple's keyboards. And in 2000s, again, it's almost all PC keyboards, including lots from Microsoft and Dell, etc.

[ https://unix.stackexchange.com/questions/179671/why-is-the-shortcut-ctrl-a-jumping-to-the-start-of-a-line-in-the-terminal/180113#180113 ]

Stallman and Steel's original EMACS was inspired by Fred Wright's [E editor] [ https://en.wikipedia.org/wiki/E_%28text_editor%29 ] (an early WYSIWYG editor) and TECO (a cryptic modal editor/language) — EMACS was a set of macros for TECO. See Essential E [PDF] (from SAIL , 1980). E however used Control-Form for "beginning of line", this was on the "DataDisc" keyboard which had a Control key, and a Form key. The space-cadet keyboard of the time (lacking a Home key by the way, though it had an End ) is commonly blamed for the Emacs keyboard interface.

One of the desirable features of EMACS was its use of TECO's Control-R "real-time" line editing mode (TECO predates CRT/keyboard terminals), you can see the key bindings on page 6 of the MIT AI Lab 1978 ITS Introduction to the EMACS editor [scanned PDF], where ┌ is used to denote Control. In this mode, the key bindings were all control sequences, largely mnemonic: Control-E End of this line , Control-P move to previous line , Control-N move to next line , Control-B backward one character , and not least Control-A move to beginning of this line , Costas' suggestion of "first letter of the alphabet" for this is as good as any.

(A similar key-binding is in the tvlib macro package which aimed to make EMACS behave like the TVEDIT editor, binding control A and E to backward and forward sentence , but used different sequences for beginning and end of line.)

The Control-A/Control-E bindings in "^R mode" were implemented directly in the ITS TECO (1983, version 1208, see the _teco_.tgz archive at the nocrew PDP10/ITS site, or on [ https://github.com/PDP-10 ] ), though I cannot determine more accurately when they first appeared, and the TECO source doesn't indicate why any particular bindings were chosen. The 1978 MIT EMACS document above implies that in 1978 EMACS did not use TECO native Control-A/Control-E, it's possible that the scrlin macro package (screen line) implemented these.

To recap:

2018-07-18 from George Jones

  1. 1970s: ADM-3A
  2. ≺ 1985: VT52, VT100, and their clones
  3. ≺ 1990: pcs, amiga, sun, others.

For what people were using in 80s/early 90s you might try researching the terminal room at USENIX events. Look for pictures, sponsors, maybe try to contact the cooridnators and volunteers listed in pubs. My one near-encounter with RMS was him hacking a USENIX terminal room.

For perspecive, I think most emacs users ≺ 1995/2000 just used the keyboards they had. The whole ergonimic keyboard really didn't happen before that. RSI was not really a known thing. There were the odd cases like the LISP machines where uber-geeks designed their own systems and keyboards, but those were the exception. Most people used whatever terminals and keyboards where available in labs, at work, etc. Even with the PCs/keyboards available ≺ 1985, there was not near the selection we have today. FWIW.

Xah Lee: so the lisp machines are really rare, right?

Yes. I happened to be around a computer science department that had few (Ohio State AI lab) but I never used them myself.

2018-07-19, Tim Chambers

Thanks for asking, Xah.

early 2000s–present Microsoft Natural keyboard; also keyboards on various notebooks, notably:

2018-07-19 from Simon Brooke https://mstdn.io/web/accounts/98885

Oh, shoot, I don't think I could really name the keyboards. My personal favourite keyboards are compact Cherrys - G84-4100 and similar - because they're long lived, have good touch, and don't clutter the desk.

I've certainly used real VT100s and various VT100 clones (which were mostly better). I also used early IBM PC and RS6000 terminals, but I wasn't very keen on their keyboards (I know other folk rave over them).

The keyboards on Sun II workstations were OK. The original 128k Macintosh and 512k ‘Fat Mac’ keyboards were a bit weird - clunkily deep - but nice and compact.

BBC Micro keyboards were also remarkably nice, given they were relatively inexpensive machines. Indeed, all Acorn keyboards I can remember were good except the Electron, which was distinctly cheap.

@xahlee Other ‘home computers' of the period mostly had pretty dreadful keyboards - chicklets, or membrane, or rubber buttons overlaying a membrane, or (in the case of the Sinclair QL) actual plastic keytops sat on a membrane.

The Xerox 1108 keyboard was an ENORMOUS thing - worked well, nice touch, but HUGE. The 1186 keyboard was svelte in comparison - similar to PC keyboards of the period (1986)

@xahlee Come to think of it, the best VT100 clones I used were Wyse terminals - Probably WYSE 55. I really liked the amber screen ones which were very easy on the eyes, but green on black is a lot better than black on white.

2018-07-21 from fizzlehucker

I started using emacs in 1984. It was on terminal connected via 1200-baud connection to my university's Prime Minicomputer. If you were lucky you might be able to get one of the (few) 9600-baud terminals which were sprinkled around campus. Even at 1200-baud I was always impressed how gracefully emacs handled slower speed connections.

The keyboards on terminals back then were *very* different than keyboards today. For example, some only had uppercase characters, the control key was all over the place and there were often no meta/alt keys. I think I used ESC for my meta key for almost decade. Some keyboards even lacked “basic” keys like # ^ [ ] { }. Look at the wikipedia article on C/C++ digraphs and trigraphs to see what I mean.

Terminals (or keyboards) that I have used in the 80's (in no particular order):

  1. Digital Equipment Corp: vt50, vt100, vt220
  2. Techtronix: 4010
  3. Prime Computer: pt45, pst100, pst220
  4. ADDS Regent: 40
  5. Wyse: Wy50, Wy85
  6. Perkin-Elmer: Fox-1100
  7. Commodore: c64 (via 300 baud modem to PrimOS on school's mainframe), Amiga
  8. Apple: IIe, IIc (via 300 baud modem to PrimOS on school's mainframe)
  9. Apollo: DN300
  10. Sun: 3/50, 3/60, i386
  11. Probably more but, you know, it was the 80s!

2018-07-21 from 7890yuiop

Well FWIW in the 80s I was typing on these:

If I ever used one of them with Emacs it wasn't until the 90s, but I suspect I may have done so via a terminal emulator on the Master, connecting to Emacs on an Alpha or SunOS machine, prior to switching to an IBM PC clone.

2018-07-21 from StrangeAstronomer

From 1981 I worked for HP on Unix:

  1. hp2645
  2. hp2647
  3. hp2621


I don't recall any particular problems, but perhaps I was using the Esc key rather than Meta.

I used emacs to write some utilities that used the function keys and on-screen function key labels - eg a simple editor.

The Original IBM PC 5150 - the story of the world's most influential computer

The Original IBM PC 5150 - the story of the world's most influential computer
hackernews emacs meta 2019-11-21 z6jd2
hackernews emacs meta 2019-11-21 ngm44