Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quant Keyboard

Автопереключатель раскладки для macOS. Свой движок, полностью офлайн, бесплатно.

ghbdtnпривет · руддщhello — набрали не в той раскладке, а клавиатура сама всё исправит.

macOS License Price Offline Dependencies


Набрали слово не в той раскладке — Quant Keyboard замечает это сам, стирает набранное, впечатывает правильный вариант и переключает язык. Работает в любом приложении, ничего не отправляет в сеть и не пишет ваш ввод на диск. Исходный код открыт целиком — можно проверить каждую строчку.

Это аналог Punto Switcher и Caramba, но с нуля на собственном движке: вместо словарей «невозможных сочетаний» — вероятностная модель языка, которая реже ошибается на незнакомых словах.

Как выглядит

Окно «О приложении»

Настройка горячих клавиш Автоисправления с тумблерами по типам

Что умеет

Переключает раскладку сама. Пишете по-английски там, где нужен русский, — приложение ловит это по ходу набора, исправляет слово и меняет язык. И наоборот.

Конвертирует по горячей клавише. Забыли переключиться и уже написали абзац? Выделите его или последнее слово и нажмите хоткей — текст переберётся в правильную раскладку. Триггеры настраиваются: двойной Shift, Option, а с версии 0.1.1 — и чистый аккорд Alt+Shift.

Правит частые ошибки ввода. Две заглавные в начале слова (ПРиветПривет), пробел после запятой, консервативный список опечаток. Каждый тип — отдельным тумблером, ничего не навязывается.

Учится под вас. Ошиблась на слове, вы откатили правку несколько раз — приложение само предложит внести слово в исключения и больше его не трогать.

Не мешает в играх и редакторах. Для выбранных приложений автоматику можно поставить на паузу — прямо из меню или горячей клавишей. Список переживает перезапуск.

Живёт в строке меню. Иконка «Q» рядом с часами, в Dock приложение не появляется. Тёмную и светлую тему поддерживает нативно.

Почему этому можно доверять

Приложение перехватывает нажатия клавиш. Возможность чувствительная, поэтому — честно и по пунктам, что оно делает и чего не делает.

  • Открытый код. Весь исходник в этом репозитории. Ничего не спрятано в закрытых бинарниках — соберите сами и убедитесь, что приложение делает ровно то, что написано.
  • Работает офлайн. Для основной работы сеть не нужна вообще. Ваш ввод не покидает компьютер, никуда не отправляется, ни на какие серверы.
  • Ваш текст не пишется на диск. Набираемое слово живёт только в оперативной памяти и стирается на первом же пробеле, знаке препинания или смене приложения. Никаких логов ввода, никакой истории набранного. Единственное исключение — диагностический журнал для разбора ошибок: он выключен и включается только вручную командой в Терминале, файл остаётся у вас на компьютере. Подробности — в SECURITY.md.
  • Уважает защищённый ввод. Как только вы попадаете в поле пароля (macOS Secure Input), перехват полностью отключается, а буфер сбрасывается. Пароли приложение не видит в принципе.
  • Ноль внешних зависимостей. Только системные фреймворки Apple — AppKit и стандартные API ввода. Никаких сторонних библиотек, в которых мог бы спрятаться сюрприз.
  • Никакой телеметрии. Приложение ничего никуда не отправляет и не «звонит домой». Локально — и только для вас — оно хранит свои настройки, ваш список исключений и обезличенные счётчики для экрана статистики (сколько раз переключило раскладку и т.п.), без единого символа набранного текста.
  • Языковая модель обучена на открытых данных. Компактные таблицы n-грамм (единицы мегабайт) построены офлайн на корпусах со свободной лицензией — Википедия, Public Domain. Скрипт обучения тоже в репозитории.

Единственное разрешение, которое приложение просит, — «Универсальный доступ» (Accessibility). Без него системный API перехвата клавиатуры не работает: это требование самой macOS, а не прихоть. Приложение честно объясняет это при первом запуске.

Чем отличается от аналогов

Точнее распознаёт. В основе не чёрный список «так по-русски не пишут», а вероятностная модель на символьных n-граммах для каждого языка. Сопоставление раскладок идёт через системный UCKeyTranslate, поэтому оно не зависит от того, какие именно раскладки у вас включены. Итог — меньше ложных переключений и устойчивость к словам, которых нет ни в одном словаре.

Легче и быстрее. Нативный Swift и AppKit, ноль тяжёлых зависимостей, модель целиком в памяти. Отклик на нажатие — в пределах миллисекунд, потребление памяти — десятки мегабайт.

Бесплатно и без условий. Никаких подписок, лицензионных ключей, встроенных покупок и рекламы.

Установка

  1. Скачайте свежий QuantKeyboard.dmg из раздела Releases.
  2. Откройте DMG и перетащите Quant Keyboard в «Программы».
  3. Запустите. При первом старте macOS может показать предупреждение, что приложение от неустановленного разработчика — это нормально для бесплатных программ без платной нотаризации Apple. Откройте «Системные настройки → Конфиденциальность и безопасность» и нажмите «Всё равно открыть». Либо: правый клик по иконке приложения → «Открыть».
  4. Приложение появится в строке меню значком «Q» (в Dock его нет — так задумано).

Требуется macOS 13 (Ventura) или новее.

Если обновляетесь с прежней версии, в образе есть файл «Обновить или установить.command». Запустите его двойным кликом вместо перетаскивания: он закроет работающую программу, покажет, какие старые копии нашёл на компьютере, с вашего согласия переложит их в Корзину и поставит новую версию. Настройки, статистика и списки исключений сохранятся. macOS сначала откажется открывать этот файл — разрешение выдаётся один раз в «Системных настройках → Конфиденциальность и безопасность».

Первый запуск: разрешение Accessibility

При первом старте откроется окно онбординга. Нажмите «Открыть настройки безопасности» → «Конфиденциальность и безопасность» → «Универсальный доступ» → включите тумблер напротив Quant Keyboard. Окно само увидит выданное право и предложит завершить настройку.

Если предпочитаете собрать приложение сами — см. BUILD.md.

Как это устроено

Приложение перехватывает события клавиатуры системным CGEventTap на уровне сессии. Каждое набираемое слово собирается в буфер в памяти; движок реконструирует, как это же слово выглядело бы в другой раскладке (через UCKeyTranslate), и вероятностная n-граммная модель оценивает, на каком языке набор осмысленнее. Если перевес уверенный — набранное стирается, впечатывается правильный вариант и переключается системная раскладка штатным API Text Input Sources. На границах слова (пробел, пунктуация, смена приложения, Secure Input) буфер обнуляется.

Подробнее о безопасности и модели приватности — в SECURITY.md.

Лицензия

Код распространяется по лицензии MIT — используйте, изучайте, форкайте свободно.

Название «Quant», логотип и фирменный стиль лицензией не покрываются и остаются за агентством Quant. Форкам просьба использовать собственное имя и оформление.

Об авторе

Quant Keyboard сделан агентством автоматизации Quant и раздаётся бесплатно. Если нужна автоматизация процессов или разработка под задачу — quant-agency.ru.

About

Free open-source keyboard layout switcher for Mac. Trigram engine, no block-lists, no subscription, no telemetry.

Topics

Resources

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages