Keyboop
Punto Switcher на macOS заброшен и ломает буфер обмена. Я дизассемблировал его бинарник и нашёл причину: он гонит каждое исправление через буфер и восстанавливает по таймеру без проверок. Вокруг этого построен продукт: основной путь замены текста идёт мимо буфера — Backspace плюс прямая вставка Unicode. Там, где без буфера нельзя, — снимок всех типов данных и восстановление по changeCount, а не по таймеру.
Дальше вырос за пределы исходной боли: голосовой ввод целиком на устройстве, автозамена сниппетов, переключение последнего слова или всего набранного за N секунд. Когда настроек стало 67, появился простой режим: прячет строки, но ничего не выключает.