keep bind as default, document bindr as alternative
This commit is contained in:
@@ -80,7 +80,7 @@ systemctl --user enable --now hyprvoice.service
|
|||||||
3. Add a keybinding (Hyprland example):
|
3. Add a keybinding (Hyprland example):
|
||||||
|
|
||||||
```bash
|
```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.
|
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**
|
- **`bind`** — fires when the key is **pressed down**
|
||||||
- **`bindr`** — fires when the key is **released**
|
- **`bindr`** — fires when the key is **released**
|
||||||
|
|
||||||
### Simple toggle (recommended default)
|
### Simple toggle
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# ~/.config/hypr/hyprland.conf
|
# ~/.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)
|
### Push-to-talk (hold-to-record)
|
||||||
|
|
||||||
|
|||||||
+5
-7
@@ -45,21 +45,19 @@ Hyprvoice is triggered via Hyprland keybindings. The bind type you choose affect
|
|||||||
|
|
||||||
| Keyword | Fires on | Use for |
|
| 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 |
|
| `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)
|
### Simple toggle
|
||||||
|
|
||||||
A single `bindr` binding toggles recording on and off:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# ~/.config/hypr/hyprland.conf
|
# ~/.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)
|
### Push-to-talk (hold-to-record)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user