DEV Community

Cover image for The History of Sticky Keys
Andrew Hedges for Assistiv Labs

Posted on • Edited on • Originally published at assistivlabs.com

The History of Sticky Keys

The cover image for the post shows a screenshot of Windows 11 with the Sticky Keys modal activated. The modal asks, “Do you want to turn on Sticky Keys?”

For a more accessible version of this post, see the original article on the Assistiv Labs website.

Calculus was invented twice, by both Newton and Leibniz. We remember Morse and his eponymous Code, but four other inventors, independently, created a first telegraph. The Wright brothers are popularly known to have flown the first airplane—but at least four others also claim to have flown first.

And in the 1980s, Sticky Keys, the accessibility feature you’ve perhaps inadvertently enabled by pressing the Shift key five times in a row, the tool that today is baked into every PC on the market today, was invented twice, by researchers in Wisconsin and a writer in Tennessee.

A stack of pennies, an oversized keyboard, and developers who couldn’t stop imagining ways to make the world a bit better managed to do just that, in a few lines of code. Sometimes you have to invent the future twice before it sticks.

A virtual stack of pennies

It was the dawn of the personal computing revolution and almost everything was left to be defined. We hadn’t even settled on a single keyboard layout yet.

And here was a team at the University of Wisconsin, already imagining how these early personal computers could help level the playing field and give everyone the same capabilities, especially those with disabilities.

Lydell tries out his first Autocom prototype, made with military surplus parts The original Autocom device, via the Trace Center

It all started in 1971, when undergraduate engineering student Gregg Vanderheiden was recruited to help find a way to help a friend with cerebral palsy communicate. Six months later, by hacking a device together from military surplus and donated parts, Vanderheiden and team had invented the Autocom, which let disabled students point to letters on a board to type words on a TV screen.

A National Science Foundation grant later, and the Trace Center was born at the University of Wisconsin (more recently moved to the University of Maryland), started by Vanderheiden and fellow classmates to “capitalize on the potential that technologies hold for people experiencing barriers due to disability.” Which, by the time the 1980s rolled around, meant making PCs better for everyone.

Imagine, wrote Gregg Vanderheiden in a 1982 BYTE special edition titled “Computers and the Disabled,” “an abbreviation expansion routine that would allow an individual to abbreviate all commonly used words and greatly reduce the number of keystrokes required to type out messages, programs, etc. The program would automatically expand the abbreviations as the user typed them.” He’d dreamed up and started building features similar to what we’d come to know as TextExpander and autocomplete, two years before the first Mac was released.

But there was another problem that he couldn’t quite solve. “We had a friend who had polio,” Vanderheiden related in a call, “and used a mouthstick for everything. He’d made a stack of pennies onto which he had soldered a copper ring, and whenever he wanted to press a key he would pick it up with his mouthstick and press the key. Capslock worked for letters, but everything else was a challenge.” You could put the pennies on shift, say, then press a letter to capitalize it or a number to enter a special character. But you couldn’t press Ctrl-Alt-Delete, or any other more complicated shortcut.

So in the BYTE article, Vanderheiden imagined a mechanical workaround—“A weight on a hinge that can be tipped to hold down the shift key,” he mused— could, perhaps, help his friend.

That’d work—but imagine placing a weight on Control, another on Alt, and finally pressing Delete with a finger. It’d be tedious at best, error-prone at worst. Charles Lee, a mechanical engineer who’d joined the Trace Center team in 1984, realized a software solution was hiding in plain sight at the beginning of another BYTE article several years later.

What if you combined the ideas for expanding abbreviations and weights to hold down keys, and made a program that’d hold down keys for you, virtually? “At the Trace Center,” recalled Lee over email, “we had been working on various typing acceleration techniques, but to be truly effective, they needed to be able to ‘fool’ programs to think the person was typing on the keyboard.”

