Диктовка
Клавиша push-to-talk, удержание против нажатия, что показывает плашка, как вставляется текст и куда Keebye писать откажется.
Нажмите клавишу push-to-talk, скажите фразу, отпустите. Транскрипция выполняется для всей фразы после отпускания, а текст вставляется в активное приложение.
Клавиша push-to-talk
Settings › Push-to-talk hotkey: "Hold this key to dictate; release to insert." Изменения применяются сразу.
- Fn / Globe
- левый ⌘
- правый ⌘ (по умолчанию)
- левый ⌥
- правый ⌥
Удержание или нажатие
- Нажатие клавиши сразу начинает запись.
- Отпускание через 400 ms и больше — режим удержания. Запись останавливается, текст вставляется.
- Отпускание раньше 400 ms — короткое нажатие. Запись продолжается. Второе нажатие останавливает её и вставляет текст.
- Esc отменяет начатую запись. Ничего не вставляется.
- Одна фраза ограничена 300 секундами (5 минут), после чего запись останавливается и текст вставляется автоматически.
Плашка
Плашка — небольшая всегда видимая панель, сквозная для щелчков: она находится по центру внизу основного экрана, в 96 pt от нижнего края. Показывается во всех Spaces и никогда не забирает фокус.
- В покое: значок микрофона.
- "Downloading speech model… NN%" пока модель загружается, или "Model download failed — reopen Keebye to retry".
- "Listening…" → "Transcribing…" → "Inserting…" во время диктовки.
- Короткие сообщения примерно на 2.6 секунды: "Couldn't insert: <reason>", "Text left on clipboard — paste manually" или "Dictation paused: secure input on (<App>)".
Как вставляется текст
"Paste (fast)", вариант по умолчанию: Keebye запоминает содержимое буфера обмена, кладёт расшифровку как временный элемент, который менеджеры буфера пропускают, синтезирует ⌘V и через 250 ms восстанавливает прежний буфер, если он всё ещё принадлежит Keebye. "Restore clipboard after paste" включено по умолчанию.
В Terminal.app, iTerm2, Warp, WezTerm и kitty вставка разбивается на части не больше 2000 байт с паузами по 50 ms.
"Typing (terminals / SSH / any layout)": Keebye отправляет Unicode-нажатия по 16 символов с интервалом 4 ms, не затрагивая буфер обмена. Режим не зависит от раскладки и работает через SSH и в tmux. Если набор не удался, текст остаётся в буфере обмена, а плашка показывает "Text left on clipboard — paste manually".
Поля паролей и защищённый ввод
Если включён защищённый ввод или активный элемент — поле пароля, Keebye ничего не записывает в буфер обмена и показывает "Couldn't insert: Secure input is active (<App>) — dictation is blocked" или "Couldn't insert: A password field is focused — dictation is blocked". Такие диктовки никогда не сохраняются в историю. Кроме того, опрос каждые 5 секунд предупреждает "Dictation paused: secure input on (<App>)", пока защищённый ввод включён.
Прогретый микрофон
Поток микрофона запускается при первой диктовке и дальше работает всё время, пока запущено приложение, поэтому индикатор микрофона macOS остаётся включённым после первого использования. К началу каждой фразы добавляется скользящий буфер 500 ms. Первая диктовка за сеанс всё равно может отработать медленнее из-за запуска потока, а слова, сказанные раньше этого буфера 500 ms, всё же могут обрезаться. Аудио пересчитывается в 16 kHz моно, смена устройства обнаруживается в течение секунды.