Speech to text on Wayland
Wayland keeps apps from typing into each other, which is good for security and hard for dictation. OiPer types the transcript with a small system tool, and the right tool depends on your compositor. This page shows which one to install on GNOME, KDE Plasma, Sway, Hyprland and others, and how to set it up.
Updated
Why typing into other apps is hard on Wayland
On X11 any program can send keystrokes. On Wayland it cannot.
No shared input by design
Wayland compositors do not let one app send keys to another. A dictation app needs either a protocol the compositor offers for this, or a virtual keyboard at the kernel level.
Compositors differ
Sway and Hyprland offer a virtual keyboard protocol, KDE Plasma has its own, and GNOME offers neither. That is why one tool does not fit every desktop.
OiPer uses a tool you install
On Wayland OiPer types with wtype, kwtype, dotool or ydotool. On X11 it uses xdotool or ydotool. Install one before your first dictation.
Read about InstallationWhich tool for which compositor
Install the one that matches your desktop.
GNOME (Mutter): ydotool or dotool
GNOME does not support the virtual keyboard protocol that wtype needs, and kwtype is for KDE only. Use ydotool or dotool, which create a virtual keyboard through the kernel’s uinput module.
KDE Plasma (KWin): kwtype
kwtype uses KDE’s fake input protocol, which only KWin implements. Build it from github.com/Sporif/KWtype or install kwtype-git from the AUR. ydotool and dotool also work.
Sway, Hyprland, niri, COSMIC: wtype
These compositors support the virtual keyboard protocol, so wtype works with no extra permissions. Install it from your distribution, for example sudo apt install wtype or sudo pacman -S wtype.
Any compositor and X11: ydotool or dotool
Because they work at the kernel level, ydotool and dotool type into any Wayland session and into X11 too. They need write access to /dev/uinput.
Set up ydotool or dotool
Both need permission to use /dev/uinput. Log out or reboot after changing groups.
ydotool on Debian and Ubuntu
Run sudo apt install ydotool, then sudo usermod -aG input $USER, and reboot. Start the daemon with systemctl --user enable --now ydotool. Since version 1.0 the ydotoold daemon must be running for ydotool to type.
dotool
Install it from the AUR, Alpine, Nix or Void, or build it with ./build.sh && sudo ./build.sh install. Then run sudo groupadd -f input and sudo usermod -a -G input $USER, and reboot so the udev rule and group apply.
Test before you dictate
With a text field focused, run echo type hello | dotool, or ydotool type hello. If the word appears, OiPer can type too.
Keyboard layouts
Both tools send keycodes. With a non-US layout, dotool reads DOTOOL_XKB_LAYOUT, for example DOTOOL_XKB_LAYOUT=fr. ydotool does not detect custom layouts; Sway and Hyprland can set a layout for its virtual device.
About the input group
Adding your user to the input group gives your programs access to input devices. Only do it on a computer you trust, or prefer wtype or kwtype where your compositor supports them.
If the text does not appear
Narrow it down in a minute.
Check History first
If the dictation has a transcript in History but nothing was typed, the problem is the typing tool, not the microphone or the model.
Read about TroubleshootingTry another Insert method
Ctrl+V is the default. In terminals try Ctrl+Shift+V, and where pasting is blocked try direct, which types the text key by key.
Read about SettingsKeep a copy on the clipboard
Turn on Write to clipboard so you can paste the result yourself while you sort out the typing tool.
Read about SettingsQuestions, answered
What people ask before they start dictating with OiPer.
Does speech to text work on Wayland?
Yes. OiPer types into any Wayland app with wtype, kwtype, dotool or ydotool. Which one you need depends on your compositor.
Which typing tool should I use on GNOME Wayland?
Use ydotool or dotool. GNOME does not support the virtual keyboard protocol that wtype relies on, and kwtype only works on KDE Plasma.
Does voice typing work on Hyprland?
Yes. Hyprland supports the virtual keyboard protocol, so install wtype and OiPer can type into any app without extra permissions.
Does voice typing work on KDE Plasma Wayland?
Yes. Install kwtype, which uses KWin’s fake input protocol, or use ydotool or dotool.
Why does ydotool need the input group?
ydotool and dotool create a virtual keyboard through /dev/uinput, which normally needs root. Adding your user to the input group lets them run without root.
Does OiPer still work on X11?
Yes. On X11 OiPer types with xdotool or ydotool.