hypr: add hold-to-talk voice dictation via whisrs

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.
This commit is contained in:
Jeena 2026-09-15 08:31:16 +09:00
parent a7168e8f2b
commit 0b9718cf2c
3 changed files with 21 additions and 0 deletions

View file

@ -36,3 +36,8 @@ hl.bind(P.mainMod .. " + F1", hl.dsp.exec_cmd("~/.config/hypr/scripts/cheatsheet
hl.bind(P.mainMod .. " + ALT + TAB", hl.dsp.pass({ window = "class:^(com.obsproject.Studio)$" }))
hl.bind("F1", hl.dsp.pass({ window = "class:^(com.obsproject.Studio)$" }))
hl.bind("F2", hl.dsp.pass({ window = "class:^(com.obsproject.Studio)$" }))
-- Copilot key (sends SUPER+SHIFT+F23): hold-to-talk voice dictation via whisrs
-- press = start recording, release = stop and transcribe
hl.bind("SUPER + SHIFT + F23", hl.dsp.exec_cmd("whisrs toggle"))
hl.bind("SUPER + SHIFT + F23", hl.dsp.exec_cmd("whisrs toggle"), { release = true })

View file

@ -2,6 +2,7 @@
│ SUPER + T Open terminal │ │ SUPER + W Close focused window │
│ SUPER + B Open browser │ │ SUPER + M Exit Hyprland │
│ SUPER + E Open file manager │ │ SUPER + V Toggle floating │
│ Copilot key Voice dictation │
└────────────────────────────────────────────────────┘ │ SUPER + P Pseudo split (dwindle) │
┌───────────────── Focus Movement ───────────────────┐ │ SUPER + J Toggle split (dwindle) │
│ SUPER + ←/→/↑/↓ Move focus │ │ SUPER + F Toggle fullscreen │