Что нового
Каждое обновление одной строкой: что починили и что добавилось. Обновления приходят сами, а поставить их можно в любой момент из «Настройки → Обновления».
версий в списке: 110 · последняя 0.4.7
0.4.7 Axolotl бета
- Правильное слово с одним знаком пунктуации в конце больше не конвертируется частично. Например, «got it.» остаётся целиком английским вместо смешанного текста. Узкая защита работает при автоматическом исправлении; ручная конверсия по-прежнему выполняет явную команду пользователя.
- Конвертация слов через дефис стала точнее. «xnj-nj» превращается в «что-то», «ult-nj» — в «где-то», а «bp-pf» — в «из-за». Командные флаги, диапазоны, идентификаторы, висячие и двойные дефисы не трогаются.
- Точка по двойному пробелу надёжнее переживает автоматическую конверсию. В основном сценарии Keyboop сохраняет «. » независимо от того, успела ли macOS поставить точку сама. Более редкое совпадение второго пробела с самой синтетической заменой пока остаётся известным ограничением.
0.4.6 Axolotl
- Исходную запись диктовки теперь можно сохранить из истории как .m4a. Внутри Keyboop аудио по-прежнему хранится зашифрованным: открытые байты появляются только после того, как вы сами выбрали место сохранения. После экспорта запись остаётся в истории, а по сообщению об успехе можно сразу показать точный файл в Finder.
- Словарь диктовки исправляет близкие варианты и превращает «Z-код» в «ZCode». Если модель ошиблась на одну или две буквы в длинном имени или термине, нужное написание всё равно подставится. Обычные слова языка, короткие совпадения и неоднозначные варианты не трогаем. «Зет-код» и «Z code» тоже становятся «ZCode».
- «Не начинать с заглавной» больше не портит имена людей. Частые русские имена, их краткие и падежные формы, аббревиатуры и регистр из словаря диктовки сохраняются. В неоднозначных случаях имя важнее нарицательного: «Роман», «Вера» и «Лев» остаются с заглавной.
- «Исправлять опечатки» теперь превращает «1ю8» в «1.8». Узкое правило понимает русскую «ю» между цифрами как промах мимо точки; оно работает только при включённом исправлении опечаток и не трогает обычные слова, заглавную «Ю» или «ю» у края числа.
- Исключения с цифрами и точками работают, а обучение спрашивает только после трёх отмен. Проверка учитывает всю запись, работает при исправлении на лету и перед внешней точкой или запятой. Это не общее распознавание сайтов: адрес или технический токен по-прежнему нужно добавить в список самому. Первый и второй возврат одного слова проходят молча; если его не отменяли больше недели, счёт начинается заново. Закрытая без ответа плашка тоже требует три свежие отмены. Сама плашка теперь получила нормальные поля сверху и снизу.
- Левый и правый Option больше не отбирают друг у друга действия. Правый Option можно оставить диктовке, а двойной левый Option отдать конверсии; старые конфликтующие настройки разводятся в работе, а новые конфликты интерфейс не даёт сохранить. Заодно Option+Shift больше не зависит от порядка, в котором отпущены клавиши.
- Сторож 🌐 возвращает системное действие даже после падения и SIGKILL. Второй спящий процесс Keyboop теперь живёт всю сессию приложения и хранит проверяемую расписку восстановления; он не читает ввод и не выходит в сеть.
0.4.5 Axolotl
- Форма отзыва больше не прячет ваш текст. У трети отправителей поле ввода оказывалось вдвое шире окна, и строки обрезались по правому краю: из фразы просто выпадала середина. Жалоба жила с июля и пережила две починки, потому что на большинстве машин всё выглядело нормально. Нашли по диагностике, которую сами же и приложили к отзывам месяц назад.
- Подпись у галочки диагностики перестала обрезаться на середине слова. Она делила строку с кнопкой «показать, что уйдёт», и не помещалась. Расшифровка, что именно уходит, и так стоит строкой ниже.
- Скрытый ввод теперь объясняется словами, а не одной строчкой в меню. Когда какая-то программа включает защищённый ввод macOS, система прячет клавиши ото всех сразу, и переключение раскладки перестаёт работать у всех приложений разом. Раньше мы просто сообщали об этом и оставляли человека гадать. Теперь в настройках, в разделе «Приватность», появляется объяснение: что происходит, кто это обычно делает, что с этим делать и что при этом всё равно работает. Пока всё в порядке, раздел выглядит как раньше.
- В списке изменений видно, что версия бета. Раньше пометка стояла в заголовке поста и на GitHub, а в самом приложении её не было, и просьба «включите бета-версии» выглядела загадочно.
0.4.4 Axolotl
- Диктовка больше не умирает из-за чужого поля пароля. Когда любая программа включает защищённый ввод macOS, система прячет клавиши от всех сразу, и у нас замолкало вообще всё. По отзывам такое устраивали Почта, Chrome, Safari, Telegram и терминалы, у одного человека это случалось несколько раз в день. Теперь мы смотрим не на общий признак, а на само поле под курсором: если это поле пароля, молчим как раньше, а если обычное, диктовка работает.
- Значок больше не гаснет, когда работать всё-таки можно. Потухший значок с треугольником читался однозначно: программа умерла. Заодно мы перестали называть в меню виноватую программу, потому что система сообщает её имя неточно и мы регулярно обвиняли невиновных. Вместо этого в подсказке значка написано, что происходит, что при этом работает и что помогает.
- В мягком режиме короткие сочетания больше не превращаются в слова. В видеоредакторах и монтажках горячие клавиши это одиночные буквы, а пробел это воспроизведение, и две команды подряд складывались для нас в «до», «на» или «то» со всеми последствиями. Теперь в таких программах мы трогаем только слова длиннее двух букв и только набранные слитно.
- Глобус и Fn наконец работают на ручном переключении. Раньше при таком назначении менялась только раскладка, а слово оставалось как было. Правка была готова к прошлому выпуску, но в него не попала.
- После диктовки не пропадает слово, которое вы успели набрать сами. Уборка за диктовкой чистила буфер целиком, и если вы начинали печатать, пока текст ещё вставлялся, ваше слово исчезало вместе с чужим контекстом.
0.4.3 Axolotl
- Каждая диктовка стала быстрее примерно на полсекунды. При автоопределении языка Whisper обрабатывал запись дважды: сначала чтобы понять, на каком языке говорят, потом чтобы получить текст. Теперь эта работа делается один раз. На фразах короче десяти секунд это почти вдвое, на длинных выигрыш тот же по времени, просто на общем фоне его меньше видно.
- Исправление опечаток больше почти не портит правильные слова. Мы убрали самое опасное правило, замену буквы на соседнюю по клавиатуре: именно оно превращало «бампу» в «лампу», а «нужде» в «нужду». На живом тексте порча упала в девять раз. Настоящие опечатки чинятся по-прежнему, а теперь ещё и лишняя буква, нажатая дважды: «приивет» становится «привет».
- Список известных опечаток вырос с двухсот до пяти тысяч. Чаще всего в русском ошибаются в сдвоенных согласных, поэтому туда попали «програма», «акаунт», «искуство» и ещё несколько тысяч таких же.
- Caps Lock можно назначить на ручное переключение. Просили не раз: по прямому назначению клавиша почти никому не нужна, а лежит удобно. Пока она занята, настоящий капс включается через Shift с Caps Lock.
- Значок в строке меню встал вровень с буквами языка. В прошлый раз мы измерили его неправильно и сдвинули не в ту сторону; теперь разница меньше половины пикселя.
- В простых настройках поля выбора сочетаний стали одной ширины. Раньше поле диктовки было шире соседних, потому что подстраивалось под самый длинный вариант своего списка.
0.4.2 Axolotl
- «iOS» больше не превращается в «Ios». Правило про прилипший Caps Lock («пРИВЕТ» → «Привет») считало «iOS» такой же опечаткой: первая буква строчная, остальные заглавные. Теперь короткие имена не трогаются вовсе, а «mACOS» чинится в «macOS», то есть туда, куда вы и целились.
- Первое нажатие сочетания отменяет нашу правку, а не переключает раскладку. Если Keyboop исправил слово, а вы этого не хотели, нажмите привычное сочетание, и слово вернётся как было. Второе нажатие работает как раньше.
- «’nj» наконец превращается в «это». В раскладке «США международная» клавиша с «э» мёртвая: она сама по себе не отдаёт символа, поэтому пара для «э» у нас не создавалась вовсе. Заодно понимаем типографские апострофы, которые подставляет система.
- Знаки препинания встают на свои места у тех, у кого включены обе русские раскладки. Таблицу мы строили по первой попавшейся, а обычная русская раскладка и её ПК-вариант расходятся на четырёх клавишах, включая точку и запятую. Теперь берём ту, которой вы пользуетесь.
- Полоса прокрутки исчезает там, где прокручивать нечего. В разделах, которые помещаются целиком, она была чистым шумом, а там, где список длинный, осталась на месте.
0.4.1 Axolotl
- Первая диктовка после запуска больше не заставляет ждать. Модель распознавания умудрялась загрузиться дважды подряд, если продиктовать сразу после старта, и вместо трети секунды выходило под сорок. Теперь загрузка одна, а вторая просьба спокойно дожидается первой.
- Исправление опечаток перестало портить правильные слова. Оно меняло последнюю букву, а в русском это окончание, поэтому «раскладки» превращались в «раскладку», а «фигма» в «фирму». Последняя буква теперь неприкосновенна, соседство клавиш считается по их настоящему положению на клавиатуре, а «фигма», «джира», «слак» и другие заимствования добавлены в словарь целиком.
- Диктовка выучила USDT, VPN, Seedance, Seedream, Kling и Higgsfield. Так распознавание слышит эти слова: «юс ди ти», «впен», «хигсвилд». Список открыт, свои слова можно дописать в настройках диктовки.
- Значок в строке меню встал ровно. Он сидел на полтора пункта выше соседних значков: рисованной картинке система не знает базовой линии, в отличие от системных символов.
0.4 Axolotl
- Смена регистра выделенного: «телефон» в «ТЕЛЕФОН» и обратно. Выделите текст, нажмите сочетание, второе нажатие возвращает как было. Сочетание по умолчанию не занято: назначьте своё в разделе «Автозамена», блок «Правка текста».
- Лампочка Caps Lock показывает язык. Горит русский, погасла английский, и так на всех подключённых клавиатурах сразу. Выключено по умолчанию: настройка меняет смысл железной лампочки, включать такое молча нельзя. Заглавные при этом на месте.
- Плашка диктовки растёт из чёлки MacBook. Раньше она ходила за курсором и иногда мешала читать написанное. Теперь можно выбрать: у курсора или в вырезе. На мониторе без выреза плашка сама возвращается к курсору.
- Громкость и яркость больше не запускают диктовку. Если на диктовку назначен модификатор, аккорд с системной клавишей считался «жестом» и включал запись. Теперь такие сочетания снимают жест, как обычная клавиша.
- Выбранная раскладка запоминается, даже если их у вас три. Раньше выбор жил до перезапуска, и человек с «Русской ПК» после каждого запуска получал обычную «Русскую».
- Настройки перебраны целиком, до последнего отступа. Простой экран при первом запуске, переключатель режимов в строке заголовка, одинаковые поля в строках, высота окна по содержимому, полоса прокрутки только там, где есть что прокручивать.
0.3.19 Pika
- Исправление опечаток больше не замолкает на повторах. Слово не из словаря, набранное дважды, программа считала вашим и переставала его трогать, а привычная опечатка это как раз то, что набирают не один раз. Теперь как ваши запоминаются только слова, для которых у программы нет готовой правки, а список разбирается при первом запуске.
0.3.18 Pika
- Диктовка умеет сохранять запись голоса. К каждой записи в истории прикрепляется исходное аудио: видно волну, можно послушать и перемотать, скорость переключается на 1,5× и 2× и запоминается. Запись шифруется тем же ключом, что и текст, никуда не отправляется и исчезает вместе со своей записью. Включается в «Голосовой набор» → «История».
- Появилось исправление опечаток. «Извените» становится «извините», «тедефон» — «телефоном». Работает по проверенной таблице и по промахам на соседнюю клавишу, а слово, которое вы набрали дважды, программа запоминает как ваше и больше не трогает. Выключено по умолчанию.
- Вставка без форматирования по сочетанию. Скопированный текст ложится шрифтом того места, куда вставляете. Буфер при этом возвращается ровно таким, каким был, а если вы успели скопировать что-то новое, мы его не трогаем вовсе.
- Автообновление больше не застревает. В тихом режиме скачанное обновление могло ждать удобного момента вечно, а кнопка «Проверить сейчас» при этом молчала. Теперь и кнопка отвечает всегда, и обновление само напоминает о себе, если тихо поставить не вышло.
- Порядок сниппетов можно менять перетаскиванием, а при наведении видно полный текст. Раньше в узкой строке было не разобрать, что именно вставится.
- Микрофон освобождается сразу, если запись отбросили как слишком короткую. Раньше он ещё полминуты оставался занятым, и у других программ портился звук.
- «,fu» наконец превращается в «баг». В словаре не было лексики разработки, поэтому короткие слова вроде «баг», «фича» и «коммит» не распознавались.
0.3.17 Pika бета
- Keyboop может поднимать громкость микрофона перед диктовкой. Уровень входа на маке умеет уползать вниз сам по себе, и следующая диктовка выходит тихой, а на тихой записи распознавание чаще ошибается. Включается в «Голосовой набор» → «Микрофон»; по умолчанию выключено, потому что настройка общая для всей системы.
- Языковой пакет перевода наконец ставится честно. Раньше окно закрывалось как при удаче, даже если пакет так и не установился, и приходилось повторять всё заново. Теперь мы дожидаемся подтверждения от системы, а если не вышло, так и говорим и показываем, где видно настоящий прогресс.
- Короткие русские слова после английских стали переключаться. «Figma d HA» и «telegram b whatsapp» оставались как есть, потому что фильтр коротких слов глушил и предлоги заодно с переменными. Самые частые из них теперь проходят, а спорные пары добавлены в «Кто побеждает», где победителя выбираете вы.
- Плашка «Скопировано» стала выглядеть как своя. Знак Keyboop вместо безымянной точки, текст говорит, что именно скопировано, и появляется он короткой дешифровкой.
0.3.16 Pika
- Паузу теперь видно в меню. Пункт «Не мешать» стоит сразу под автопереключением и предлагает помолчать 15 минут, час, три или пять. Раньше она показывалась, только когда уже шла, а включить её оттуда было нельзя.
- Значок в строке меню говорит, когда Keyboop молчит. Наведите на него, и он ответит, что мешает: не выдан доступ, идёт пауза, клавиатуру занял кто-то другой. Пока молчим, значок приглушён.
- Предупреждение больше не съедает код языка. Раньше при нехватке доступа вместо «RU» появлялся треугольник, и язык пропадал целиком. Теперь знак стоит рядом с ним, а не вместо.
- Сообщение про занятую клавиатуру стало человеческим. Было «включён Secure Input (держит Пароли Safari)», стало «Скрытый ввод: Пароли Safari». Заодно оно перестало растягивать меню вдвое.
- Списки автозамены и сниппетов подстраиваются под содержимое. Раньше они были фиксированной высоты и занимали пол-окна даже с тремя записями.
- Поле исключений отвечает, что получилось: слово уже в списке, или мы его и так бережём. Заодно список, вставленный строками, добавляется по словам, а не одной мёртвой записью.
0.3.15 Pika
- Сниппеты стали отдельным списком и вставляются по сочетанию. Автозамена срабатывает сама по аббревиатуре, а эти вставляются осознанно: нажали сочетание, увидели список, выбрали цифрой или мышью. Сюда просится то, что на аббревиатуру вешать страшно: длинные команды, реквизиты, шаблоны писем.
- У значка в строке меню появилось быстрое действие по правому клику. Левый по-прежнему открывает меню, правый сразу делает выбранное: копирует последнюю диктовку, начинает диктовку, открывает историю или настройки.
- Keyboop можно попросить помолчать. Пауза на 15 минут, час, три или пять часов: всё это время он не трогает ни текст, ни сочетания, а потом возвращается к работе сам. Тем и отличается от выключенного тумблера, про который забывают на неделю.
- При назначении сочетания видно, если оно уже занято. Критичные вроде ⌘C и ⌘V не отдадим никогда, а про системные функции macOS предупредим и всё равно дадим назначить: это ваш Mac и ваш выбор.
- Две настройки назвали понятнее. «Исправлять слово после пробела» стало «Автоматическое исправление раскладки», а «Менять раскладку своей клавишей» стало «Менять раскладку без задержки». Со второй заодно снята пометка «бета».
- Сообщение «Скопировано» выглядит как остальные плашки. Раньше текст в нём был выкрашен в чужой зелёный цвет.
0.3.14 Pika
- Клик мышью с зажатым модификатором больше не переключает язык. Если на переключение назначен одиночный модификатор (правый ⌘, ⌥, ⌃, Caps Lock или 🌐), то ⌘-клик по ссылке или ⌥-клик читались как чистое нажатие. Раскладка менялась сама по себе несколько раз в день, и связать это с мышью было невозможно: мы слушали только клавиатуру.
- В Spotlight больше не портится запрос. Его подсказка дополняет строку выделенным хвостом, и наш первый Backspace гасил выделение вместо буквы, из-за чего «ghjdthrf» превращалось в «gпров». Заодно к Spotlight наконец применяются его собственные настройки: по ⌘Space система не считает его активной программой, поэтому ни привязка языка, ни исключения для него не работали никогда.
- Значок языка в строке меню перестал угадывать. Английская раскладка записана в системе как «U.S.», и мы разбирали это имя неправильно. Про русский индикатор отвечал честно, а про английский показывал последнее, что запомнил, и потому отставал от реальности.
- Если система не применила переключение, приложение это заметит. Раньше команда считалась выполненной по факту отправки, и дальше мы верили себе, даже когда раскладка осталась прежней. Теперь результат сверяется, и одна поправка делается сама.
0.3.13 Pika
- Микрофон больше не включается сам. Если хоткей диктовки это одиночный модификатор (по умолчанию правый ⌥), он срабатывал и внутри чужого сочетания: нажали ⌥⇧ правым Option, и попутно пошла запись. То же ловило hyper-клавишу на Caps Lock. Теперь жест засчитывается только чистым нажатием, а начатая по ошибке запись обрывается.
- Копирование больше не портит буфер обмена. Когда мы читаем выделение, мы снимаем буфер и возвращаем на место, и в этом возврате терялся порядок форматов. Из-за него текст, скопированный из Telegram, мог вставиться в Заметки нечитаемой кашей, а в другие программы нормально.
- «вк», «тг» и «vk» стали настоящими исключениями. Раньше они показывались в списке, но крестик на них ничего не менял: защита сидела глубже. Теперь удалили — снова переключаются, как интерфейс и обещает. Заодно латинское «vk» перестало превращаться в «мл»: на русской раскладке это миллилитр, и детектор честно его чинил.
- Окно записи комбинации стало вдвое компактнее. Оно раздувалось под длину подсказки, а подсказка к тому же умалчивала, что один модификатор тоже можно назначить: достаточно нажать и отпустить. Теперь про это написано, а ⌃ добавлен в готовые варианты.
- Проверка хоткея диктовки больше не зависает на экране. У окошка не было ни кнопки закрытия, ни Esc, ни времени жизни, и оно могло остаться висеть до перезапуска. Плюс оно не замечало модификаторы, то есть для настройки по умолчанию не могло завершиться в принципе.
- Плашка диктовки не исчезает посреди речи. Короткое сообщение поверх неё гасило её своим таймером, даже если запись продолжалась.
- Перевод выделенного больше не отбирает ⌃⌥T на macOS 13 и 14. Там его не существует (нужна macOS 15), но сочетание мы перехватывали и отвечали гудком. Теперь раздел честно говорит, что нужна система новее.
- История диктовок чистится по сроку, а не только при новой записи. Продиктовали один раз и ушли — запись всё равно исчезнет вовремя.
- Поле «Слово…» в исключениях переехало над списком. Раньше вы печатали внизу, а слово появлялось выше того места, куда вы смотрите.
- Раздел «Приватность» перестал недоговаривать. Он называл два повода выхода в сеть, а их четыре: не хватало как раз отправки отзыва, то есть единственного случая, когда наружу уходит кусок лога. На сайте было написано верно, в приложении нет.
- Капсулы клавиш в окне записи комбинации больше не теряются при смене темы. Заливка бралась один раз, а подпись перекрашивалась, и получалось тёмное по тёмному.
- Модель распознавания больше не занимает память впустую. Она грелась при запуске, чтобы первая диктовка не тормозила, но срок её жизни заводился только после первой диктовки. То есть у того, кто просто держит Keyboop запущенным, полтора гигабайта висели бессрочно. Теперь модель уходит из памяти после часа простоя в любом случае.
- У каждой модели появилась кнопка «i». Там написано, сколько она занимает на диске и в памяти, насколько быстрая и для чего годится. Раньше выбор выглядел как «какая точнее», а чем за это платят, человек узнавал из монитора системы.
0.3.12 Pika
- Светлая тема больше не разъезжается. Если оформление стоит «как в системе», окно теперь целиком светлое в светлой теме и целиком тёмное в тёмной, и переключение на лету не оставляет половин. Раньше правая часть оставалась тёмной, а подписи на ней почти не читались.
- Выбранный язык диктовки наконец работает. Он передавался не до конца, и Parakeet, решив что речь русская, писал кириллицей даже английские слова: «Did you commit and push» превращалось в «Дидю коммит энд пуш». Выбор языка такую подмену отсекает.
- Приложение скажет, если обновления перестали приходить. Проверка могла молча не доходить до сервера месяцами: мешают сеть, VPN, корпоративный фильтр или антивирус. Теперь в «Обновлениях» появляется честная строка и кнопка отправить отчёт.
- Escape с модификатором больше не отменяет диктовку. Тильда и Escape соседи, и промах мимо ⌥` гасил запись без объяснений. Обычный Escape отменяет как отменял.
- Отменённая диктовка больше не портит следующую. Пометка «только в историю» оставалась висеть, если запись не дошла до расшифровки, и доставалась уже следующей записи: человек диктовал в поле, а текст молча уезжал в историю.
0.3.11 Pika
- Двойное нажатие модификатора больше не срабатывает внутри чужого сочетания. Если у вас конверсия висит на двойном Shift, а в другой программе вы жмёте ⌘⇧⇧, Keyboop раньше считал это своим жестом и лез менять слово. Проверка «а не было ли других клавиш» видела только обычные клавиши, а ⌘ для неё был невидим.
- Keyboop больше не просит не тот доступ. Раньше он в любом случае писал «Нужен доступ (Accessibility)» и вёл в раздел Универсального доступа. Если там уже было разрешено, а не хватало Мониторинга ввода, человек видел галочку на месте и решал, что приложение сломано. Теперь называем ту дверь, в которую надо, и открываем именно её.
- Если Keyboop запущен не из «Программ», он это скажет. Доступы macOS привязывает к месту, откуда приложение работает: у копии в «Загрузках» они не держатся, а обновления не ставятся вовсе. Раньше мы предупреждали только про запуск прямо из образа, теперь про любое неподходящее место.
- В отчёт об ошибке добавилась строка о том, откуда приложение запущено. Без неё половину таких писем нечем было проверить. Полный путь не отправляется, только «Программы» или «не Программы»: в пути бывает ваше имя.
0.3.10 Pika
- Оформление приложения теперь можно выбрать. В «Общих» появился переключатель: как в системе, светлое или тёмное. По умолчанию как в системе, то есть Keyboop переоденется вместе с macOS. Раньше выбора не было вовсе, и в светлой теме окно настроек разъезжалось: боковое меню светлело, а правая часть оставалась тёмной.
- Окно настроек больше не уезжает вбок. На macOS 26 боковое меню стало плавающей панелью поверх содержимого, а мы считали, что оно по-прежнему отнимает ширину. Страницу можно было утащить в сторону, и текст прятался под меню.
- Подавление дребезга больше не съедает ⌘C и ⌘V. Фильтр смотрел только на клавишу и время, поэтому команду под зажатым ⌘ принимал за дребезг и глотал. Сочетания с ⌘, ⌃ и ⌥ теперь идут мимо него: пропущенная команда заметнее лишней буквы.
- Одиночная буква больше не меняется после клика мышью. Если поправить одну букву внутри уже написанного слова, мы видели только её и могли перевернуть обратно, отменив ваше же исправление. После переноса каретки одиночные буквы теперь не трогаем.
- Диктовка перестала занимать все производительные ядра. Потоки считались по всем ядрам сразу, и звуку в других программах оставались только экономичные, отсюда заикание музыки во время распознавания.
- Клавишу переключения стало видно в настройках. Строка называлась по выгоде, а не по действию, и люди не находили, где назначить себе Caps Lock. Теперь это «Менять раскладку своей клавишей», а если перенастроить клавишу не вышло, приложение честно говорит почему.
- У режима диктовки появилась подсказка. «Переключать» переименовано в «Нажимать», а под кнопкой «i» написано, чем два режима отличаются и когда какой удобнее.
- Потоковый набор убран из настроек. Он обещал показывать речь на плашке и этого не делал. Вернётся в 0.4, уже с показом.
0.3.8 Pika
- Программе можно назначить раскладку. В «Исключениях» рядом с каждой программой появился выбор языка: при переходе в неё Keyboop включит именно его. Переключаем на входе и не спорим дальше: если внутри вы сменили язык сами, так и оставим.
0.3.7 Pika
- Keyboop больше не может подвесить ввод. Перехват клавиатуры устроен так, что система ждёт нашего ответа на каждое нажатие, и если мы задумались, встаёт не только клавиатура, но и мышь. Раньше мы в такой ситуации бесконечно включались обратно и попадали в тот же капкан снова. Теперь после трёх срывов за минуту Keyboop снимает перехват сам и честно пишет об этом в меню, а через пять минут пробует вернуться: лучше временно не работать, чем держать компьютер в заложниках.
- Движок научился оживать сам. Если перехват умирал уже после запуска (отозвали и вернули доступ, система его закрыла), приложение молча переставало работать до ручного перезапуска, и догадаться об этом было нельзя. Теперь оно замечает и поднимается заново, с нарастающими паузами и потолком, чтобы не долбиться в закрытую дверь.
- Правка на лету больше не выключается на весь день. Одной случайной заминки системы хватало, чтобы отключить самый аккуратный способ замены до перезапуска. Теперь это пауза на три минуты, а насовсем только если срывы идут раз за разом.
- Автозамена сокращений теперь уважает исключения. Раньше сниппет разворачивался даже там, где Keyboop сознательно не трогает ничего: в терминале, в видеоредакторах. Системные настройки и поиск Spotlight добавлены в исключения по умолчанию, в первых вводят пароли, во втором наша замена промахивалась на символ из-за подсказок поиска. Обе записи видны в списке, их можно убрать.
- Модель распознавания речи проверяется по контрольной сумме. Раньше скачанный архив принимался на веру: оборванная загрузка или сбой на зеркале прошли бы насквозь, прямо в распаковку.
0.3.6 Pika
- Приглушение звука на время диктовки стало плавным: громкость съезжает вниз по мягкой кривой и так же мягко возвращается, без щелчка в начале и в конце. Уровень теперь задаётся ползунком, а не выбором из нескольких значений, потому что на слух его подбирают, а не выбирают.
- Whisper перестал подписывать вашу речь чужими титрами. На тишине и шуме он иногда выдавал обрывки из обучающих данных, вроде «Субтитры создавал…» или «Продолжение следует», и это уезжало прямо в текст. Теперь такие фразы отсекаются, но только когда стоят отдельным предложением: живую речь мы не режем, даже если вы правда сказали «спасибо за просмотр».
- Отменённую по Escape диктовку можно всё-таки сохранять. В поле по-прежнему не вставляется ничего, но текст распознаётся и ложится в историю, откуда его можно забрать. Выключено по умолчанию: Escape означает «не надо», и сохранять вопреки этому без вашего согласия мы не станем. Плашка «Распознаю» при этом не показывается: вы нажали отмену, и мелькать на экране после этого нечему.
- Потоковый набор переехал в бета-канал. Фича экспериментальная, и её место у тех, кто сам включил «Ставить бета-версии» и готов встретить свежую ошибку раньше остальных. Ваш выбор сохранён: включите бета-канал, и настройка вернётся на место.
0.3.5 Pika
- Кнопки в уведомлении об обновлении наконец нажимаются. Работал только крестик, поэтому обновиться из плашки было нельзя вовсе: у безрамочной кнопки macOS считает зону нажатия по нарисованному тексту, а не по всей цветной пилюле, и клик рядом с буквами уходил в пустоту. Теперь ловится вся площадь кнопки.
- Сама плашка стала аккуратнее: кнопки ниже и у́же, поля ровные со всех сторон, ширина подстраивается под текст, а не прибита к одной цифре. Раньше правая кнопка упиралась в край, а на английском справа зияла пустота.
- В меню «История голосового набора» встала выше «Скопировать последнюю диктовку».
0.3.4 Pika
- Починено ручное переключение слова у тех, кто назначил диктовке сочетание из двух модификаторов, например ⌥⌘. Оно переставало работать полностью: разбор хоткея конверсии до него просто не доходил. Спасибо @denis_kuprienko за точный отчёт, по нему это нашлось за минуту.
- Пока вы диктуете, звук можно приглушать. Музыка и видео перестают перекрикивать, а после диктовки громкость возвращается на прежнее место. Насколько убавлять, выбираете сами, вплоть до полной тишины. Если вы сами покрутите громкость во время диктовки, мы не станем спорить и оставим ваше значение. Выключено по умолчанию, включается в настройках голоса.
- Потоковый набор перестал молчать. Он показывает распознанное прямо на плашке «Слушаю», пока вы говорите, а в документ текст по-прежнему попадает один раз, в конце. Печатать по ходу речи мы намеренно не стали: модель переписывает уже сказанное, и в вашем тексте это выглядело бы как буквы, которые сами себя стирают. Заодно настройка теперь честно пишет, что ей нужен движок Parakeet: раньше на другом движке тумблер включался и не делал ничего.
- Обновление стало на одно нажатие короче. Раньше в уведомлении надо было нажать «Обновить», а потом ещё раз то же самое в отдельном окне. Теперь любая из двух кнопок ставит версию и перезапускает приложение сразу. Правая заодно включает автоматические обновления, чтобы это уведомление больше не появлялось.
0.3.3 Pika
- «Скопировать последнюю диктовку» теперь появляется в меню, только когда копировать действительно есть что. Пункт брал текст из истории диктовок, другого источника у него нет, поэтому при выключенной истории он был мёртвым, а после истечения срока хранения обещал то, чего уже не существует. Теперь он просто исчезает.
- Срок хранения истории перестал умалчивать о последствиях: под ним написано, что вместе с записями пропадает и копирование последней диктовки из меню.
- Первая диктовка после смены движка в настройках больше не теряется. Parakeet при первом запуске готовит модель под нейродвижок Mac, и это занимает больше полуминуты, а ждали мы пятнадцать секунд и выбрасывали готовый результат. Теперь новый движок прогревается сразу при выборе, а ожидание считается честно.
- В форме «Сообщить о проблеме» появился второй способ отправки, через Telegram. Отчёт сохраняется файлом, открывается чат с ботом, дальше вы отправляете сами. Видно ровно то, что уходит, и ничего не уходит без вашего участия. Прежняя кнопка осталась на месте.
- Keyboop больше не трогает текст в собственных окнах. Раньше он обрабатывал форму отзыва и настройки как любое чужое приложение: копил слово и на границе мог его «починить», стерев набранное. Отсюда и жалобы, что в форме обратной связи не видно, что печатаешь.
- Появилось исправление двух заглавных подряд: «КОгда» становится «Когда». Так выходит, когда Shift отпущен на миг позже, чем нажата вторая буква. Слова целиком заглавными, вроде ГОСТ и USB, не трогаются. Выключено по умолчанию, включается в настройках переключения: это правка самого текста, а не раскладки.
- Имя версии теперь видно везде, где показан её номер: в меню, внизу списка настроек и в «О программе».
- Меню в строке меню обновляется в момент открытия. Раньше список микрофонов и предупреждения о неполадках показывали состояние на момент последней смены раскладки.
0.3.2 Pika
- В меню появился пункт «Скопировать последнюю диктовку». Раньше за последней расшифровкой приходилось открывать окно истории, теперь она уезжает в буфер обмена одним нажатием. Если на историю поставлен пароль, он спросится и здесь: отдавать последнюю фразу мимо пароля было бы странно.
- Меню перебрано. Язык распознавания уехал в настройки, где он и так был, «Проверить обновления» и «Сообщить о проблеме» встали рядом внизу, и у каждого пункта теперь свой значок.
- Окно настроек больше не разворачивается на весь экран. Зелёная кнопка вместо этого подгоняет его по высоте экрана, что для длинного списка настроек куда полезнее.
- Настройка языка распознавания перестала молчать о подвохе. Если выбрать конкретный язык, речь на другом распознаётся заметно хуже, а иногда не распознаётся совсем. Теперь это написано прямо под настройкой, а «Авто» честно назван тем, что понимает смешанную речь.
- Обновления проверяются раз в два часа вместо раза в сутки. И если с обновлением что-то пойдёт не так, теперь это можно разобрать: приложение записывает в свой лог, что именно ответил сервер обновлений. Раньше там было пусто, и на жалобу «у меня не обновляется» ответить было нечем.
- У версий появились имена. Текущее видно в шапке меню, меняться оно будет раз в десяток версий.
0.3.1 Pika
- Язык больше не переключается сам после первой заглавной буквы. Если мгновенная смена языка висела на Shift, могло получаться «Cнова» вместо «Снова»: первая буква в одной раскладке, остальные в другой. Причина не в тексте, а в том, что macOS иногда прячет от программ нажатия клавиш (это защита полей ввода, и её умеет залипать чужой процесс). Модификаторы при этом видны, обычные клавиши нет, и мы принимали «Shift нажали и отпустили, а между ними ничего» за осознанный жест, хотя между ними была заглавная буква. Теперь, когда клавиши от нас скрыты, жесты по модификаторам просто молчат.
- Заодно Shift больше нельзя назначить на мгновенную смену языка, а у кого он уже стоял, функция выключена. Shift нажимают перед каждой заглавной, и держать на нём переключение языка означает подписаться на ложные срабатывания.
- Хоткей диктовки наконец принимает сочетания из нескольких клавиш. Раньше при попытке задать ⌃⌥ записывалась только одна из них, а кнопка «Назначить» оставалась серой. Caps Lock через HyperKey теперь тоже подходит. Спасибо за скринкаст, по нему это нашлось за минуту.
- Отправка по Enter стала безопаснее. Мы доделывали слишком много работы прямо в момент нажатия, и в худших случаях система за это могла на время отключить нас от клавиатуры, теряя набранное. Лишнее убрано в сторону.
- Мелочи: в отчёт об ошибке больше не сыплются десятки одинаковых строк про смену микрофона, а почта для связи теперь одна и та же везде, hi@keyboop.com.
0.3.0 Pika
- Настройки наконец разложены по полкам. Раньше в голосовом наборе было двенадцать разных строк подряд в одной куче: микрофон стоял в начале, а его же прогрев где-то в середине, между чужими пунктами. Теперь всё собрано по смыслу, а параметры, которые нужны не всем, прячутся под своими переключателями и выезжают, только когда вы их включаете.
- У пунктов появились подсказки. Кружок с буквой «i» рядом с настройкой открывает нормальное объяснение: что именно произойдёт, чем это грозит и когда это стоит включать. Раньше объяснение обрывалось на середине, потому что не влезало по ширине.
- Светлая тема перестала выглядеть вывернутой наизнанку. У macOS страница светлая, а блоки настроек чуть темнее; у нас было ровно наоборот. В тёмной теме всё совпадало, поэтому мы это годами не замечали. Спасибо тому, кто показал скриншотом.
- Окно настроек стало шире, а подписи под пунктами перестали обрезаться на полуслове.
- Диктовка научилась подстраиваться под то, куда вы пишете. Можно не начинать с заглавной буквы, не ставить точку в конце и отправлять сообщение сразу после диктовки. Отправку можно повесить на Enter или на ⌘Enter, потому что в разных программах это разные клавиши.
- И починка, которую поймал Стас (привет!). Если выделить слово мышью и нажать хоткей, соседнее слово могло исчезнуть вместе с пробелом. Причина оказалась обидной: после клика мы забывали, что выделение вообще есть, и стирали ровно столько символов, сколько было в выделенном слове, но начиная не оттуда.
- Плюс мелочи: звук записи больше не пропадает при быстром наборе, микрофон следует за тем, что выбрано в системе (AirPods наконец подхватываются), а логотип не появляется в строке меню, если вы его выключили.
0.2.70
- Это обновление почти целиком собрано по вашим письмам. Я разобрал всё, что пришло через форму отзыва, сгруппировал по симптомам и починил то, что чинилось. Ниже честно: что было сломано и как это выглядело с вашей стороны.
- Самое неприятное. У части из вас переставал работать пробел, а иногда и другие клавиши, причём сразу во всех программах, и лечилось это только выходом из Keyboop. Виноват был Keyboop: он перехватывал отпускание клавиши, нажатие которой не трогал, и система оставалась в уверенности, что клавиша всё ещё зажата. Теперь правило жёсткое: перехватили нажатие, значит перехватим и отпускание. Не перехватили, значит не трогаем ни то, ни другое.
- Мгновенная смена языка работала в одну сторону. Уходило в русский и обратно не возвращалось. Оказалось, латинскую раскладку я искал по признаку «английская», а у ABC-AZERTY, QWERTZ, испанской, чешской и польской первым языком записан вовсе не английский. Теперь ищем по способности набирать латиницу, а не по названию.
- Назначение своей комбинации переехало в отдельное окно. Видно, что вы нажимаете, прямо в момент нажатия. Если сочетание занято системой или уже занято другой функцией Keyboop, окно скажет об этом на месте, а не выкинет поверх себя предупреждение, которое перекрывало всё и обрывало запись. И оно больше не закрывается само, пока вы перебираете варианты.
- Хоткей из одного модификатора больше не срабатывает внутри чужого сочетания. Кто работает с Windows-машиной по удалённому доступу и жмёт там Alt+Shift, у того Keyboop заодно менял язык на своей стороне.
- Автообновления чинились. После первой скачанной версии проверки прекращались совсем, то есть приложение тихо застревало на ней навсегда. Если вы давно не видели предложения обновиться, дело было в этом.
- Keyboop научился признаваться, что не работает. Раньше он мог молчать: система забрала клавиатуру в защищённый режим, доступ к клавиатуре отозвали, микрофон не отдаёт звук. Снаружи это выглядело как «просто перестало работать». Теперь причина написана прямо в меню.
- Ещё по мелочи: окно «Что нового» больше не падает при втором открытии, а форма отзыва теперь показывает, что письмо ушло, и ждёт, пока вы сами её закроете, а не исчезает через секунду.
0.2.69
- Ваши предложения доезжают до сборки быстрее, чем вы думаете: почти всё в этом обновлении пришло из ваших писем. Пишете — я беру в работу сразу, а не «когда-нибудь в бэклоге».
- Появились «Спорные слова» — раздел для тех случаев, где Keyboop честно не может угадать. Есть слова, которые набираются одними и теми же клавишами и существуют в обоих языках: «vs» и «мы», «here» и «руку», «gj» и «по». Кто-то пишет «versus» каждый день, кто-то — «мы» в каждом втором предложении, и правильного ответа на всех не существует. Теперь у каждой такой пары три положения: оставить английское, оставить русское или (по умолчанию) не вмешиваться и решать по контексту. Настройки → Исключения → «Спорные слова».
- В строке меню теперь может жить флаг языка — как в Punto. Тем, кто привык коситься в правый верхний угол, так быстрее: Настройки → Общие → значок в строке меню → «Флаг языка».
- В голосовом наборе перестали вываливать на вас весь список моделей. Сверху — две, которыми пользуется большинство: Parakeet за скорость и Whisper Turbo за пунктуацию. Остальные никуда не делись, они за ссылкой «Другие модели».
- В «О программе» комбинации клавиш перестали врать. Раньше там был зашит текст с сочетаниями по умолчанию — и если вы их поменяли, описание жило своей жизнью. Теперь показывает ваши.
- Мелочь про мгновенное переключение языка: пока сама функция выключена, комбинацию к ней больше нельзя выбрать. Незачем настраивать то, что не работает.
- И последнее, совсем коротко. Несколько человек спросили, как автора можно поблагодарить. Я подумал — почему бы и нет, и сделал страницу: keyboop.com/tips. Приложение было и остаётся бесплатным, платных функций там не появится; это просто способ сказать «работает, спасибо». В настройках внизу теперь есть тихая ссылка туда же.
0.2.68
- Исправление на лету стало по-настоящему мгновенным. Раньше слово чинилось с небольшой задержкой, и при быстром наборе могло порваться: «yнормаmyj» вместо «нормально». Мы провели исследование и нашли решение — теперь замена происходит ровно в тот момент, когда вы нажимаете клавишу, и ваш следующий символ физически не может вклиниться в неё. Не «стало реже», а «больше не может произойти». Заодно раскладка чинится на лету снова по умолчанию — ради этого всё и переделывалось.
- Своя комбинация клавиш наконец назначается. Некоторые из вас писали, что нажимаете «назначить свою» — и ничего не происходит. Виноваты были мы: Keyboop перехватывал нажатие раньше, чем оно доходило до настроек, и вместо записи запускал старое действие. Теперь на время записи он вежливо отходит в сторону.
- И больше нельзя случайно занять ⌘C. Раньше это удавалось — после чего каждое копирование запускало перевод, а перевод снова просил копию: получался круг с бесконечным звуком. Системные сочетания (⌘C, ⌘V, ⌘Z и родня) теперь не принимаются, а Keyboop объясняет, почему и что нажать вместо них. Сам круг мы тоже разорвали — на уровне механики, для любых хоткеев.
- В звуках переключения появился свой — короткий двойной, сухой, без звона. По умолчанию всё как было (системный Pop), но если он вам примелькался, наш лежит первым в списке: Настройки → Общие → звук.
- Первый запуск больше не спорит сам с собой: окно приветствия не выскакивает поверх системного запроса доступа. Сначала знакомство, доступ — по кнопке, когда вы к нему готовы.
- «Вы» наконец чинится. Слово «ds» мы пропускали, потому что в английском словаре есть такое сокращение — а это, между прочим, основное вежливое обращение в русском (спасибо тому, кто написал). Заодно починили «при». Правило теперь простое: частое русское слово важнее нишевой английской аббревиатуры, а если вам нужно наоборот — добавьте слово в исключения, они всегда сильнее наших списков.
- В форме обратной связи подписали, зачем оставлять телеграм: без него письмо прочитаю, но ответить будет некуда. С ним — напишу лично, что починил.
- Мелочь в настройках: строка «Назначить свою…» теперь на месте всегда, даже когда своя комбинация уже назначена (раньше было непонятно, куда нажать, чтобы сменить).
0.2.67
- Срочная починка: у части людей приложение вообще не запускалось. Значок не появлялся, окно не открывалось, двойной клик будто уходил в пустоту — и никакого сообщения об ошибке. Виноваты мы: библиотека распознавания собралась с расчётом на самую свежую macOS и на выходе требовала деталь, которой в macOS 14 (Sonoma) просто нет. Система молча закрывала приложение ещё до первой строки нашего кода — поэтому и сказать было нечему. Пересобрали правильно: теперь запускается на Sonoma, как и обещали.
- Спасибо тем, кто не поленился написать и прислать вывод из Терминала — по одной строчке ошибки нашли причину за полчаса. Без вас искали бы неделю.
0.2.66
- День большой охоты. Со вчерашнего вечера переключение могло фантомить: слово перепечатывалось само в себя со звуком, а иногда конверсия просто молчала. Мы разобрали это до винтиков — и нашли не свой баг, а устройство macOS: перевод нажатия, который система кладёт в событие, и перевод, которым рисует буквы само приложение, — два разных перевода на двух разных часах. После смены раскладки первый отстаёт на секунды. Теперь Keyboop не спрашивает систему вовсе: раскладку он помнит сам и переводит клавиши так же, как это делает приложение на экране. По нашим тестам фантомы ушли.
- «Чинить на лету» стало опцией, а не умолчанием. Перепечатка слова прямо под быстрые пальцы усиливала любую мелкую рассинхронизацию до слышимой. Конверсия по пробелу и Enter — как работала, так и работает; кому нравится мид-слово — тумблер на месте, и он теперь срабатывает на паузе набора, а не наперегонки с вами.
- Мгновенное переключение языка (бета) довели до ума: 🌐 действительно отключает системное действие на время режима (и честно возвращает при выключении или выходе), а Caps Lock переключает язык, не зажигая капс — старым способом это было невозможно в принципе, пришлось спуститься на уровень ниже.
- Страховка от чужих глюков: если что-то в системе держит «безопасный ввод пароля» (бывает — браузер или диалог не отпускают), Keyboop слеп не по своей воле. Теперь он хотя бы записывает в служебный журнал, кто именно держал и сколько, — по «Сообщить о проблеме…» мы это увидим.
- Диалоги обновлений заговорили по-русски. «You're up to date» в русском интерфейсе смущало — теперь «У вас последняя версия», как и положено.
0.2.65
- Мгновенная смена языка — по любой удобной комбинации (бета). Системное переключение раскладки всегда идёт с задержкой: macOS ждёт, не окажется ли это началом комбинации. Мы не ждём — меняем язык сразу, как только клавишу отпустили. Включается в Настройках → Переключение, по умолчанию выключено. Комбинацию выбираете сами: 🌐 (на новых маках), ⌘Space, ⌃Space, Caps Lock — или записываете свою.
- Ничего не подерётся за одно нажатие. Если выбранная комбинация уже занята в самой системе (например, ⌘Space открывает Spotlight), мы честно предупредим, что именно перестанет работать, — и перехватим клавишу так, что второе действие не сработает. Выключите тумблер — и всё вернётся как было: системные настройки мы не трогаем вообще. А если комбинация уже занята другой функцией Keyboop, просто не дадим её назначить.
- Клавишу 🌐 можно повесить и на ручное исправление слова — она появилась в списке горячих клавиш вместе с привычными ⌥⇧ и двойным Shift.
- Мелочь, которая раздражала: при выключенном авто-переключении тумблер «чинить на лету» теперь тоже гаснет и становится недоступным — он ведь всё равно не работал бы. Включите авто обратно — вернётся ровно таким, каким вы его оставили.
0.2.64
- Работа над ошибками. Честно: в такой ответственный день мы немного перемудрили — в сегодняшних версиях переключение раскладки могло чудить: лишний звук конверсии на уже правильном слове, а местами слово не переключалось вовсе. Простите. Ловили весь вечер — нашли гонку в обработке раскладки (кэш обновлялся по запаздывающему системному уведомлению, а мы переключаем раскладку при каждой конверсии), закрыли, и по нашим тестам всё снова стабильно.
- Чтобы такое больше не тянулось вечерами, движок теперь ведёт подробный служебный дневник своих решений: кто сконвертировал, кто промолчал и почему. Ни текста, ни содержимого — только события. Если что-то ещё заметите, «Сообщить о проблеме…» привезёт разгадку вместе с жалобой.
- Модели распознавания теперь качаются с нашего зеркала keyboop.com — сервер в Москве, так что «застряло на 2%» уходит в историю. Не получилось с зеркала — сами тихо переключимся на прежний источник. Целостность файлов проверяется как и раньше.
- Значок в строке меню — теперь по-настоящему: выбор с живым превью (фирменный знак / клавиатура / совсем скрыть) плюс отдельная галка «показывать язык (RU/EN)». Любая комбинация. Спрятали всё — настройки откроются повторным запуском Keyboop из «Программ».
- Пояснили перевод: он заменяет ВАШ набранный текст в поле ввода — в письме, чате, заметке. Текст на чужой веб-странице ему заменить негде — для этого есть переводчик браузера.
0.2.63
- Keyboop научился жить на компьютерах Intel и на более старых версиях macOS. Раньше приложение требовало Mac на Apple Silicon и macOS 14 — и у части людей просто не запускалось с сухим «эта версия не подходит». Теперь на Intel-маках (от macOS 13) работает переключение раскладки, автозамена и голосовой набор через Whisper. Единственное, чего там нет, — движок Parakeet: он живёт на нейропроцессоре Apple, которого в Intel-маках не существует. Распознавание на Intel идёт на обычном процессоре: медленнее и чуть теплее, поэтому в настройках подскажем выбрать модель полегче.
- Значок в строке меню теперь настраивается. В «Настройки → Общие» появился выбор: фирменный знак Keyboop, буква K, только индикатор языка (RU/EN), классическая клавиатура — или совсем спрятать значок, если он мешает. Спрятали? Настройки всё равно под рукой: просто запустите Keyboop ещё раз из папки «Программы», и работающая копия сама откроет окно настроек.
0.2.62
- Диктовка снова стартует мгновенно — всегда. Причин у «задержки в полсекунды-секунду» оказалось две. Первая: зажав хоткей, Keyboop честно ждал, пока крупная модель распознавания поднимется с диска (у Large V3 Turbo — около секунды), и только потом включал микрофон. Теперь запись начинается сразу, а модель догружается параллельно и успевает, пока ты говоришь.
- Вторая причина тоньше: крупная модель сама создавала то давление на память, по которому мы её же и выгружали — карусель «выгрузили-загрузили» каждые полчаса, и каждая первая диктовка после неё платила за перезагрузку. Теперь при активной работе модель остаётся в памяти; выгружаем её только в простое или когда системе действительно критично.
- Сторож распознавания научился учитывать холодную загрузку модели — долгая первая загрузка больше не может быть принята за зависание. И в образе установки теперь первой строкой написаны требования (Apple Silicon, macOS 14+) — чтобы никаких сюрпризов после скачивания.
0.2.61
- Сегодня я впервые рассказал о Keyboop большой аудитории — и быстро понял, что хочу слышать вас, а не догадываться. Поэтому в меню у часов появилось «Сообщить о проблеме…» (та же форма — за кнопкой в «О программе»): пишешь, что сломалось, что бесит или чего не хватает, по желанию оставляешь контакт для ответа. Галочка прикладывает диагностику — версия, настройки, служебный лог; текста ввода и речи там нет, и всё это можно посмотреть глазами до отправки. Мне такие письма прилетают мгновенно — сегодняшние фиксы родились ровно из ваших сообщений. Без сети — фолбэк на почту. Делитесь опытом: Keyboop растёт на ваших отзывах, а не на фокус-группах.
- И первая идея уже приехала из комментариев: на историю диктовок теперь можно повесить пароль. По умолчанию выключено; включается в Настройках → Голосовой набор, рядом с историей. Пароль спрашивается при открытии окна истории — это защита от любопытных глаз за твоим же Mac (на диске история и так зашифрована). Восстановления пароля нет — есть честная кнопка «стереть историю и снять пароль». Так и задумано.
0.2.60
- Переписали захват микрофона. Самая коварная беда звучала так: «выбран внешний микрофон, подключены AirPods — и тишина»: macOS втихую открывала не то устройство, а формат записи «протухал» при смене наушников. Теперь Keyboop прибивает запись к выбранному микрофону напрямую и сам объявляет нужный формат — капризные связки устройств больше не превращаются в молчание, а старт диктовки стал быстрее.
- Если микрофон всё же отдаёт тишину (устройство уснуло, система приглушила) — Keyboop больше не молчит в ответ: сам пробует системный вход, затем встроенный микрофон, а если не помогло — честно пишет на экране, что случилось и куда посмотреть. Раньше это выглядело как «меня не слышит», без объяснений.
- «Распознаю» больше не может зависнуть навечно. У распознавания появился сторож: если движок застрял, плашка убирается, Keyboop сухо признаётся «распознавание застряло — бросил» и готов к новой попытке. Заодно выход из приложения больше не блокируется зависшим распознаванием — перезагружать Mac не придётся (спасибо за репорт!).
- Поля паролей неприкосновенны. Если во время диктовки фокус вдруг украл системный диалог с паролем, надиктованное больше не печатается в него — текст сохраняется в истории, а на экране появляется подсказка. И сама «связка ключей» больше никогда не спросит пароль от имени Keyboop: ключ истории обслуживается без диалогов.
- Переключение раскладки стало устойчивее под нагрузкой: перехват клавиш заметно облегчили (тяжёлая работа ушла с горячего пути в фон), так что системе реже хочется его отключать в моменты, когда Mac занят.
- Живое исправление — чинить слово прямо во время набора, не дожидаясь пробела — теперь включено по умолчанию. Не понравится — выключается в настройках одним тумблером.
- Мелочи со вкусом: в меню у часов теперь видна версия приложения; новости переехали в телеграм-канал @keyboop (кнопка — в «О программе»); знакомство при первом запуске научилось рассказывать про голосовой набор и показывает настоящие хоткеи.
0.2.59
- Починили вчерашнюю оплошность. В 0.2.58 мы научили Keyboop отдавать полтора гигабайта памяти после простоя — но поставили таймер на 5 минут, и при обычном ритме «диктовка каждые полчаса» модель перегружалась почти на каждую сессию: диктовка вызывалась заметно дольше. Теперь по-умному: модель выгружается тогда, когда системе реально не хватает памяти (macOS сама сообщает об этом), плюс страховка на действительно долгий простой — час, а не пять минут. И память отдаём, и скорость не страдает.
- Убрали редкий вылет при выходе из приложения. Если закрыть Keyboop сразу после диктовки (пока модель ещё в памяти), внутренняя проверка движка распознавания могла уронить приложение прямо на выходе. Теперь модель аккуратно освобождается перед завершением — и проверке не на что ругаться.
0.2.58
- Keyboop перестал держать полтора гигабайта памяти просто так. Модель распознавания речи загружалась один раз и оставалась в памяти до перезапуска приложения — фоновая утилита в строке меню занимала под два гигабайта и давила на память всей системы, отчего подтормаживал не только Keyboop. Теперь модель выгружается после пяти минут простоя и подгружается снова, когда понадобится: файл остаётся в кэше системы, так что задержки почти не видно. Если памяти много и дороже каждая миллисекунда — поведение настраивается.
- Появился счётчик надиктованного — рядом с «Расколдовано кракозябр» в разделе «О программе». Видно, сколько символов и слов вы наговорили голосом за всё время. Чисто для удовольствия.
- Настройки стали спокойнее внутри. В macOS 26 системные переключатели и списки переехали на SwiftUI, и каждая перерисовка раздела теперь обходится дороже. Мы убрали лишние: раздел «Голос» больше не пересобирается при каждом возврате к окну, а только когда на диске реально что-то изменилось. Заодно это снижает риск редких вылетов, которые мы сейчас расследуем.
- Добавили тихую диагностику: если система на мгновение отключает наш перехват клавиатуры под нагрузкой (это её штатное поведение, когда всё занято), теперь это видно в логе. Так мы наконец поймаем редкий случай «раскладка не переключилась, хотя должна была».
0.2.57
- Настройки теперь честнее показывают, какие модели распознавания реально лежат на диске. Если удалить файл модели вручную (через Finder, чтобы освободить место), Keyboop раньше мог продолжать показывать «Установлена» — статус строился один раз и не пересчитывался. Теперь он освежается при каждом открытии окна настроек и при возврате к нему, так что «Установлена / Скачать» всегда соответствует реальности. Сама диктовка и раньше не путалась — честно проверяла файл и предлагала скачать, если его нет; подтянулась именно надпись.
0.2.56
- Enter больше не обгоняет исправление. Раньше было так: набрал «nbgf», нажал Enter — мессенджер отправляет сообщение мгновенно, а исправление приходит на долю секунды позже, в уже пустую строку. В чат улетала абракадабра, а исправленное слово сиротливо оставалось в поле ввода (спасибо за скриншот, Женя!). Теперь Keyboop придерживает Enter на пару десятых, чинит слово прямо в строке — и отпускает. В чат уходит уже «типа», а не «nbgf». Работает и в редакторах: сначала починка, потом перенос строки. Если слово в порядке — Enter проходит как обычно, без малейшей задержки.
0.2.55
- Whisper перестал глотать знаки препинания. Прошлая диагностика (0.2.52) показала: примерно каждая третья диктовка на Whisper приходила сплошняком, без единого знака — причём аудио чистое, так что дело не в тихом хвосте, как думали сперва. Whisper — авторегрессионная модель и на «холодном» старте иногда залипает в режиме без пунктуации. Дали ему короткую натуральную фразу-затравку со знаками (вы её не видите — она лишь настраивает модель на «пиши со знаками»), подобранную под язык распознавания. Знаки вернулись. Parakeet эта правка не касается — у него с пунктуацией и так был порядок.
0.2.54
- Починили периодические подтормаживания. В прошлой версии (добавили переключение микрофона на лету) в путь старта диктовки просочилась тяжёлая работа с аудио-устройствами, а реакция на смену входа могла зациклиться — отсюда «диктовка началась не сразу» и редкие задержки, порой заметные и на переключении раскладки. Убрали тяжёлую часть с горячего пути (теперь она в фоне) и поставили предохранитель от зацикливания. Снова шустро.
0.2.53
- Диктовка больше не глохнет при подключении наушников. Воткнул EarPods или подключил гарнитуру — macOS переключает микрофон, а запись раньше молча оставалась на старом устройстве (или вовсе останавливалась) — получалась тишина. Теперь Keyboop замечает смену входа: в простое — тихо пересаживается на новое устройство, а прямо во время записи — переключается на лету, не теряя уже надиктованное. В лог теперь пишется, с какого микрофона идёт запись.
- Про значок «Консоль» в Доке: кнопка «Системный лог» открывает лог-файл в штатной macOS-программе «Консоль» — это нормально, не вирус. Подписали это прямо в настройках, чтобы не пугало.
0.2.52
- Разбираемся, почему диктовка иногда приходит «сплошняком», без единого знака препинания (бывает на обеих моделях). Изучили причину по источникам (у Whisper это авторегрессионный «режим без пунктуации» на тихих хвостах, у Parakeet — своя механика) и добавили тихую диагностику в лог — только счётчики, без текста, — чтобы точно поймать, когда и почему это случается. Само лечение будет следующим шагом.
0.2.51
- В настройках голосового набора честно объяснили разницу между движками распознавания. Parakeet (по умолчанию) — самый быстрый: текст появляется почти сразу, работает на Neural Engine, но пунктуацию иногда ставит вольно. Whisper Turbo — аккуратнее с пунктуацией и связностью, но на 1–4 секунды медленнее. Выбирай по вкусу: скорость или чистота текста. (Мы проверили это по источникам — разница реальная и упирается в архитектуру движков.)
0.2.50
- Технический лог больше не разрастается без предела. Keyboop ведёт локальный служебный лог (без текста ввода, речи и перевода — только счётчики и события), и за месяцы использования файл мог раздуться и занимать место на диске. Теперь он держится в пределах ~1 МБ: при переполнении самые старые строки удаляются, а свежие (которые и нужны, если что-то чинить) остаются. Уже раздувшийся лог подчистится сам при первом запуске этой версии.
0.2.49
- При старте вместе с системой (автозагрузка) Keyboop больше не открывает окно настроек — тихо садится в строку меню, как и положено фоновому помощнику. А если запустить приложение вручную (из Finder или Spotlight) — настройки откроются: так до них можно добраться, даже если потерял значок в тесной строке меню. Различаем по тому, КАК система запустила приложение (логин или твой двойной клик), а не по флагу автозапуска.
0.2.48
- «не» теперь чинится даже после латинского слова. Раньше после английского слова или бренда «yt» бережно оставляли как есть — вдруг это «yt» = YouTube. Но «не» — одно из самых частых слов в русском, и «instagram не работает», набранное в неверной раскладке, застревало как «instagram yt работает». Теперь «yt» всегда превращается в «не». (Если ты правда имел в виду английское «yt» — верни хоткеем.)
0.2.47
- Починили зависание при удалении модели распознавания. В Настройки → Голосовой набор нажатие на корзину у модели могло намертво подвесить окно — вплоть до «Завершить принудительно». Причина: тяжёлая работа (освобождение модели и удаление ~465 МБ файлов) шла в главном потоке и морозила интерфейс. Теперь удаление уходит в фон, окно остаётся живым, а кнопка на время показывает «Удаляю…».
0.2.46
- Языковой пакет для перевода теперь скачивается прямо в приложении. Раньше надо было уйти в Системные настройки и догадаться, куда там нажать, — совсем неочевидно. Теперь в Настройки → Перевод есть кнопка «Скачать»: пакет RU↔EN загрузится на месте (система разок спросит подтверждение), окно закроется само.
- Нажал перевод, а пакет ещё не установлен — теперь всплывает подсказка с кнопкой «Скачать» прямо в ней. Один тап — и перевод настроен, без похода в дебри системных настроек. И, разумеется, никакой «тихой» конвертации раскладки вместо перевода.
- Кнопка «Системный лог» переехала из «Голосового набора» в «О программе», к «Написать разработчику». Лог всегда был про всё приложение, а не только про диктовку, — теперь он там, где его логично искать.
- Всплывающие плашки (уведомление об обновлении, «запомнил слово», подсказки) больше не сливаются в светлой теме системы. Фон у них всегда тёмный, а цвет текста по ошибке брался из системной темы — в светлой выходил тёмным по тёмному, еле читаемо. Теперь плашки читаются при любой теме macOS.
0.2.45
- Хоткей на клавише «`» теперь срабатывает на любой клавиатуре — и ANSI (US), и ISO (европейские/российские). На ISO эта клавиша физически в другом месте и с другим кодом: раньше из-за этого хоткей мог не сработать, а вместо тильды набирался «§». Теперь распознаём обе.
- Перевод: если для него не установлен языковой пакет, честно подсказываем «нужен языковой пакет → Настройки → Перевод», а не молчим. И звук подтверждения теперь звучит только когда перевод реально случился.
0.2.44
- Плашка «Слушаю» теперь появляется у текстового курсора, а не у курсора мыши — в нативных полях (Notes, Mail, Pages, поля Safari). В web- и Electron-приложениях (Chrome, VS Code, Slack), где macOS не отдаёт позицию курсора, она остаётся у мыши. Заодно плашка стала по ширине текста, а не наугад, с живым waveform по громкости голоса.
- Перевод теперь описан в онбординге: как это работает (выдели текст → нажми хоткей), можно попробовать прямо в песочнице. И честно показано, что нужен одноразовый языковой пакет — его ставит система, кнопкой; без него переводить нечем.
- Подпись хоткея больше не путает: клавиша «`» теперь так и подписана, а не буквой «ё» (её на Mac-клавиатуре там нет — она на «\»). Раньше при записи на русской раскладке подпись бралась не с той стороны.
- Запускаешь Keyboop, когда он уже работает — просто открываются настройки (и иконка появляется в Доке, чтобы вернуться в приложение, если в строке меню тесно), а не сообщение «уже запущено». Закрыл окно — иконка из Дока уходит.
- Кнопку «Показать лог» переименовали в «Системный лог» — чтобы не путать её с историей диктовки.
- В строке меню во время диктовки — наш значок-клавиша с живым waveform по громкости голоса, вместо микрофона с точкой.
- Провели полный аудит безопасности и подтянули приватность: ключ шифрования истории диктовки переехал в Keychain (а не в файле рядом), скачанные модели проверяются по контрольной сумме, а в полях пароля Keyboop не читает выделение. Ничего о тебе по-прежнему не покидает Mac.
0.2.43
- Перестали превращать окончание слова в кашу. Если поправить хвост слова (стереть пару букв, набрать заново), а в этот момент мигнёт фокус (уведомление, баннер) — Keyboop больше не «забывает» начало слова и не дёргает раскладку у одного окончания (был баг: «…ть» вдруг становилось «…nm»). Теперь короткие русские окончания (ть, ся, сь, ет) не уезжают в латиницу, а английские слова, набранные на русской раскладке (the, so, no, can…), по-прежнему чинятся.
0.2.42
- Починили «переключилось только окончание». Если набрать слово, поправить опечатку в конце (стереть пару букв и набрать заново) и продолжить — раньше слово могло застрять наполовину в одной раскладке, наполовину в другой («привtn», «приdет»). Теперь Keyboop собирает такие слова целиком: на пробеле он видит всё слово и, если его конверсия даёт настоящее слово из словаря, чинит целиком. Намеренно двуязычные штуки (API-ключ, C++код, x-ray) при этом не трогаются — они не складываются в словарное слово, значит так и задумано.
0.2.41
- Раскладка больше не «залипает» в быстром циклическом переключении. В редких случаях авто-переключение могло войти в петлю и замелькать туда-сюда (RU↔EN) десятки раз в секунду. Добавили предохранитель: как только Keyboop замечает такую осцилляцию, он на пару секунд замораживает авто-переключение и разрывает цикл. Ручное переключение по хоткею работает как обычно.
0.2.40
- Рядом с хоткеем диктовки появилась кнопка «Проверить». Нажми — приложение попросит нажать хоткей и покажет, что реально поймал tap и совпадает ли с тем, что записано в настройках. Помогает понять, почему хоткей «не срабатывает».
0.2.39
- Онбординг теперь сразу рекомендует Parakeet по имени: объясняет, что модель офлайн и не зацикливается на длинных фразах. Кнопка скачивания стала заметнее — акцентный цвет. Просто нажми один раз, дальше всё на твоём Mac.
- Горячая клавиша переключения в режиме «клавиша + модификатор» (например, ⌥`) больше не печатает случайный символ в поле после переключения раскладки.
0.2.38
- Диктовка на длинных текстах больше не зацикливается. Whisper иногда повторял одно слово или фразу много раз подряд — вернули штатный механизм, который такие срывы распознаёт и переписывает. (А движок по умолчанию, Parakeet, этим вообще не страдает — он другой архитектуры.)
- Автозамена: теперь можно выбрать, по каким клавишам разворачивать сокращение — Пробел, Enter, Tab (любая комбинация). Снимешь все галочки — автозамена отключена, так и подписано.
- Диктовка для новых пользователей теперь по умолчанию «переключение»: нажал — начал, нажал ещё — остановил. Кто уже настроил под себя — не трогаем. Поменять можно в Настройки → Голосовой набор.
- Иконка Keyboop теперь появляется в Доке, пока открыты настройки — чтобы вернуться в приложение, даже если в строке меню тесно и нашей иконки не видно.
- Онбординг: системный запрос микрофона больше не выскакивает поверх приветствия — анимацию видно полностью.
- Если запущен Punto Switcher — предупреждаем о конфликте (он тоже переключает раскладку) и предлагаем его закрыть прямо из Keyboop.
- Final Cut: если установлены две версии, теперь в исключения попадают обе (раньше цеплялась только одна).
0.2.37
- Починили редактор автозамены. Кнопка удаления (корзина) больше не прячется за правым краем — всё умещается в окне, без горизонтального скролла. Ячейки теперь редактируются по первому клику (раньше нужен был двойной). Введённое сохраняется при любом действии — по Tab, по клику в другую ячейку, не только по Enter. И добавление строки снизу больше не глючит (текст не пропадает).
0.2.36
- Перестали «переключать» слово, когда правишь опечатку. Если стереть букву внутри слова и допечатать заново, Keyboop больше не дёргает раскладку посреди слова (раньше из-за этого хвост слова мог уехать в чужую раскладку, типа «пройдём» + «ся»→«cz»). Финальная проверка всё равно отрабатывает на пробеле.
- Левый ⌥ и левый ⌃ теперь есть прямо в списке горячих клавиш переключения — выбрал и готово, без «Свой…».
- Дефисные термины: «e-ink», «wi-fi», «t-shirt», «x-ray» и т.п. теперь переключаются целиком (по списку известных терминов). Обычные русские слова через дефис — «из-за», «что-то», «по-русски» — мы по-прежнему не трогаем.
0.2.35
- Починили назначение своей горячей клавиши переключения. Раньше при выборе «Свой…» одиночный модификатор (например левый Option) не записывался — поле «висело» в режиме записи, и любое нажатие воспринималось не так. Теперь нажми и отпусти один модификатор (левый/правый Option, Cmd…) — он и станет переключателем; Esc — отмена записи.
0.2.34
- «tot» теперь переключается в «ещё». Одно из самых частых русских слов раньше застревало латиницей, потому что «tot» — ещё и английское слово (малыш / «tot up»), и мы его берегли. Решили: «ещё» важнее — теперь форсим (если вдруг печатаешь английское «tot» — переключи хоткеем обратно).
0.2.33
- Обучение на отмене больше не пристаёт после каждой отмены. Теперь Keyboop предлагает добавить слово в исключения, только если ты отменял его переключение ТРИ раза (счётчик копится между сессиями и со временем сбрасывается). Одиночные отмены — молча, слово просто не трогается в этой сессии.
0.2.32
- Поправил раскладку слова сам (хоткеем) — следующий пробел больше не перекинет его обратно «не туда». Раньше авто-переключение могло тут же отменить твою ручную правку: исправляешь, жмёшь пробел — а оно снова не туда.
0.2.31
- Раскладка переключается умнее в обе стороны. Чаще ловится «ну» (раньше застревало латиницей как «ye»), английские сокращения с апострофом (i'm, don't, let's, that's, can't…) и английские i/u/a на русской раскладке. По нашему фразовому тесту промахов стало вдвое меньше — и при этом верный текст по-прежнему не трогаем (точность не просела).
0.2.30
- Английский, набранный по ошибке на РУССКОЙ раскладке, теперь переключается заметно лучше: одиночные i/u/a и частые сокращения (idk, tbh, ngl, pls, brb, wtf…). Раньше английский-на-кириллице ловился слабо — теперь в полтора раза меньше промахов, и при этом верный текст по-прежнему не трогаем.
0.2.29
- Частые двухбуквенные слова теперь переключаются даже когда они стоят отдельно или первыми: «да», «но», «на», «по», «от», «он». Раньше такие коротыши чинились только в середине фразы.
0.2.28
- «ща» (разговорное «сейчас») больше не превращается в «of» — добавили в словарь-исключение.
0.2.27
- Всплывающие баннеры (вроде «Запомнил…») теперь закрываются по-человечески: крестик работает, баннер сам уходит через 5 секунд, можно смахнуть вправо или просто кликнуть. И вид аккуратнее — компактный, по ширине текста, логотип слева с ровными полями.
0.2.26
- Две копии Keyboop больше не запустятся одновременно. Раньше вторая копия дралась с первой за каждую клавишу — выходила мешанина (дубли букв, латинские огрызки). Теперь вторая тихо уступает: один зверёк на клавиатуру.
- Появился ЭКСПЕРИМЕНТАЛЬНЫЙ потоковый набор (Настройки → Голос): текст печатается по мере речи, не дожидаясь конца фразы. Очень экспериментально, по умолчанию выключено, нужна отдельная модель.
0.2.25
- Ручное переключение раскладки последнего слова больше не выдаёт мешанину вроде «лоkjrfyj» и не «теряется». Отмена, нажатая пока зверёк дочиняет предыдущее слово, теперь не пропадает, а ждёт своей очереди; а слово, у которого начало уже перескочило в кириллицу, само доводится до конца — без полусырых хвостов.
0.2.24
- Устранено зависание системы при первом нажатии диктовки после старта. Загрузка модели Whisper теперь идёт в фоне — мышь и клавиатура не замерзают пока модель грузится с диска.
0.2.23
- Первый запуск стал тише: теперь Keyboop не выводит несколько уведомлений о доступе к Accessibility подряд. Пока открыт онбординг — он ведёт тебя через все разрешения, дополнительные диалоги не появляются.
0.2.22
- Окно истории диктовки теперь почти непрозрачное по умолчанию (80%) — было слишком «стеклянным». Настраивается правым кликом или длинным удержанием на окне.
- В онбординге появилась подсказка про историю как страховку: если надиктованное не попало куда надо — оно в «Истории» из меню значка, двойной клик скопирует. На help-странице — отдельный Q&A на этот случай.
0.2.21
- Конец «щёлканью» на словах-исключениях. Раньше при наборе слова из словаря/исключений (например «гифки») переключение «на лету» дёргало его на 4-й букве в латиницу, а на границе возвращало обратно. Теперь, пока ты дописываешь слово-исключение, на лету его не трогаем вовсе — никаких метаний туда-сюда.
0.2.20
- Полная ревизия локализации: причесали интерфейс на обоих языках. Места, где у англоязычных пользователей ещё проскакивал русский — диалоги доступа, назначение хоткея, индикатор диктовки «Слушаю…», список хранения истории, описания моделей и тултипы — теперь корректно переключаются RU/EN.
0.2.19
- Автозамена больше не оставляет хвостов: триггер всегда стирается целиком — без «прилипшего» символа в конце и без лишнего «длинного» пробела. Раньше при быстром наборе (и особенно в русской раскладке) стирание гналось с приложением: триггер мог остаться, а раскрытие «всплыть» после него. Теперь клавиша-граница (пробел/Tab/Enter), раскрывающая сниппет, обрабатывается нами целиком — гонки нет.
0.2.18
- «Учиться на отмене» теперь работает по-человечески: откатил переключение слова — Keyboop спросит баннером в правом верхнем углу, добавить ли его в исключения. Нажал «Не надо» — больше про это слово не спросит. (Раньше пытался запоминать молча после нескольких откатов, но это почти не срабатывало.)
- «гифки» больше не улетает в латиницу — добавили слово и его формы в словарь.
0.2.17
- Автозамена: сниппеты теперь сохраняются в том порядке, как ты их добавлял (раньше пересортировывались по алфавиту) — новые просто встают вниз. Вернули кнопку удаления строки (в прошлой версии она пропадала) и кнопку «+»; добавлять можно и просто кликом по пустой строке. Заполненные строки сразу встают наверх по порядку, без пустых дыр между ними.
0.2.16
- Автозамена стала удобнее: строки добавляются прямо кликом по пустому полю (или кнопкой «+»), а в поля наконец работает вставка из буфера (Cmd+V, как и копирование/вырезание/выделить всё/отмена) — раньше в них ничего не вставлялось. Заодно текст в полях выровнялся по высоте, список стал выше, а кнопка-корзина — компактнее. Заполненные строки сами поднимаются наверх, пустые остаются снизу.
- Окно знакомства больше не уползает вправо, когда меняешь его высоту.
0.2.15
- Программы-исключения теперь предзаполняются сами: при запуске Keyboop находит установленные видеоредакторы, терминалы и код-редакторы и сразу заносит их в список (видеоредакторы и терминалы — выключено, код-редакторы — мягкий режим). Всё видно в Настройках → Исключения, любую программу можно переключить или убрать — твой выбор приоритетнее, удалённую не вернём.
0.2.14
- Починили потерю первой буквы: в Spotlight и поиске на сайтах первый символ больше не оставался в старой раскладке («adguard» → «adguard», а не «фdguard»).
- Видеоредакторы (Final Cut, Premiere, DaVinci…) и терминалы теперь по умолчанию не трогаются вовсе, а код-редакторы (VS Code, Xcode…) — в мягком режиме. Раньше это надо было настраивать руками, и в Final Cut Keyboop мог мешать. Свои программы по-прежнему добавляются в Настройки → Исключения.
- «Проверить обновления» теперь показывает окно со статусом (проверяю → есть обновление / актуальная версия), а не молчит.
0.2.13
- Мелочь для глаза: пункт «Проверить обновления…» в меню у часов встал ровно по левому краю, как остальные (раньше съезжал вправо из-за системной иконки у «Настройки»).
0.2.12
- Обновления переехали в отдельный раздел настроек «Обновления» — раньше прятались в «Общих», их не находили. И логичнее: «Ставить сразу без вопросов» теперь сам включает «Проверять обновления» и блокирует его (без проверки тихая установка невозможна).
- Чиним слова, набранные с концевой буквой б/ю/ж: «yj;» → «нож» (раньше выходило «но;» — терялась буква), «[kt,» → «хлеб».
- Чиним слова с цифрой на конце: «ghbdtn2» → «привет2». Короткие технические токены (gj1, h2o) не трогаем.
0.2.11
- В меню у часов появился пункт «Проверить обновления…» — удобно глянуть свежую версию вручную.
0.2.10
- Чиним слова со скобкой/кавычкой/тире перед ними: «(tckb» теперь превращается в «(если», а раньше упрямо оставалось как есть. Раньше любой символ перед словом (скобка, кавычка, дефис) ломал распознавание целиком.
0.2.9
- Главное: авто-переключение стало НАДЁЖНЫМ при быстром сплошном наборе. Раньше при печати без пауз часть слов чинилась, часть нет, а иногда первые буквы оставались в старой раскладке («gпривет»). Причина — приложение путало собственные нажатия с твоими по таймеру; теперь оно метит свой ввод и не теряет ни одной твоей буквы.
- Стыдный недосмотр: у новых пользователей авто-переключение было выключено из коробки. Теперь включено по умолчанию.
- Enter теперь тоже чинит слово — «ghbdtn» + Enter в чате превратится в «привет» перед отправкой.
0.2.8
- Знакомство теперь открывается заставкой во весь экран: на тёмном фоне K собирается из чертежа, затем плавно растворяется — и появляется приветствие. Коротко, один раз, без звука.
- Пересмотреть можно когда угодно — пункт «Знакомство…» в меню у часов.
0.2.6
- Баннер обновления довели до ума: крупный логотип, ровные поля со всех сторон, а коралловая кнопка «Обновить сейчас» теперь надёжно заметна в любом окружении (раньше в живом окне могла тускнеть до серой).
0.2.5
- Маленькая пасхалка в тему: теперь Keyboop находится в Spotlight, даже если набрать его имя вслепую на русской раскладке — «лунищщз». А ещё по «punto», «раскладка», «switcher».
0.2.4
- Баннер обновления стал аккуратнее: тёмный фон, кнопка «Обновить сейчас» теперь коралловая и заметная, больше воздуха, текст короче.
0.2.3
- Песочница в окне знакомства теперь на две строки — удобнее попробовать целую фразу.
- Высоту окна знакомства можно менять под себя.
0.2.2
- Про обновление теперь спрашивает наш собственный аккуратный баннер у часов («Обновить сейчас» / «Обновлять автоматически») — вместо системного уведомления. Никаких лишних разрешений на уведомления.
0.2.1
- Причесали подзаголовки в настройках и окне знакомства — читаемые, ровные, в фирменном коралловом стиле (раньше были мелкие, серые и с кривым отступом).
- В окне знакомства разъехались слипшиеся ряды выбора горячих клавиш — стало просторнее.
0.2.0
- Keyboop теперь сам находит новые версии. Когда выйдет новая — покажет уведомление с кнопкой «Обновить сейчас». Надоест нажимать каждый раз — там же кнопка «Обновлять автоматически»: дальше ставим тихо, в простое, когда ты отошёл, не мешая. Всё настраивается/выключается в Настройках → Обновления.
- Обновления подписаны и проверяются — подсунуть поддельную сборку под видом апдейта не выйдет. Проверка «есть ли новее?» отправляет только твой IP и номер версии, как любой заход на сайт. Ничего из того, что ты печатаешь или диктуешь.
0.1.75
- Хоткей диктовки по умолчанию теперь — правый ⌥: зажал, говоришь, отпустил. Его (как и хоткей раскладки) можно поменять прямо в окне знакомства или в настройках.
- Доступ к раскладке подхватывается на лету: выдал «Универсальный доступ» — переключение включается сразу, перезапуск не нужен. А если Keyboop запущен из образа или Загрузок — подскажем перетащить его в «Программы».
- Модели распознавания — теперь в одном списке: любую можно скачать, активировать и удалить, чтобы не занимала место (переключатель Whisper/Parakeet убрали — меньше путаницы).
- Хоткей перевода теперь тоже меняется в настройках.
0.1.59
- Предлоги-буквы теперь чинятся даже после английского слова: «room d новой» → «room в новой».
- Но английские маркеры бережём по контексту: «vitamin d», «plan b», «gen z», «type o» остаются целыми.
- Выбор движка распознавания: статус «используется» теперь стоит прямо напротив активной модели — и у Whisper, и у Parakeet.
- Подсказки в настройках всплывают только у длинных подписей, которые не умещаются.
0.1.56
- Режим для разработчиков стал умнее: одиночные буквы и короткие сочетания (переменные, команды) не переключаются нигде — не только в IDE. Подпись в настройках теперь об этом говорит.
- Без него предлоги-буквы чинятся как обычно: «d» → «в», «z» → «я» — кроме английского контекста («vitamin d» цел).
0.1.55
- Детектор поумнел на коротких словах: смотрит на язык предыдущего слова. «привет yt» → «привет не», а «смотрю tv» и «Спартак vs Зенит» не трогает.
- Одиночная «c» в английском тексте больше не превращается в «с».
0.1.54
- Длинные подсказки в настройках больше не теряются: текст усечён, а полный — во всплывающей подсказке (появляется почти сразу).
0.1.53
- Переключение нескольких слов сразу одним хоткеем — теперь в основных настройках, сразу после ручного хоткея. Недоступно при авто-переключении, чтобы не конфликтовать. Под капотом — защита от порчи текста.
- Свой звук для перевода: можно выбрать наш, системный или выключить, и настроить громкость.
- Точнее с короткими словами: «c» → «с». «net» больше не трогаем — это английское слово, а не «нет».
- История диктовок корректно переносится со старых версий.
0.1.52
- Выбор микрофона — прямо в настройках голосового набора.
- Автозамена: кнопка-корзина у каждой строки, кнопка «Добавить» для удобства.
- Исключения: кнопка «Добавить слово» переводит фокус на поле ввода.
- История хранится в минутах (30 мин / 1 ч / 2 ч / 4 ч / 8 ч).
- «с» и «tot» теперь корректно переключаются на русский.
0.1.18
- Длинная диктовка больше не теряет хвост — распознаётся целиком.
- Под капотом подготовлен новый движок распознавания Parakeet (точнее на русском) — скоро.
0.1.15
- История диктовок: живое обновление, прокрутка к последней, настраиваемая прозрачность окна.
- Срок хранения истории — на выбор (3 / 7 / 30 дней).
0.1.12
- После голосового ввода ставится пробел — следующая фраза не слипается.
- Отдельные настройки звука записи: вкл/выкл и громкость.
0.1.9
- Свои звуки старта/окончания записи.
- В «О программе» — кнопка обратной связи и подписка на обновления (почта + Telegram).
0.1.8
- Умнее с раскладкой: не переключаем короткие «не-слова» (например «тк»), добавлены русские сокращения.
0.1.2
- Хоткей диктовки по умолчанию — ⌥` , режим «нажал-старт / нажал-стоп».
- Доступ к микрофону спрашивается сам; автозапуск при входе включён.