Getting started
- Download the latest version from GitHub, unzip it and move ExoKey.app to Applications.
- First launch: if macOS says “Not Opened”, click Done, then open System Settings → Privacy & Security and click Open Anyway.
- Grant two permissions: Accessibility and Input Monitoring. ExoKey needs them to see key presses and to rewrite a word. The menu item Grant permissions… opens the right pages.
- Optional: Screen Recording lets AI suggestions read apps that don't expose their text (some chat apps). 0.2
- The ExoKey icon lives in the menu bar. From there you can pause it, open the Dictionary, Settings, statistics and the actions described below.
Automatic layout correction
Typed ghbdsn instead of “привіт”, or руддщ instead of “hello”? ExoKey compares what you typed with what the same keys give in your other layouts, picks the language where it is a real word, rewrites it and switches the layout.
- It decides while you type, from the 3rd letter by default (Settings → Start after letters), or at the end of the word.
- Short words (2 letters) are fixed only when the alternative is a very common word, or the previous word is in that language.
- Works with any installed layouts of English, Ukrainian and Russian (ABC, U.S., Ukrainian, Russian – PC and others). Choose the languages in Settings.
- Never touched: passwords and PIN fields, email addresses and links, words with digits, CamelCase like
iPhone, punctuation like....; optionally words in ALL CAPS. - If you switch the layout yourself in the middle of a word, ExoKey leaves that word alone. If the layout changes by accident mid-word and one word ends up in two alphabets, ExoKey puts the rest back. 0.2
- If you erase a fixed word and type it again, ExoKey doesn't fix it a second time until the next space.
Undo and manual conversion
- ⌃⌥Z — undo the last correction. ⌘Z right after an automatic fix also undoes it. 0.2
- Erasing a corrected word with Backspace counts as an undo too (can be turned off).
- ⌃⌥X — convert the last word to the other layout; press again to cycle through languages. With text selected, converts the selection. 0.2
- Undo the same word twice and it becomes an exception: ExoKey never fixes it again.
Typos
A missing, extra or swapped letter: after the space a small hint with the fix appears under the word. Tab applies it, Esc hides it, typing on ignores it.
- Modes in Settings: off, offer a fix (default), or fix automatically.
- ⌃⌥C — fix a typo in the last word right now.
- Come back to a misspelled word with the mouse or arrow keys, and ExoKey offers the fix there too. 0.2
- Words in your Dictionary and names are never treated as typos.
AI autocomplete
A local language model (Alibaba Qwen, run by llama.cpp on your Mac) suggests the end of the word and the next words as gray text right at the cursor. Nothing is sent to the internet.
- Turn it on in Settings → Autocomplete (AI) and download the model once (2.5 GB). Without the model, a lighter dictionary mode is available.
- Tab — accept the next word; ⇧Tab — accept the whole suggestion; Esc — hide it; ⌃⌥⌫ — undo the last insertion; ⌃⌥A — turn autocomplete on or off.
- Context: ExoKey reads the conversation or page in the active window (Accessibility; or on-screen text recognition for apps without accessible text 0.2) so suggestions fit the conversation. Processed in memory only.
- Your style: ExoKey remembers phrases you type often and suggestions you accept, and offers them first. You can forget everything with one button.
- Settings: words only or words and phrases, suggestion length, confidence level, delay before showing, languages, apps where suggestions are off.
- Menu → No AI suggestions in this app turns suggestions off for the current app in one click. 0.2
Names with a capital letter
Names, cities and places are written correctly in suggestions and after the space: марина → Марина, kyiv → Kyiv. Can be turned off in Settings.
Calculator in any text field
Type an expression and =, and ExoKey types the answer after it. Works in any app.
- Operators
+ - * / × ÷ ^ %, parentheses, decimal point or comma. - Chains: keep typing after a result —
600*2=1200+200=calculates the new expression. 0.2 - Functions
sin cos tan asin acos atan sqrt ln log exp abs round floor ceil, constantspiande. 0.2 - Time:
10:00+2:30=→ 12:30,18:45-9:30=→ 9:15,1:30*3=→ 4:30. 0.2
Units and currencies 0.2
- Length, weight, volume, area, speed and temperature, in English, Ukrainian or Russian words:
in,to,в,у,/or→. - Currencies USD, EUR, UAH, GBP, PLN, CAD, CNY, JPY, CHF, TRY, CZK, KZT, GEL, AED by code, symbol or name. Only the rate table is downloaded, at most every 12 hours.
- Need more? ExoCalc is a full notepad calculator — see below.
Contacts: @Name 0.2
Type @ and the first letters of a name: a list of your contacts appears. Choose with ↑↓ and Return (or click); tick the fields you need — name, phone, email, company, address — and they are inserted joined by commas. Phone numbers come in international format.
- Turn it on in Settings → Extras; macOS asks for access to Contacts once.
- An
@inside an email address never opens the list.
Change case 0.2
Select text and press ⌃⌥R: lowercase → UPPERCASE → Capitalized, each press goes to the next one. Handy after typing with Caps Lock on.
Language per app and exclusions
- Settings → Layout for apps: Terminal always English, Telegram Ukrainian — the layout switches with the window. Only this language also stops corrections there.
- The menu item Layout for “App” sets it for the current app.
- Settings → Don't work in apps: ExoKey ignores these apps completely. Menu → Don't work in this app adds the current app in one click. 0.2
Layout label at the cursor
A small colored label (EN UK RU) appears at the cursor when the layout changes, and when you place the cursor with the mouse or arrows 0.2, so you see which language you're about to type in.
Learning and the Dictionary
- New words, names and abbreviations you type are learned: right away, after repeating them (default), or after you confirm. Names and ALL-CAPS abbreviations are learned faster.
- Words produced by an automatic fix are never learned.
- Menu → Dictionary…: words, exceptions (never fix), rules (always replace this with that), candidates waiting for confirmation, your phrases and banned suggestions. Search, add, edit, delete.
- Settings → Data: export and import, backup and restore, reset learning, delete all user data.
Updates 0.2
Once a day ExoKey checks GitHub for a new version. When there is one, the menu shows Install update: ExoKey downloads it, checks the SHA-256 checksum, replaces itself and restarts. You can also check by hand or turn the check off in Settings.
Privacy
- Dictionaries, spell checking and the AI model work offline. The network is used only to download the model, currency rates and update checks.
- Typed text and window text are processed in memory and are not saved. Only your Dictionary, phrases and statistics are stored, in ~/Library/Application Support/ExoKey.
- Secure input fields and fields labeled password, PIN or code are skipped completely.
- The code is open: github.com/jandiradmin/ExoKey, MIT license.
All hotkeys
All of them can be changed in Settings → Hotkeys.
| Undo the last correction | ⌃⌥Z |
| Convert the last word / selection | ⌃⌥X |
| Fix a typo in the last word | ⌃⌥C |
| Change case of the selection 0.2 | ⌃⌥R |
| Pause / resume ExoKey | ⌃⌥P |
| Accept the next word | Tab |
| Accept the whole suggestion | ⇧Tab |
| Hide the suggestion | Esc |
| Undo the last insertion | ⌃⌥⌫ |
| Autocomplete on / off | ⌃⌥A |
Troubleshooting
- Nothing happens. Check that ExoKey is on in both Accessibility and Input Monitoring, and that it isn't paused (menu). After an update, toggle the permissions off and on.
- A word keeps getting fixed wrongly. Undo it twice with ⌃⌥Z, or add it to exceptions in the Dictionary.
- No AI suggestions in an app. Some apps don't report the cursor position; turn on Screen Recording for ExoKey, or check that the app isn't excluded.
- Why not in the App Store? The App Store sandbox doesn't allow apps to see key presses.
- Is it free? Yes. If ExoKey saves you time, you can support it or star it on GitHub.
More apps from the Exo family
A notepad calculator: type line by line, see results on the right. Currencies and crypto, units, time and dates, plain words. macOS and Windows.
GitHub →A native dual-pane file manager for macOS: F-keys, SFTP, archives, background copy queue, built-in terminal, Multi-Rename.
exocommander.top →