After brainstorming with Vanderheiden, deciding how to activate and deactivate the software, Lee set to work coding what he called 1-Finger, for DOS, over what was likely the winter of 1985-1986. “The original program was written in assembly language,” said Lee, and it took over as the keyboard driver to block and insert keyboard actions until you turned it off. “Once it was activated by pressing the shift key five times in a row, the 1-finger program would cause all of the modifier keys (e.g., Shift, Alt, Control) to become ‘sticky,’” explains an upcoming history of the Trace Center.

Thus the name Sticky Keys, as 1-Finger soon was renamed, to match Filter Keys, Repeat Keys, and other accessibility tools the Trace Center developed. It worked like this. You’d turn on Sticky Keys, then press keyboard shortcuts one key at a time. With Sticky Keys enabled you could, for example, press and release shift then press and release 2 to type an @ symbol, one key at a time. You could press control, then alt, then delete. Anyone could type anything, as long as they had Sticky Keys.

The case of the oversized keyboards

Photo from the 1980s of a massive, metal IBM keyboard overlain with annotations pointing to clever features such as an “isolated escape key to help reduce keying errors” An IBM ad for the original Model M keyboard, via Deskthority

While Gregg Vanderheiden was imagining solutions to make computing accessible and Charles Lee was coding them to life, IBM was making life harder for everyone.

Or so it seemed. The QWERTY letter layout was standard, but the other keys on computer keyboards were still not set in stone. Every new keyboard, seemingly, picked a new design for Ctrl, Alt, and other PC-focused keys. “Every place you pick to put them is not a good place for somebody,” said IBM’s president of keyboards, of their original key placement. “Fortunately, people adjust; in fact, if we were to change it now we would be in hot water.”

But clearly, there were improvements to make, changes worth the adjustment.
With IBM’s third PC keyboard, the Model M introduced in 1986, Big Blue settled on what became the standard PC keyboard layout we still use today. Ctrl and Alt came to live side-by-side both on the left and right side of the spacebar (with a gap that’d come to be filled by the Windows key on PCs). The Caps Lock key moved above Shift, and the function keys landed in a row along the top of the keyboard.

And it stuck. With the addition of Windows or Command keys, it’s the layout nearly every Mac and PC keyboard still uses today—only perhaps with smaller keys with less gaps between them.

For there was one glaring issue with IBM’s keyboard: It was huge. “The first thing you notice about the IBM Model M keyboard is its size,” remarked a review. It weighed 5 pounds, and was over a foot and a half (49cm) wide and 8 inches (21cm) tall.

A keyboard that big broke existing keyboard shortcuts. When the average adult’s hand span is just over 7 inches, it wasn’t long before people found they simply couldn’t press keyboard shortcuts on IBM’s oversized keyboard—especially not those like the IBM-invented ctrl-alt-delete that was inaccessible by design, since you didn’t want people restarting their computer by accident.

IBM’s original keyboards let you enter most keyboard shortcuts with only your left hand. Now, many required two hands—or a finger workout. “Maybe our muscle memories for the old function-key arrangement will pass away,” wrote Jeff Prosise, a PC Magazine writer from Tennessee, in 1988, “but so too will the convenience of entering key combinations like Ctrl-F8 and Alt-F1” with a single hand.

If the keyboard design was here to stay, Prosise decided, he’d have to do something about it.

“By day, I was an engineer for Martin Marietta,” related Prosise via email. Writing and coding was “a side job that I did for fun in the evening.”

Screenshot of 25 lines or so of Assembly computer code. The program starts with a check_for_shift call that checks for alt, control, and shift keys. Next it calls ignore_break which ignores the break code and returns with cf = 0. Finally, it calls restore_shift_bytes which resets the BIOS shift bits corresponding to the last key release ignored. Original STAYDOWN code from PC Magazine

With his IBM PS/2 computer and its 101-key keyboard, he’d code small productivity utilities and share them in detailed write-ups for PC Magazine. “We wrote them in assembly language to keep them super small,” said Prosise, then distributed them with both raw code in the magazine and a pre-internet dial-up service to download those tiny apps from the magazine’s servers.

