If you’re using modifiers (e.g., Super+V), you may experience an issue where releasing keys slowly causes typed text to trigger window manager shortcuts. For example, with Super+V, the transcribed text “hello” might trigger Super+h, Super+e, Super+l if you release V before Super.Automatic Fix:
voxtype setup compositor hyprlandhyprctl reloadsystemctl --user restart voxtype
This command:
Creates ~/.config/hypr/conf.d/voxtype-submap.conf with a modifier-suppressing submap
Adds pre/post output hooks to your voxtype config
Verifies your hyprland.conf sources conf.d/*.conf
Manual Setup:View the configuration first:
voxtype setup compositor hyprland --show
The generated submap blocks all modifier keys during text output while allowing F12 to cancel. If voxtype crashes while typing, press F12 to escape the submap.
For the most reliable experience, don’t bind Escape in the voxtype_suppress submap. Some users report success with Escape by increasing pre_type_delay_ms, but F12 works consistently without delays.
# Push-to-talkbindsym $mod+v exec voxtype record startbindsym --release $mod+v exec voxtype record stop# Or with --no-repeat to prevent key repeatbindsym --no-repeat $mod+v exec voxtype record startbindsym --release $mod+v exec voxtype record stop
# In the recording mode (if using automatic setup)mode "voxtype_recording" { bindsym F12 exec voxtype record cancel, mode "default"}# Or bind globallybindsym $mod+Escape exec voxtype record cancel
The evdev hotkey cannot use Super/Meta modifiers on some compositors (like KDE Plasma) because the compositor grabs those combinations before they reach evdev. Use compositor keybindings instead, or choose a non-modifier key like ScrollLock, Pause, or F13-F24.
# Output to clipboard instead of typing (just this recording)voxtype record start --clipboardvoxtype record stop# Use paste mode (clipboard + Ctrl+V)voxtype record start --pastevoxtype record stop# Write to a filevoxtype record start --file=notes.txtvoxtype record stop
Bind different keys to different modes:
# Hyprland examplebind = SUPER, V, exec, voxtype record start # Type mode (default)bindr = SUPER, V, exec, voxtype record stopbind = SUPER, C, exec, voxtype record start --clipboard # Clipboard modebindr = SUPER, C, exec, voxtype record stop
Check status: voxtype status should show “recording”
Release (or press again for toggle)
Status should show “transcribing”, then “idle”
Check logs:
journalctl --user -u voxtype -f
Test with verbose output:
# Stop the service temporarilysystemctl --user stop voxtype# Run in foreground with debug outputvoxtype -vv# Test your keybindings# Then restart the servicesystemctl --user start voxtype