Skip to content

v2.43.0 — a second keyboard works, and five opt-in features you can now turn on

Released 2026-10-17. Upgrade:

sudo snap refresh yazses     # snap
pipx upgrade yazses          # or: uv tool upgrade yazses
scoop update yazses          # Windows

Restart the daemon afterwards. A running daemon keeps the code it started with.

A keyboard plugged in later now works (Linux)

YazSes looked for keyboards once, when the daemon started. Dock a laptop, plug in a USB keyboard, hold its Right Ctrl, and nothing happened until the daemon was restarted. It now checks for new keyboards about once a second and listens on any real keyboard that has your hotkey, under the same rules as at startup. The virtual devices that ydotool and wtype create are still never used.

Unplugging was worse than not noticing: reading a keyboard that had been removed raised an error that shut the whole daemon down. The keyboard is now dropped and the daemon keeps running. If it goes away while you are holding the hotkey, that recording ends instead of running on, because the release can never arrive from a device that is gone.

Checked with a keyboard device created while the listener was running: it was picked up, its Right Ctrl started and ended a recording, and removing it left the listener running.

Five features you can now switch on

Each was designed and tested but had no caller, so yazses features enable refused it. Each is off by default and an existing install is unchanged until you opt in.

Command What it does
yazses features enable autostop Tap the hotkey once, speak, and recording ends when you stop. A longer press is still hold-to-talk.
yazses features enable reask When Whisper is unsure between their/there, to/too and similar, it asks which one you meant and you say "first" or "second".
yazses features enable bookmarks While the command key is held, "bookmark here as intro" and "jump to bookmark intro".
yazses features enable prosodypunct Adds periods and commas from the pauses in your speech.
yazses features enable involuntary Silences a cough or sneeze before it reaches Whisper, so it stops turning into a ghost word.

Restart the daemon after enabling one.

Faster default start

Starting the CLI or the daemon no longer imports the gaze package and its dependencies. A default start loads one small extra module instead of eight, and a test fails if opt-in feature code ever creeps back in.

Hands-free and eye control

Another long round of fixes to the experimental hands-free work: calibration across a monitor change, the Head-Pointer and its sinks on every OS, the face-switch checks, the shared camera, the stop chord, and the hands-free controls window at large font sizes. The Head-Pointer and Gesture Chords are no longer described as validated, because they are not. The Remote Desktop portal now treats an unanswered consent dialog as pending rather than as a refusal.

Also

Tests no longer write a fake Wayland permission token into your real data directory.

The complete list is in the changelog.