The Copilot key only exists on the laptop and rutherford binds its own
AltGr per-host, so the shared keybindings file no longer carries
machine-specific dictation keys; Chester's F23 and Pause binds live
with Chester's config now.
The SUPER+SHIFT+F23 combo exists on the laptop's Copilot key only. On
other keyboards (TypeMatrix 2030 with Dvorak, laptops without a Copilot
key) there is no F23, so bind the same state-guarded scripts to
SUPER+SHIFT+Pause as well: Pause is Fn+F12 on the TypeMatrix and a
spare key elsewhere. Binds stay modifier-gated so bare Pause keeps its
existing use.
The Copilot key only exists on one laptop; the binding is the
SUPER+SHIFT+F23 combo, which any keyboard can send. Name the combo and
mention the Copilot key only as the thing that emits it.
Long holds occasionally dropped the release event in Hyprland, leaving
whisrs recording until its silence auto-stop, and any stray toggle
(key repeat, re-fired press) could invert the state so that pressing
stopped and releasing started. The press and release binds now go
through tiny scripts that check the daemon status first, making the
toggle pair idempotent: start only when idle, stop only when recording.
Also a note-to-self: Hyprland auto-reloads when files under the config
symlink change, so a git rebase in this repo can transiently drop
newly added binds; run hyprctl reload after git operations.
Bind the Copilot key (SUPER+SHIFT+F23) to whisrs on press and release,
so holding it records and letting go transcribes. Injection uses wtype,
which works natively on Hyprland and reaches any focused window,
including TUIs running in the dockerized agent containers.
Decoding runs on the iGPU through the Vulkan feature of a locally
rebuilt whisrs-git: the stock AUR build is CPU-only and compiled with
generic -march, which made dictation take around five seconds. Requires
whisrs-git (AUR), wtype and pipewire-alsa; documented in the README
along with the config and model locations.