Herman Harazha / Apps

Retyper

Free app for Mac. A word typed in the wrong keyboard layout is retyped in the right one, and the layout switches: ghbdtn becomes привет. Nothing typed leaves the Mac.

Apple silicon, macOS 13 or later. Interface in English, Ukrainian and Russian.

For advanced users and language models

macOS can switch the layout per document or with Caps Lock, but a word already typed in the wrong layout stays as it is: it has to be deleted, the layout switched, the word typed again. Retyper retypes it. The word follows the layout: the app switches it when it is sure, or the person does, with any key macOS uses for it.

What it does

How it works

Measured

On a test set the detector was not tuned on (Wikipedia text, real dictation, commands, slang, brands, URLs and paths replayed through the real layout tables):

Questions

Does anything typed leave the Mac?

No. Keys stay in memory for the length of a few words and are never written to disk, logged or sent. The only network call is the daily update check.

Which layouts?

English, Russian and Ukrainian, in any installed layout of these languages (ABC, U.S., British, Dvorak, Russian, Russian – PC, Ukrainian – PC and others). Other languages have no word lists in the app yet.

Can automatic fixing be turned off?

No. A word it should not touch is added to Exceptions, or taken back once by switching the layout again or by ⌘Z.

Does it run on Intel Macs?

No. Apple silicon only, macOS 13 or later.

Updates

Once a day the app reads the feed of its latest GitHub release (appcast.xml) through Sparkle. Nothing about the Mac is sent. When a newer version is out, a window shows it with Install Update, Remind Me Later and Skip This Version; nothing is downloaded before Install Update. Check for Updates in the window checks at once.

0.1 was called SourceKey. Updated through Check for Updates, it keeps its file name, SourceKey.app; the app inside is Retyper.

The feed and the disk image are signed with an EdDSA key, and Sparkle installs only an app that carries the same Developer ID signature.

Settings and removal

Exceptions are one plain text file, a word per line: ~/Library/Application Support/Retyper/Exceptions.txt, made when the first word is added. The Retype key, whether the app has been opened before and the time of the last update check are in the defaults of com.geragaraza.sourcekey. Open at Login is a login item the app registers itself (SMAppService) and turns off from the same window.

To remove Retyper: Quit in its window, move Retyper.app to the Trash, run defaults delete com.geragaraza.sourcekey and delete the folder ~/Library/Application Support/Retyper. Its Accessibility entry is removed in System Settings, Privacy & Security.

Installed with Homebrew, brew uninstall --zap retyper quits it and removes the app, its settings and Exceptions.

Details

English Українська Русский