“When IBM introduced their 101-key keyboard,” recalled Prosise, “you could no longer enter certain key combinations with one hand. We decided to do something about that, and physically challenged users were top of mind.”

A bit of coding and writing later, and Prosise’s solution for IBM’s oversized keyboards, STAYDOWN, was published in PC Magazine’s April 1988 edition.

“There’s nothing software can do to relocate the function keys,” wrote Prosise in his PC Magazine article, “but a bit of keyboard trickery can make the situation slightly more livable.” His app would “temporarily lock down any Ctrl, Alt, or Shift key that is pressed until it receives the break code from a second key.”

STAYDOWN stuck around. It was mentioned in a 1991 issue of Communicating Together, a magazine for those with disabilities, as a useful tool for entering keyboard shortcuts on DOS and Windows, and was still being recommended by PC Magazine in 1993.

And, incredibly enough, it’d been invented independently of the Trace Center’s work, seven years before similar functionality would finally be built into Windows.

Diplomacy and dragging tech into the future.

Screenshot of a diagram and description of Easy Access from the Complete Mac Handbook showing 2 original Macintosh icons with a sticky keys symbol besides them and the following description: Easy Access in Use. When Easy Access’s sticky keys feature is active, a small icon appears at the right edge of the menu bar (left). When you press a modifier key (such as Shift or Command), an arrow appears in the icon (right). You can then type a character and Easy Access will combine it with the modifier key you pressed. Easy Access in Macintosh System 6, via the Complete Mac Handbook

While PC Magazine readers were downloading STAYDOWN to hold keys down in DOS, the Trace Center team was hard at work convincing executives to build Sticky Keys and other accessibility-focused utilities into their computers. They shared their original code with Apple, Microsoft, and IBM, and lobbied for in-house developers to extend and build into their products.

Apple was the first to bite. Developer Ed Tecot decided to build Sticky Keys into the Macintosh’s keyboard drivers—covertly, over the weekend, since Sticky Keys “was number seven on the priority list and they were under strict orders to never work on anything that was below their top three priorities,” as the Trace Center’s history relates. But Tecot’s code passed review and shipped. The dates have been lost to time, but the Mac had Sticky Keys by 1987. By Macintosh System 6’s release in April 1988—the same month PC Magazine published STAYDOWN—Sticky Keys was included along with other accessibility tools in the Easy Access bundle.

“To my delight,” wrote the now-defunct accessibility-focused magazine Mainstream in 1990, “Apple had removed a long-standing computing hurdle. The Sticky Keys feature of Easy Access eliminates the need to hold down more than one key at a time.”

One month after its release, Sticky Keys endeared itself to Apple’s management. “I was at work one day at Trace,” recalled Vanderheiden, “when I received a phone call from Chris Espinosa, the VP of software at Apple. He asked me how to turn on the feature where you could operate the computer with one hand.” Turns out, he’d slipped on ice in Paris, injured his elbow, and couldn’t type two-handed keyboard shortcuts. Apple’s early investments in accessibility had quickly paid off.

Screenshot of the Windows 95 Control Panel for Accessibility Properties showing StickyKeys, FilterKeys, and ToggleKeys. StickyKeys is selected Microsoft’s original StickyKeys in Windows 95

Microsoft took a bit longer to come around. At the same time PC Magazine was sharing STAYDOWN for free, Microsoft had bundled an early version of Trace’s Sticky Keys along with printer drivers into the Access Pack for Windows 2 and 3, something you could download from the early pre-web internet or order for free from the software giant—though PC Magazine mentioned it required a $20 shipping and handling fee.

It took another determined employee to push Microsoft to go the whole way. “Greg Lowney, then a one-person accessibility program at Microsoft, lobbied hard along with us to get the access features built into the operating system as standard components,” recalls Vanderheiden. His determination eventually got the software giant focused on accessibility. Accessibility, for Lowney, was a side project at the beginning.

