Output Modes
Voxtype supports multiple ways to deliver transcribed text. This guide covers all output modes, drivers, and the fallback chain.Available Output Modes
Voxtype provides four primary output modes:- Type - Simulates keyboard input at cursor position
- Clipboard - Copies text to clipboard
- Paste - Copies to clipboard and simulates paste keystroke
- File - Writes transcription to a file
Type Mode
Type mode simulates keyboard input, inserting text at the current cursor position.Basic Configuration
How It Works
Type mode uses virtual keyboard drivers to inject text. Voxtype tries multiple drivers in order:- wtype - Wayland virtual keyboard protocol
- dotool - uinput with keyboard layout support
- ydotool - uinput fallback
- clipboard - Universal fallback (if
fallback_to_clipboard = true)
Driver Details
wtype
Best for:- Wayland compositors (Hyprland, Sway, River)
- Unicode and CJK text (Chinese, Japanese, Korean)
- US keyboard layouts
- No daemon required
- Excellent Unicode/CJK support
- Fast and reliable on Wayland
- Doesn’t work on KDE Plasma or GNOME Wayland
- Doesn’t work on X11
- No keyboard layout support (assumes US layout)
dotool
Best for:- Non-US keyboard layouts (German, French, etc.)
- X11 and Wayland
- KDE Plasma and GNOME
- Supports keyboard layouts via XKB
- No daemon required
- Works on X11 and Wayland
- Requires configuration for non-US layouts
- Requires uinput access
de (German), fr (French), es (Spanish), it (Italian), etc. See /usr/share/X11/xkb/symbols/ for all layouts.
ydotool
Best for:- X11 and Wayland fallback
- When wtype and dotool don’t work
- Works on X11 and Wayland
- Works on TTY
- Requires ydotoold daemon
- Slower than wtype
- No keyboard layout support
Customizing Driver Order
Change the fallback chain:Typing Delays
If characters are dropped or typed out of order:pre_type_delay_ms = 100 and increase if needed. type_delay_ms is rarely necessary.
When using compositor integration with submaps, you may not need
pre_type_delay_ms. The submap switch itself provides a natural delay.Auto-Submit
Automatically press Enter after typing:- Chat applications (Slack, Discord)
- Command-line terminals
- Forms and search boxes
Shift+Enter Newlines
Convert newlines to Shift+Enter:- Slack (Shift+Enter for newlines)
- Discord (Shift+Enter for newlines)
- Cursor IDE chat (Shift+Enter for newlines)
Append Text
Add text after each transcription:Clipboard Mode
Copies transcribed text to the clipboard without typing.Configuration
How It Works
Useswl-copy (Wayland) or xclip (X11) to copy text to the clipboard.
Installation
When to Use
- You want to paste text manually
- Typing doesn’t work in your environment
- You’re dictating into a non-standard text field
Paste Mode
Combines clipboard mode with automatic paste keystroke.Configuration
How It Works
- Copies text to clipboard
- Simulates paste keystroke (default: Ctrl+V)
- Optionally restores previous clipboard content
Paste Keystroke Options
Clipboard Restoration
Preserve your existing clipboard content:- Saves current clipboard content
- Copies transcription to clipboard
- Simulates paste keystroke
- Waits 200ms
- Restores original clipboard content
When to Use Paste Mode
- Non-US keyboard layouts where typing produces wrong characters
- KDE Plasma or GNOME where wtype doesn’t work
- Applications with special paste handling (VS Code, terminals)
File Mode
Writes transcription to a file instead of typing or clipboard.Configuration
File Modes
Overwrite (default):- Clipboard alternative (read file after each transcription)
- Single-use transcriptions
- Continuous note-taking
- Logging transcriptions
- Building documents incrementally
Per-Invocation File Output
Override output to file for a single recording:Fallback Chain
Whenfallback_to_clipboard = true, Voxtype tries drivers in order until one succeeds:
- Hyprland: wtype succeeds
- KDE Plasma: wtype fails, dotool succeeds
- X11 with ydotool: wtype fails, dotool fails, ydotool succeeds
- No typing tools installed: wtype fails, dotool fails, ydotool fails, clipboard succeeds
Disabling Fallback
Per-Invocation Overrides
Override output mode for a single recording:Troubleshooting
Text Not Appearing
Check available drivers:Wrong Characters on Non-US Layouts
Problem: Y and Z are swapped, or special characters are wrong. Solution 1: Use dotool with layout configuration:wtype Not Working on KDE Plasma or GNOME
Problem: wtype doesn’t insert text on KDE Plasma or GNOME Wayland. Cause: These compositors don’t support the virtual-keyboard protocol. Solution: Use dotool or paste mode:ydotool Not Working
Problem: ydotool fails with “cannot open /dev/uinput” or “socket error”. Solution 1: Start daemon:Text Appears Slowly or Characters Dropped
Problem: Characters appear one at a time with visible delay, or some characters don’t appear. Solution: Increase delays:Auto-Submit Not Working
Problem: Enter key isn’t pressed after transcription. Solution: Ensure auto_submit is enabled:--no-auto-submit in your CLI or compositor keybindings:
Common Configuration Examples
Wayland with wtype (Default)
Non-US Keyboard Layout
KDE Plasma or GNOME
Chat Applications (Auto-Submit)
Continuous Note-Taking
Clipboard-Only (Manual Paste)
Next Steps
Text Processing
Post-process transcriptions with LLMs and word replacements
Configuration
Complete configuration reference
Compositor Integration
Set up Hyprland, Sway, or River keybindings
Basic Usage
Return to basic usage guide