Morse code is a perfect method for a quadriplegic, someone with little or no ability to move. A person just needs to be able to activate a switch.

Many people with physical disabilities are not able to use a computer keyboard or mouse. This severely limits their access to the educational, recreational and career opportunities provided by computer technology. Morse code has long been recognized as an effective computer access method for people who are not able to use a keyboard or mouse.

Morse code systems use a binary input method that represents characters and commands as a series of dots and dashes. For example, a dot followed by a dash indicates the letter A, a dash followed by three dots represents B, etc. If a single switch is used, a dash is differentiated from a dot by holding the switch closed for a longer period of time. In two-switch Morse code, one switch enters dots while the other enters dashes. Three-switch input is also available for people who cannot reliably control their movements. Morse code is quite efficient — speeds of 15 to 30 words per minute are common, and speeds in excess of 60 words per minute can be attained.

Morse code has a number of advantages over other alternate computer access strategies. It is usually faster, requires less fine motor control, and is less likely to produce fatigue. Perhaps its most important advantage is its ability to become a sub-cognitive process. After using it for a period of time, the user no longer thinks about the codes they’re entering — the same process used by touch typists. Morse code is the only alternate access method that can become sub-cognitive.

*source: “Draft Development Specification: Morse Code Input System for the Windows 2000 Operating System”, February 17, 1999

I have used sip and puff to enter Morse codes to access computers since 1989 when I became a quadriplegic, paralyzed from the neck down and dependent on a ventilator to breathe. It is an easy-to-use method for someone with limited head movement and difficulty speaking.

I first used ezMorse in DOS on a PC. In 1994 I began using the AdapTek Interface Adap2U Adaptive Input Interface System. With the Adap2U I can enter every keyboard key, move the mouse, and click the mouse buttons. Since the Adap2U is a hardware interface it can be used with any operating system. The computer sees it as a keyboard and mouse.

I also use a Morse code input device called Tandem Master (aka Morse-2-USB controller). Using 2 switches (sip and puff or two head switches, for example) the user can input Morse codes for all keyboard keys, move the mouse (left, right, up, down), and click the mouse buttons. It is automatically recognized as USB HID keyboard and mouse by any modern computer with a USB port — no additional software or setup needed.

You can see how I use sip and puff Morse code in these videos:

Hands-Free Computing video thumbnail
Hands-Free Computing
Paralysis Resource Center
Science 21 Korean TV segment thumbnail
Science 21
Korean TV — Jim Lubin segment

Groups

The device has four groups. The active group determines which code table is used. Group 0 is always checked first, regardless of the active group — its 8-symbol patterns are available at all times.

A is a sip and a is a puff.

Group 0 — Always Available (Emergency Group Switch)

These 8-symbol patterns work in any group and jump directly to the named group.

PatternSymbolsDestination
........8 dotsGroup 1 — Keyboard
--------8 dashesGroup 2 — Mouse / Shortcuts
....----4 dots then 4 dashesGroup 3 — Macros
----....4 dashes then 4 dotsGroup 2 — Mouse / Shortcuts (alternate)

Switching groups with a long sip/puff: holding for 2+ seconds cycles groups. Long sip cycles backward (3→2→1→3…); long puff cycles forward (1→2→3→1…).

Group 1 — Keyboard

The default group after power-on. Provides letters, numbers, punctuation, function keys, navigation keys, and modifier keys.

Two non-standard patterns free up codes for high-frequency control keys:

LetterStandard ITUAeroMorseFreed code used for
M-------- → Backspace
C-.-.---.-.-. → Left Control

Letters

LetterPatternLetterPattern
A.-N-.
B-...O---
C---. (non-std)P.--.
D-..Q--.-
E.R.-.
F..-.S...
G--.T-
H....U..-
I..V...-
J.---W.--
K-.-X-..-
L.-..Y-.--
M---- (non-std)Z--..

Numbers

NumberPatternNumberPattern
1.----6-....
2..---7--...
3...--8---..
4....-9----.
5.....0-----

Punctuation