“I started working with Charles Lee at least as early as January 1989,” recalled Greg Lowney over email, who was “Program Manager for the Windows ‘Core’ (most of the basic components and technical aspects)” at the time. “Eventually I had enough influence to start adding accessibility work to my list of official objectives and formally dedicate 10% of my time to it, even before upper management became convinced of its importance,” said Lowney. That originally led to shipping Sticky Keys in first the Access Utility for Windows 3.0, Windows NT, and a supplemental disk for MS-DOS 3.3 and newer—and to Lowney becoming Director of Accessibility after Windows 3.11 shipped.

Right before releasing Windows 95, Microsoft held their first disability summit and launched a corporate policy on accessibility. When Windows 95 was launched, mere weeks later, Sticky Keys came baked into the latest operating system, along with Filter Keys (to ignore repeated keystrokes), Toggle Keys (to make a sound when Caps Lock and Num Lock keys were pressed), and more.

Progress is a slow, halting process. New technology comes out, simplifying some things, complicating others. Someone comes up with a hack, a fix, a workaround to solve the issue. Someone else realizes this idea could solve other problems that have been plaguing a whole community for a while. And gradually it snowballs until a new standard is invented, baked into what future users will assume is just how technology always worked.

Screenshot of Windows 11 with the Sticky Keys modal activated. The modal asks, do you want to turn on Sticky Keys? The infamous Sticky Keys popup in Windows 11, today, that you’ll see if you press Shift 5 times.

Today, Sticky Keys is a standard, baked into PCs and Macs, Chromebooks and iPads alike, codified for the future in ISO standard 9241-171:2008. It’s turned off by default on Macs—as the inventors intended. “You want sticky keys turned off by default because it’s just going to annoy them,” shared Vanderheiden in the call. “It doesn’t help you, it doesn’t help them, it doesn’t help the disability community.” But somehow, the wires got crossed with Windows, and to this day it’s enabled by default, an accidental 5-Shift-press away from discovery.

And at least that means it’s discovered by the people who need it, by those like Espinosa who were in an accident, by those like developer Rachel Andrew who use it to overcome RSI, by those with coordination problems who otherwise would have to rely on Caps Lock, by those whose only way to use a computer is with a plastic stick held in their mouth. It leveled the playing field, set the stage for other accessibility features like screen readers to be built-in, and made technology a bit more accessible for everyone.

On inventing the future.

“Are inventions inevitable?” asked a 1922 paper by William Ogburn and Dorthy Thomas. No, both Betteridge’s law of headlines and their conclusion would reply. Yet simultaneous inventions—the same thing being invented at the same time by different people—occur too often to be simple coincidences.

Orgburn and Thomas found three factors that made it more likely something would be invented: A defined problem or need, a desire to fulfill that need, and “cultural preparedness” or understanding of how to approach the problem in general. When the factors align, it’s only a matter of time before innovators start pulling a solution together.

Soon enough, what was previously a hole in our technological advancement becomes a new baseline, a default, something we expect to exist.

Neither Sticky Keys nor STAYDOWN were invented in a vacuum. Both were motivated by the difficulty of entering keyboard shortcuts, both were inspired by clever technical solutions that made it possible to press shortcuts one at a time. One thing led to another, like Intel co-founder Robert Noyce said of the invention process: “Every day, you would say, ‘Well, if I could do this, then maybe I could do that, and that would let me do this,’ and eventually you had the concept.”

Of course we have calculus, airplanes, and Sticky Keys. Of course Sticky Keys—and other accessibility tools—became default computing features that are relied on by people everywhere. It’d be hard to imagine a world without them.

References and additional resources

Special thanks to Gregg Vanderheiden for early access to an upcoming history of the Trace Center, and to Jeff Prosise and Greg Lowney for taking the time to talk with us about their early work.

Additional reading:

Top comments (0)