In 1968, Douglas Engelbart revolutionized computing by showing the mouse, hypertext, and collaborative computing in "The Mother of All Demos". Most of his ideas are now part of everyday computing, but one device—the keyset—failed to catch on. Let's look at Engelbart's demo and the keyset. 1/N
Engelbart's demo was like a PowerPoint presentation over Zoom, projected onto a large screen. He collaborated with co-workers 30 miles away, talking with them, editing shared files, browsing the code online, and clicking links with the mouse (which he invented). Impressive for 1968!
Engelbart's demo was later called "The Mother of All Demos". But first, an Intel demo at Comdex got that name. In 1990, Iraq invaded Kuwait and Saddam Hussein promised "The Mother of All Battles" in the Gulf War. "The mother of all..." became a meme, applied to many things including Intel's demo.
In 1994, Wired writer Steven Levy wrote a book "Insanely Great: The Life and Times of Macintosh, the Computer that Changed Everything". He discussed how Engelbart influenced the Mac, calling the 1968 demo "the mother of all demos". The name stuck, ensuring the fame of Engelbart's demo.

Engelbart's daughter, Christina Engelbart, loaned me a keyset, so I built a USB interface for it and plugged it into my laptop. I had a hard time using the keyset and I'm not surprised it didn't catch on. Supposedly it takes "only" a week to learn, too long for me.

https://www.youtube.com/watch?v=DpshKBKt_os

Using a vintage Engelbart keyset with my Mac

YouTube
Here's the vintage keyset with my USB interface. I used an Arduino-like microcontroller (the Teensy) to make the keyset act like a standard USB keyboard. To get upper case and special characters, you click mouse buttons at the same time. Too much coordination for me!
This reference card explains what keyset presses and mouse buttons generate each character. Memorize this chart and then you too can use the keyset. A much steeper learning curve than the mouse.

Engelbart's software ran on a large Scientific Data Systems (SDS) 940 computer. Microwave links and modems connected the computer to the demo, 30 miles away.

To get into computing, Xerox later bought SDS, spending $8 billion (current dollars) on a disastrous acquisition.

For more on Engelbart, the Mother of All Demos, and my keyset interface, see my blog post:
https://www.righto.com/2025/03/mother-of-all-demos-usb-keyset-interface.html
A USB interface to the "Mother of All Demos" keyset

In the early 1960s, Douglas Engelbart started investigating how computers could augment human intelligence: "If, in your office, you as an ...

Thanks to Christina Engelbart for loaning me the keyset.

Credits: images of the demo are from the recorded demo: https://www.youtube.com/watch?v=UhpTiWyVa6k
SDS 940 diagram from http://www.bitsavers.org/pdf/sds/9xx/940/980126A_940_TheoryOfOperation_Mar67.pdf

1968 "Mother of All Demos" with Doug Engelbart & Team (1/3) [re-mastered]

YouTube
@kenshirriff hah, they cut the good bit for the chorded keyboard!, heh.

@kenshirriff After I broke a collar bone in 2001, I did hurriedly look at options for chorded keyboards. I couldn't see anything.
What I did do was get a moonshot keyboard and implemented layering on a single half such that when I pressed the alt key it would flip to the mirrored key of the other half.

A challenge here is learning and memorising all the key strokes. I had to plan every word in advance out which key sequence and then do it with my eyes closed. I was not very productive.

@kenshirriff

"Father of all streamers"

@kenshirriff ... reminds me of the Cooke and Wheatstone telegraph.
@kenshirriff I’ve finally got my Emacs config just how I like it
@kenshirriff the concept of chorded typing is just so satisfying to me i love my #asetniop implementation so much
@kenshirriff The knee interface you mention in the footnotes is an intriguing breadcrumb I’d like to follow.
Ken, it makes a terrible replacement for a full-size keyboard, but iirc some blind people use a similar kind of chorded input method, albeit on a touchscreen, for typing on their phones, and that is much more sensible.
@kenshirriff And I haven't even mustered the courage to learn Dvorak. Yet. :-)
@kenshirriff Oh it's a chorded keyboard. I was thinking it was used like one of those macro pads all the streamers use and each key was a context sensitive shortcut.
@kenshirriff That's a very simple code for the letters - for those who think in Binary - numerically counting the letters; at least it's easier than 5 bit Baudot.
It did make me think of how far the Microwriter and things cmae from it; the wikipedia page on Chorded keyboards has loads of other weird ones;
https://en.wikipedia.org/wiki/Chorded_keyboard
Chorded keyboard - Wikipedia

@penguin42 @kenshirriff my Achilles heel is not looking things up. I designed one of these once trying to come up with a compact input device to use in a theoretical wearable computer setup inspired by third-hand rumors about the MIT cyborgs.
@c0dec0dec0de @penguin42 @kenshirriff Looking things up can rob you of discovering new ideas of your own. I try hard to resist looking at prior art until I’ve exhausted all my own ideas. It very often happens that I reinvent the wheel, but that’s fine IMO.

@vik has made a free hw/sw version of this called the quirkey. More info here https://mastodon.nzoss.nz/@vik/114165574086770301

@penguin42 @kenshirriff

Incident Creator ❎ (@[email protected])

The #EverythingOpen crew are putting the videos up from the 2024 conference, including mine on the Quirkey keyboard https://youtu.be/Oo6YyzAqJ4I There have only been minor tweaks to the case since then, though there's a few updates to the left-hand docs and typing tutor coming soon.

