From 3db74580d8f41cb26ed5f7e966dfb40c956f4292 Mon Sep 17 00:00:00 2001 From: leonardotrapani Date: Sun, 15 Mar 2026 15:43:14 +0100 Subject: [PATCH] keep bind as default, document bindr as alternative --- README.md | 8 ++++---- docs/config.md | 12 +++++------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9d88f42..88c886b 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ systemctl --user enable --now hyprvoice.service 3. Add a keybinding (Hyprland example): ```bash -bindr = SUPER, R, exec, hyprvoice toggle +bind = SUPER, R, exec, hyprvoice toggle ``` See [Hyprland Keybindings](#hyprland-keybindings) for push-to-talk and other patterns. @@ -100,14 +100,14 @@ Hyprland has two bind types that matter for voice input: - **`bind`** — fires when the key is **pressed down** - **`bindr`** — fires when the key is **released** -### Simple toggle (recommended default) +### Simple toggle ```bash # ~/.config/hypr/hyprland.conf -bindr = SUPER, R, exec, hyprvoice toggle +bind = SUPER, R, exec, hyprvoice toggle ``` -Using `bindr` (release) is important: modifiers like SUPER are fully released before `hyprvoice toggle` runs, so they don't interfere with text injection. With `bind`, the modifier may still be held when text is typed, causing stuck keys or wrong characters. +Each press toggles between recording and idle. If you experience issues with text injection (stuck keys, wrong characters), try `bindr` instead — it fires on key release, so modifiers like SUPER are fully released before the command runs. ### Push-to-talk (hold-to-record) diff --git a/docs/config.md b/docs/config.md index a0dd292..309fcef 100644 --- a/docs/config.md +++ b/docs/config.md @@ -45,21 +45,19 @@ Hyprvoice is triggered via Hyprland keybindings. The bind type you choose affect | Keyword | Fires on | Use for | |---------|----------|---------| -| `bind` | Key **press** (down) | Starting recording | +| `bind` | Key **press** (down) | Simple toggle, starting recording | | `bindr` | Key **release** (up) | Stopping recording / injecting text | -The critical difference: with `bindr`, modifier keys (SUPER, CTRL, etc.) are fully released before the command executes. This prevents modifiers from interfering with text injection — avoiding stuck keys, wrong characters, or accidental compositor actions. +With `bindr`, modifier keys (SUPER, CTRL, etc.) are fully released before the command executes. This can prevent modifiers from interfering with text injection. -### Simple toggle (recommended) - -A single `bindr` binding toggles recording on and off: +### Simple toggle ```bash # ~/.config/hypr/hyprland.conf -bindr = SUPER, R, exec, hyprvoice toggle +bind = SUPER, R, exec, hyprvoice toggle ``` -First release starts recording, second release stops and transcribes. This is the safest default because the keyboard is always in a clean state when text is injected. +Each press toggles between recording and idle. If you run into issues with text injection (stuck keys, wrong characters), try `bindr` instead — it fires on key release so modifiers are guaranteed released before the command runs. ### Push-to-talk (hold-to-record)