The smartest keyboard you’ll never touch.

Keystrokes saved
101,533
Effort saved
54%

From the opt-in usage counters, republished daily as of September 8, 2026. The series is public.

Built by a wheelchair user with muscular dystrophy, because the keyboards that ship with Windows and Linux were not good enough to get through a working day.

The Alpha-OSK window: a function row, a full QWERTY block, a navigation cluster and a numpad, with a row of word-prediction pills above the keys.
0 bytes of your typing sent anywhere
9 themes, including high contrast
3 layouts: QWERTY, Dvorak, Colemak
2,250+ automated tests on every commit
How it works

It types into whatever you were just using

The window floats above your others and never takes focus, so every click lands in the app you clicked last: a browser, an editor, a terminal, a game, a remote desktop. Each key reaches the operating system exactly as a physical keypress would. No setup, no account, no training period.

Try it: type hwllo, hitting W instead of the E you meant

hello is still the first suggestion. The engine merges a word-frequency model of your own vocabulary with a spatial model of the keys around the one you actually hit, which is what makes it usable when your pointer is not precise.

The layout forgives the same misses that the engine does. Every key owns half the gap around it, so a click landing between two keycaps types the one you aimed at instead of nothing, and nothing anywhere on the keyboard needs a drag, a hold or a double-click.

This demo runs a real prediction pass on every keypress, so it needs JavaScript. The screenshots below show the same keyboard, and the download is unaffected.

Click the keys, or type here

This panel runs the same approach the application does, in your browser: nothing you type here is sent anywhere. It is Python, MIT licensed, and the prediction engine is documented rather than hidden.

Right-click

Your mouse has two buttons. Most on-screen keyboards use one.

Every other on-screen keyboard treats your pointer as a single blunt finger. This one puts a second full set of actions on the right button.

A letter gives you its shifted twin

The exclamation mark on the 1 key, a capital A on the a key, without disturbing the Shift you already had waiting.

A modifier stays down

A plain click makes Ctrl sticky for one keystroke; a right-click locks it held, so Ctrl+C then Ctrl+V is four clicks with no chord and no re-tapping.

A prediction corrects the model

Show more of a word, less of it, fix its spelling, or remove it for good. It stops guessing wrong the moment you say so.

A function key becomes yours

Any of the twenty-four can fire a shortcut chord, type a phrase, or take a name that means something to you. F13 through F24 included, which almost no keyboard on your desk can send.

The second button is a shortcut, never the only door. If you drive the cursor by dwell-clicking, with an eye tracker or through a switch, a right-click may not be a gesture you have, so every one of these actions is also reachable on a plain left-click.

Features

Everything a working day needs

The keyboard its author uses to write every line of it. Every screenshot is the real application against a demo vocabulary, never anybody’s actual typing.

The keyboard in the Amethyst theme: purple keys with a lighter purple accent on the active modifier.
Nine themes, six colour schemes Colour by key function, derived from whichever theme you are on and held to a 4.5:1 contrast floor, so a key is something you can find rather than read.
Compact View: a dense thirteen by four grid with a function row and a separate number row above it, and a navigation column on the right.
Compact View A denser grid for small screens, with the editing keys accent-tinted because a uniform grid gives no size cue to find them by.
The Your Language Model window showing a word cloud, with each learned word drawn as a circle sized by how often it has been typed.
A model you can see Your vocabulary as a bubble chart, sized by frequency. Click any bubble for what usually comes before and after that word.
The analytics dashboard showing tiles for keystrokes saved, time saved, effort saved and suggestion acceptance rate.
What it has saved you Lifetime keystrokes and hours saved, and how often the suggestions were worth taking.
The Snippets window: six colour-tagged tiles in two columns, labelled Name, Email, Phone, Address, Work email and Sign-off.
Snippets Text you type constantly, one tap from the clipboard, in its own window you can drag clear of whatever you are filling in.
Privacy

Nothing you type leaves your machine

Prediction runs on your machine. Your vocabulary, your word pairs, your saved numbers and your snippets are files in your own config directory: no model upload, no cloud round-trip, no large language model, just an n-gram model and some arithmetic.

Learning pauses automatically when focus reaches a password field, with a manual override in the title bar. The number learner rejects long digit runs outright, so card and Social Security numbers are never stored. The diagnostic log records lengths and outcomes, never characters.

Dictation is the one exception. Audio goes to Deepgram while the microphone is open, and at no other time. Off by default, inert without your own key, never written to disk, and a password field cancels a run outright.

Download

Free, MIT licensed, no account

Releases are published on GitHub. The Windows installer is signed by OK Studio Inc. and updates itself; the Linux build is an AppImage you can run from anywhere.

Windows

Windows 10 and 11, 64-bit. EV-signed installer with automatic updates built in.

Download installer Latest release
Linux

AppImage, x86-64. Unsigned by design: chmod +x and run. Needs xdotool on X11 or ydotool on Wayland.

Download AppImage Latest release
macOS

In progress. The key synthesiser, window behaviour and password detection are written; code signing and notarisation are not done yet.

Not released yet

Windows may show a blue “Windows protected your PC” screen on first install. That is normal for newer applications: click More info, check the publisher reads OK Studio Inc., then Run anyway.

Get involved

Written on itself, open to everybody else’s day

This keyboard catches what makes its author’s day miserable and misses everything about yours, so Discussions and the issue tracker are both open and both read, and neither needs a line of code. If you would rather read the code, it is MIT licensed, and python run.py takes a clone to a running keyboard.

Questions

Frequently asked

Who is this for?

Anyone who cannot comfortably use a physical keyboard but can move a cursor: muscular dystrophy, ALS, spinal cord injury, cerebral palsy, arthritis, RSI, or a head pointer, eye tracker, joystick or switch-access setup. Also a touchscreen or kiosk with no keyboard attached.

Does it work with my screen reader or my other assistive software?

It types into whatever application has focus, so anything that accepts keyboard input accepts Alpha-OSK. It reads the pointer state without capturing it, so dwell-click and switch-access utilities keep working alongside it.

My keystrokes are not appearing in VS Code, a game, or a remote desktop.

Settings → Smart Typing → Input, and set Compatibility Mode to “Always On”. Auto-detect covers the common editors and remote-desktop clients; anything else needs the override. Games read the keyboard by polling, so each key is held briefly rather than tapped, which covers the Unreal Editor and packaged Unreal games.

Where does my data live, and how do I move it?

On Windows, %APPDATA%\alpha-osk\. On Linux, ~/.config/alpha-osk/. Settings → Data & Privacy → Data Backup writes all of it to one zip. Importing on a new machine restores everything without a restart, and keeps a rescue copy, so a mistaken import is one click to undo.

Does any of this send my typing to a server, and what does it cost?

Your typing, no, and the keyboard itself is free. Your voice, only if you switch on dictation and supply your own Deepgram API key, and only while the microphone is open. That usage is the only money involved anywhere, you pay Deepgram directly, and it is optional.

There is an opt-in statistics client in the build. It is off until you switch it on, and opting in sends nine integer counters a week: never content, never word frequencies, never your IP or hostname. Those counters are summed across installs and republished as a dated CSV, which is where the two figures at the top of the home page come from.