From 85c22a39382b0e048ad19425018705a32f2c350a Mon Sep 17 00:00:00 2001 From: Jeena Date: Fri, 18 Sep 2026 06:50:16 +0900 Subject: [PATCH] hypr: switch rutherford dictation from AltGr to bare Pause AltGr is itself a modifier, and holding it broke dictation twice: Hyprland drops long-hold release events for modifier keys, so the daemon kept recording after the key went up, and the first phrase injected while the modifier was held never reached the target TUI. Bare Pause (Fn+F12 on the TypeMatrix) holds no modifier, so neither applies. The cheatsheet drops the AltGr mention again. --- hypr/hosts/rutherford.lua | 21 ++++++++++----------- hypr/shortcuts.txt | 2 +- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/hypr/hosts/rutherford.lua b/hypr/hosts/rutherford.lua index 3dcc928..632db89 100644 --- a/hypr/hosts/rutherford.lua +++ b/hypr/hosts/rutherford.lua @@ -13,14 +13,13 @@ hl.monitor({ -- starts, release stops; the scripts guard the daemon state so stray toggles -- (key repeat, missed release) can't invert it (see keybindings.lua). -- Kept per-host so machines that use AltGr for characters aren't affected. --- Bare AltGr (right Alt on the TypeMatrix) is the hold-to-talk dictation key --- here. Alt_R is the keysym right Alt produces under us,dvorak (pc's RALT); --- the se group remaps it to ISO_Level3_Shift for AltGr combos and is left --- alone on purpose. Press = start (modmask 0: Hyprland excludes the pressed --- key's own modifier), release = stop (modmask ALT: Alt_R is itself Mod1 and --- is still active while its release event is processed, so the release bind --- must carry ALT to match). The scripts guard the daemon state so stray --- toggles (key repeat, missed release) can't invert it (see keybindings.lua). --- Kept per-host so machines that use AltGr aren't affected. -hl.bind("Alt_R", hl.dsp.exec_cmd("~/.config/hypr/scripts/whisrs-hold-start.sh")) -hl.bind("ALT + Alt_R", hl.dsp.exec_cmd("~/.config/hypr/scripts/whisrs-hold-stop.sh"), { release = true }) +-- Bare Pause (Fn+F12 on the TypeMatrix) is the hold-to-talk dictation key +-- here. It was on bare AltGr before, but a held AltGr is itself a modifier: +-- Hyprland drops its long-hold release events, and the modifier state made +-- the first injected phrase disappear from the target TUI. Pause is not a +-- modifier, so nothing is held while whisrs types. Press starts, release +-- stops; the scripts guard the daemon state so stray toggles (key repeat, +-- missed release) can't invert it (see keybindings.lua). Kept per-host so +-- machines that use Pause aren't affected. +hl.bind("Pause", hl.dsp.exec_cmd("~/.config/hypr/scripts/whisrs-hold-start.sh")) +hl.bind("Pause", hl.dsp.exec_cmd("~/.config/hypr/scripts/whisrs-hold-stop.sh"), { release = true }) diff --git a/hypr/shortcuts.txt b/hypr/shortcuts.txt index 8ba8fcb..63a5e18 100644 --- a/hypr/shortcuts.txt +++ b/hypr/shortcuts.txt @@ -2,7 +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 │ -│ SUPER+SHIFT+F23 / AltGr / Pause Voice dictation │ +│ SUPER+SHIFT+F23 / Pause Voice dictation │ └────────────────────────────────────────────────────┘ │ SUPER + P Pseudo split (dwindle) │ ┌───────────────── Focus Movement ───────────────────┐ │ SUPER + J Toggle split (dwindle) │ │ SUPER + ←/→/↑/↓ Move focus │ │ SUPER + F Toggle fullscreen │