move bind vs bindr after push-to-talk, remove verbose explanation

This commit is contained in:
leonardotrapani
2026-03-15 15:55:23 +01:00
parent 3db74580d8
commit c755c6efea
2 changed files with 13 additions and 19 deletions
+7 -7
View File
@@ -95,11 +95,6 @@ Run `hyprvoice configure` anytime for advanced settings.
## Hyprland Keybindings ## Hyprland Keybindings
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 ### Simple toggle
```bash ```bash
@@ -121,9 +116,14 @@ bindr = SUPER, R, exec, hyprvoice toggle # key up → stop and transcribe
This gives a walkie-talkie feel: hold the key while speaking, release when done. The daemon receives two `toggle` commands — the first starts recording, the second stops it and triggers transcription. This gives a walkie-talkie feel: hold the key while speaking, release when done. The daemon receives two `toggle` commands — the first starts recording, the second stops it and triggers transcription.
### Why `bindr` matters ### `bind` vs `bindr`
When you press SUPER+R with a regular `bind`, the SUPER modifier is still physically held when the command fires. If hyprvoice tries to inject text while SUPER is down, the compositor interprets the injected keystrokes as SUPER+key combos — leading to stuck modifiers, missed characters, or unexpected window management actions. `bindr` waits until you lift the key, ensuring a clean keyboard state for injection. | Keyword | Fires on |
|---------|----------|
| `bind` | Key **press** (down) |
| `bindr` | Key **release** (up) |
With `bindr`, modifier keys (SUPER, CTRL, etc.) are fully released before the command executes. This can prevent modifiers from interfering with text injection.
## Commands ## Commands
+6 -12
View File
@@ -41,15 +41,6 @@ Configuration is stored in `~/.config/hyprvoice/config.toml` and changes are app
Hyprvoice is triggered via Hyprland keybindings. The bind type you choose affects reliability and workflow. Hyprvoice is triggered via Hyprland keybindings. The bind type you choose affects reliability and workflow.
### `bind` vs `bindr`
| Keyword | Fires on | Use for |
|---------|----------|---------|
| `bind` | Key **press** (down) | Simple toggle, starting recording |
| `bindr` | Key **release** (up) | Stopping recording / injecting text |
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 ### Simple toggle
```bash ```bash
@@ -71,11 +62,14 @@ bindr = SUPER, R, exec, hyprvoice toggle # key up → stop and transcribe
Hold the key while speaking, release when done. Both lines send `toggle` to the daemon — the first starts the pipeline, the second stops it. Because the stop fires on release, modifiers are clean for injection. Hold the key while speaking, release when done. Both lines send `toggle` to the daemon — the first starts the pipeline, the second stops it. Because the stop fires on release, modifiers are clean for injection.
### Why modifier release matters ### `bind` vs `bindr`
When SUPER+R is pressed with a regular `bind`, the SUPER key is still physically held when `hyprvoice toggle` fires. If hyprvoice then injects text (via wtype or ydotool), the compositor sees SUPER+<character> for every keystroke — triggering window management shortcuts instead of typing. Using `bindr` for the stop/inject side ensures modifiers are released first. | Keyword | Fires on |
|---------|----------|
| `bind` | Key **press** (down) |
| `bindr` | Key **release** (up) |
This is especially relevant if you use the `wtype` or `ydotool` injection backends. The `clipboard` backend is less affected since it uses paste rather than simulated keystrokes, but `bindr` is still recommended for consistency. With `bindr`, modifier keys (SUPER, CTRL, etc.) are fully released before the command executes. This can prevent modifiers from interfering with text injection.
## Unified Provider System ## Unified Provider System