CharacterPatternCharacterPattern
+ plus-...-! exclamation.-....
- hyphen.---.@ at sign---..-
= equals---.-# hash..---.
* asterisk-..--$ dollar..----
. period.-----% percent...-.-
, comma-.....^ caret-...--
: colon.----.& ampersand.---..
; semicolon-....-? question mark-.----
) close paren...---/ slash....--
( open paren---...\ backslash----..
] close bracket-..---| pipe....-.
[ open bracket.--..._ underscore----.-
} close brace--..-" double quote...--.
{ open brace..--.' apostrophe..-...
< less than--..--` backtick--.---
> greater than..--..~ tilde---.--

Function Keys

KeyPatternKeyPattern
F1--.----F7----...
F2--..---F8-----..
F3--...--F9------.
F4--....-F10-------
F5--.....F11.------
F6---....F12..-----

Navigation & Editing Keys

KeyPattern
Up Arrow.-..-
Down Arrow.--..
Left Arrow.-.-..
Right Arrow.-.-.
Home....... (7 dots)
End...-...
Page Up.....-
Page Down...-..
Enter.-.-
Escape--....
Delete-.--..
Insert-.-..
Backspace--
Space..--
Tab---..-.

Modifier Keys (Sticky)

Modifier keys are sticky: press the pattern once to arm the modifier (shown on display). The next key fires with that modifier held, then it auto-releases. Press again while armed to disarm without firing.

ModifierPattern
Left Control-.-.
Left Shift--...-
Left Alt--.--
Left GUI (Win/Cmd).--.--
Caps Lock-----.
Scroll Lock--.-..
Num Lock---...-
Print Screen--.--.

Group Switch

ActionPattern
Switch to Group 2 (Mouse)...-.

Group 2 — Mouse & Shortcuts

Mouse movements follow the numeric keypad layout: directions map to the same positions as numpad 7–9, 4–6, 1–3. Each cardinal direction has a short pattern (2–3 symbols) and a large-step pattern (5 symbols).

🖱︎ Mouse Movement

🖱︎ DirectionShort patternLarge pattern
↑ Up-----..
↓ Down---..---
← Left......-
→ Right...-....
↖ Up-Left--...
↗ Up-Right----.
↙ Down-Left.----
↘ Down-Right...--
Scroll ↑.....-
Scroll ↓...-..

Mouse speed modes: Normal (×2, default) • Slow (×1, toggle with --..) • Fast (×3, see morse_map.py). Pixels per step = raw direction value × speed × 2.

Mouse Buttons

ActionPattern
Left click.-
Right click.--
Double-click left..-
Double-click right..--
Toggle left-button drag-.

Repeat

ActionPattern
Toggle repeat.
Toggle repeat (alternate)..-..

Repeat re-fires the last action continuously until toggled off. After a mouse move, the cursor glides smoothly. After a key or text, that action fires every 40 ms. Any new sip or puff while repeating immediately stops it.

Other Controls

ActionPatternEffect
Mouse slow toggle--..Toggle slow-step mouse speed
Mouse reset-.-..-.Release drag, stop repeat, restore normal speed

Windows Shortcuts

PatternShortcutAction
.....Alt + TabSwitch windows
-----Win + TabTask View
--....Ctrl + Alt + Left ArrowRelease mouse capture from VM

Modifier Keys (Right-side, Sticky)

Same patterns as Group 1 left-hand equivalents, but send right-hand modifier keycodes.

ModifierPattern
Right Control-.-.
Right Shift--...-
Right Alt--.--
Right GUI.--.--

Group Switch

ActionPattern
Switch to Group 1 (Keyboard)...-.

Group 3 — Macros

Macro patterns mirror the Group 1 alphabet so the same muscle memory that types a letter also fires a macro phrase. Edit the entries in morse_map.py to set your own phrases. Some example entries are pre-filled:

PatternLetter equivalentDefault macro
.-Aname
-...Baddress
---.Cphone
.Eemail
all other letter patternsD, F–Zempty — fill in

Numbers 0–9 and Enter / Backspace work the same as in Group 1.

  • TandemMaster — Morse-2-USB (M2U) hardware interface

    The TandemMaster Morse-2-USB (M2U), designed and used by Tania Finlayson (Kirkland, WA), is a compact hardware device (3¼″ × 2¼″ × ¾″, 1.7 oz) that converts Morse code input into standard USB keyboard and mouse output. It connects via a single mini-USB cable — no external power or driver installation required — and appears to the host as a standard USB HID keyboard, mouse, and removable storage drive. Compatible with Windows XP or newer, Mac OS, and Android (via OTG cable).

    Two adaptive switches connect via a 1/8″ (3.5 mm) stereo jack: one for dit, one for dah. An optional 1/8″ speaker jack provides audio feedback with software-controlled volume. Five menus organize Morse functions: Menu 0 (always-available base commands such as speed and volume), Menu 1 (keyboard, default), Menu 2 (mouse movement and clicks), and Menus 3–4 (user-definable). Built-in word prediction draws from a vocabulary of up to 1,820 words (800 built-in plus up to 1,020 user-added), and pre-defined macros for common phrases are stored in ROM. All code patterns, timing, tones, macros, and vocabulary are fully customizable via an editable MCONFIG.INI text file stored on the device’s onboard SD memory chip.

    Setting up the TandemMaster Morse Code Device Part 1 video thumbnail
    Setting up the TandemMaster Morse Code Device — Part 1
    Ken Finlayson IAM
    Setting up the TandemMaster Morse Code Device Part 2 video thumbnail
    Setting up the TandemMaster Morse Code Device — Part 2
    Ken Finlayson IAM
  • ATMakers — AirTalker — open-source sip/puff Morse interface (CircuitPython)

    The AirTalker, an open-source project by ATMakers, is a sip/puff Morse code to keyboard/mouse interface inspired by the discontinued Adap2U. It runs on CircuitPython on a supported microcontroller (such as an Adafruit ItsyBitsy M4). A pressure sensor detects sip and puff inputs, translates Morse code patterns into USB HID keyboard and mouse output, and appears as a standard USB device — no drivers required. All hardware designs, firmware, and a 3D-printable enclosure are freely available.

    ATMakers Sip and Puff Enclosure Design video thumbnail
    ATMakers Sip and Puff Enclosure Design
    ATMakers
    AirTalker Show and Tell video thumbnail
    AirTalker — Show & Tell 2/27/2019
    Adafruit
    Custom AT Solutions PATINS 2022 Tech Expo video thumbnail
    Custom AT Solutions
    PATINS 2022 Tech Expo
  • AeroMorse — open-source sip/puff Morse code keyboard and mouse (inspired by AirTalker)

    AeroMorse is an open-source CircuitPython project directed by Jim Lubin — a ventilator-dependent quadriplegic who has used Morse code for computer access since 1989. Inspired by AirTalker, it turns an Adafruit Feather microcontroller into a USB HID keyboard and mouse that connects via USB-C and appears to the host as a standard keyboard and mouse with no drivers required. Works on Windows, macOS, Linux, iPadOS, Android, and ChromeOS.

    Jim is the user, project lead, and source of all design decisions: hardware choices, input-mode requirements, Morse code-set conventions, accessibility trade-offs, and ongoing user feedback (his own and from other AAC users — Darci USB veterans in particular). The firmware (code.py), the build guide, and the comparison documents were written by Claude Opus 4.7 (Anthropic) acting as the coding assistant — a “vibe coding” workflow in which Jim directs and Claude writes. Jim does not write the firmware himself, and has not personally soldered or assembled every hardware combination listed here. Several options — particularly some board / display / speaker combinations — are documented from datasheets and Claude’s understanding of the parts rather than from a verified build.

  • AceCentre — morAce — open-source Bluetooth Morse code input

    morAce, by AceCentre (UK), is open-source firmware for Bluetooth-enabled microcontrollers that converts switch presses into Morse code and sends the resulting keystrokes and mouse movements wirelessly to any BLE (Bluetooth Low Energy) compatible device — phones, tablets, or computers. No USB cable or drivers required on the receiving device.

  • Gboard — Google Keyboard Morse code (Android & iOS)

    Google’s Gboard keyboard includes a built-in Morse code input method for Android and iOS. On Android it is accessible through Accessibility settings; on iOS it is available in the Gboard app. Users enter dots and dashes via two on-screen buttons or hardware switches (via Switch Access on Android), and the keyboard translates the patterns to text. A Circuit Playground Express can also serve as a hardware Morse switch interface for Gboard.

Discontinued

These devices may still be available or in use:

  • AdapTek Interface Adap2U Keyboard and Mouse Emulator System

    The Adap2U, by AdapTek Interface (Kirkland, WA), is a hardware keyboard and mouse emulator for IBM PC/AT compatible computers. It plugs into the keyboard port and is completely transparent to the computer — no special software or TSRs required; any standard software works as-is. An optional serial port connection adds mouse emulation.

    Input is through up to three switch jacks plus a variety of pointing devices (serial mouse, head pointer, joystick, touch screen, trackball). Input methods include user-defined Morse code (up to 3 switches), on-screen scanning (1–3 switches), and serial input devices. The unit has its own dedicated Hercules-compatible monochrome monitor that displays fully customizable “Menus” of keys without interfering with the main screen. Key layouts, timing, and all switch functions are configured using the included AUEdit software and can be changed at any time.

    1995 product brochure PDF

  • Darci Too Keyboard and Mouse Emulator

    The Darci Too, by WesTest Engineering Corporation, is a hardware interface that connects via serial port (RS-232) and allows full keyboard and mouse access using adaptive switches. It uses a Morse-based code system and supports single or dual switch input, including sip/puff, chin, and other switch types. As a hardware device it works transparently with all software.

  • Darci USB Keyboard and Mouse Emulator

    The Darci USB, by WesTest Engineering Corporation, is a hardware interface that connects via USB port and provides full keyboard and mouse access using adaptive switches. Up to three switches can be connected via 3.5 mm (1/8″) jacks, supporting sip/puff, chin, tongue, eye blink, and other switch types. Input uses the Morse/Plus code system, a modified Morse code that covers all keyboard keys and mouse commands. A setup program configures switch timing, repeat behavior, audio feedback, and custom code sets (CodeMaker). Compatible with Windows 98, ME, 2000, and XP.

  • Compusult Jouse — joystick-based sip/puff mouse with Morse code capability (three generations)

    The Jouse family, by Compusult Limited (Mount Pearl, Newfoundland, Canada), is a series of mouth-operated joystick devices that act as a computer mouse for people with disabilities. A mouthpiece and sip/puff tube are mounted on an adjustable swing-away arm clamped to the desk. Tilting the mouthpiece moves the cursor; a puff is a left click, a sip is a right click, and a double puff is a double click.

    Jouse (2002) — The original model connects via a serial port and includes a separate battery-powered control unit. A bite bubble on the mouthpiece toggles between Mouse mode and Morse mode; in Morse mode, sip and puff enter dots and dashes through third-party Morse software. Cursor speed is adjusted with a knob on the control unit.

    Jouse2 (2008) — Upgraded to USB, eliminating the need for external power, drivers, or serial port. Built-in Morse code text entry added (supporting Morse 2000, Darci USB, EZKeys, EZ Morse, and JoyWrite code sets), with two-tone audio feedback and a volume control. Added a dwell cursor option (0.25–3 seconds, 8 stages), adjustable sip/puff sensitivity, sip/puff repeat (one long sip/puff = multiple inputs), and two 1/8″ switch jacks for alternative input. Self-calibrating center position at start-up. Compatible with Windows, macOS, and Linux.

    Jouse3 (2017) — Expanded beyond computers to support tablets and other USB devices, including iOS (Switch Control mode), Android, Linux, Unix, macOS, and Windows. Added external switch control connectors for operating external switch-enabled devices. Optional wheelchair mounting via Super Clamp. Variable-friction arm and updated desk mount replaced the earlier clamp. Dwell cursor simplified to four stages (1–2.5 seconds). Built-in Morse code text entry was removed in this generation.

    Jouse3 brochure (2014) PDF

  • ezMorse for Windows 95/98

    Morse code is one of the most efficient alternative computer access methods. EzMorse is based on a modified military Morse code system where dots and dashes are combined to form codes representing all the characters on the keyboard. EzMorse is most effectively used with a dual switch where one switch enters a dot and the other, a dash. No previous knowledge of Morse code is necessary to start using ezMorse: the user learns as they go. It takes the average user about four hours to memorize the codes for the alphabet. Typing speeds of up to 35 words per minute are not uncommon for Morse code users.

Other Projects

Morse Code Sites

Papers & Articles

Tip: Cheap puff tubes!

I use disposable “puff tubes” for my sip and puff wheelchair and adaptive keyboard/mouse system. After some research I found that what accessablity sites call “puff tubes” are what dentists call Saliva ejectors.

Saliva ejectors / puff tubes

Papers available online — all focused on Morse code as a computer access method for people with disabilities.

Donald Shein et al. — CSUN Conference on Technology and Persons with Disabilities, 1998
Center On Disabilities — CSUN Conference on Technology and Persons with Disabilities, 2003
Center On Disabilities — CSUN Conference on Technology and Persons with Disabilities, 2004
University of Wisconsin – Eau Claire — Program promoting research in and use of Morse code in rehabilitation and education
Yang, Cheng-Hong, Ching-Hsing Luo, Yuan-Long Jeang, and Gwo-Jia Jon — Mathematics and Computers in Simulation 54 (November 2000): 23–32
Yang, Cheng-Hong, Li-Yeh Chuang, Cheng-Huei Yang, and Ching-Hsing Luo — IEEE Transactions on Neural Systems and Rehabilitation Engineering 11, no. 4 (December 2003): 463–469
Yang, C. H., L. Y. Chuang, C. H. Yang, and C. H. Luo — International Journal of Computers and Applications 26 (2004)
Anson, Denis, Linda Frame, Jenny Hopkins, Lisa Kulmane, and Pat Streff — RESNA Annual Conference Proceedings, 2010
International Journal of Advances in Engineering and Management (IJAEM)
Document: http://makoa.org/jlubin/morsecode.htm
Last Modified: Friday, 05-Jun-2026 07:59:42 PDT