Mastodon - NZOSS
@bigblen
Most of the work was in the usage/assembly/training docs rather than the code. Mind you, the parametric shell evolution wasn't insignificant ...
@penguin42 @kenshirriff

@kenshirriff

I'll bet that Engelbert could read 5 bit Baudot paper tape by eye.

@kenshirriff Interesting, thanks, I had heard of a keyset but I never knew how it worked. I can see how five chorded keys would be difficult to learn. Seems like it would be more useful as function keys (as you noted) or as modifier keys, rather like buttons on a Wacom tablet or Emacs control/shift/meta/super/hyper modifiers.
@kenshirriff Steve Roberts built something functionally similar into the handlebars of his Winnebiko II, so he could type while riding his bike. https://microship.com/bicycle-mobile-packeteering/
Bicycle-Mobile Packeteering - Nomadic Research Labs

A playful and geeky article about the role of packet radio on the Winnebiko II, pedaling both coasts of the US while conversing via handlebar keyboard.

Nomadic Research Labs

@kenshirriff i’ve looked at the keyset many times at the CHM

i’ve been turning the five buttons on the guitar hero guitar into a real instrument, so i think a lot about how i imagined the keyset would work

i honestly didn’t envision a 1:1 mapping with binary, that’s like qwerty being abcdef

i thought it would have been arranged by frequency of letters to ease of use, for example, vowels being the single key mappings, like:

10000 - a
01000 - e
00100 - i
00010 - o
00001 - u

anyways, thanks for sharing, i appreciate the deep dive

@kenshirriff I took some time to process the https://en.wikipedia.org/wiki/Letter_frequency and map it from more ergonomic to less ergonomic. i'll be publishing an app i'm calling "typing simulator" in the near future that makes "1 week" seem like nothing, once turned into rhythm based video game 🙃

const characterMapping = {
'00000': [' ', '.'],
'10101': ['?', '!'],
'11101': ['@', '#'],
'10111': [':', ';'],
'11111': ['<', '>'],
'10110': [',', '"'],

'10000': ['a', 'A'],
'01000': ['e', 'E'],
'00100': ['i', 'I'],
'00010': ['o', 'O'],
'00001': ['u', 'U'],

'11000': ['t', 'T'],
'01100': ['n', 'N'],
'00110': ['s', 'S'],
'00011': ['h', 'H'],
'10010': ['r', 'R'],
'01010': ['d', 'D'],
'00101': ['l', 'L'],
'10100': ['c', 'C'],
'01001': ['m', 'M'],
'11100': ['w', 'W'],
'01110': ['f', 'F'],
'00111': ['g', 'G'],
'10011': ['y', 'Y'],
'11010': ['p', 'P'],
'01101': ['b', 'B'],

'01011': ['v', 'V'],
'11001': ['k', 'K'],
'11110': ['j', 'J'],
'01111': ['x', 'X'],
'10001': ['q', 'Q'],
'11011': ['z', 'Z']
}

Letter frequency - Wikipedia

@kenshirriff (if curious about "why those symbols", i'm an ardent student of hyper text and have a shorthand format for generating screenplays-- so the typing sim 'lore' will be you're a student in a film class writing scripts.)

@kenshirriff i put the "typing simulator" up on the homepage since it ties together so much of my work into one demo. when entering keys, it triggers the synth-- i need to map all the chords to progressions now, but all the basic ones are mapped.

you don't need a guitar hero guitar to play it, but it does work better on a gamepad. would be really interesting to connect to a keyset.

up/down will "strum" and enter the chord as a key-- nothing held is going to be a period and a space, respectively (up/down)-- j,k,l,h,u are the five buttons, so you can use that to simulate the five chords and w/s are up/down; carry over, but left/right will move up and down midi notes, players start on middle c.

https://sillyz.computer/

Silly'z Computer

@tychi @kenshirriff Having been interested in chording and owning several devices my decades, I only a few years ago came across a new idea: “trumpet chording” (not sure it has a name). With most chording you have to release all keys for every entry. With this you only have to release one. So many possibilities, but regardless, much practice is needed.

@kenshirriff it works completely differently but the idea reminds me of the Michela Machine, a chorded keyboard that has been used since 1880 to transcribe speeches in the Italian Senate

https://www.senatoragazzi.it/media/materiali/eng_michela_impaginazione_1.pdf

https://github.com/openstenoproject/plover/issues/780

@kenshirriff Interesting that he just chorded in binary order, rather than putting more common letters on easier chords.
@kenshirriff kinda weird trumpet fingering chart
@kenshirriff Not all ideas have to be perfect... but you got to love the braided wire!
@kenshirriff That's fascinating, I didn't realize the keyset was intended to be used for typing. I thought it was more like Modifier keys. How are the letters coded? Also as a musician it would probably really throw me off lol!
Ken Shirriff (@[email protected])

Attached: 1 image This reference card explains what keyset presses and mouse buttons generate each character. Memorize this chart and then you too can use the keyset. A much steeper learning curve than the mouse.

OldBytes Space - Mastodon

@kenshirriff

thank you for sharing - interesting. was wondering if there was recording and there is.

https://youtu.be/VScVgXM7lQQ

Part 1 of 10: Engelbart and the Dawn of Interactive Computing: SRI's 1968 Demo (Highlights)

YouTube