AutoKey
github.com
What it is
AutoKey is a Linux desktop automation utility for X11/Xorg. Hotkeys and typed abbreviations can start scripts, insert phrases, or show a pop-up menu. Phrases expand into text at the cursor and can include key combinations, special keys, and characters. Scripts are small Python programs that can start applications, send commands to a running window, resize windows, or reposition the cursor. AutoKey provides GTK and Qt interfaces and supports use of phrases, scripts, and abbreviations across applications. Its Python API can send keys simultaneously or in sequence; the documentation recommends using the clipboard to enter generated text when possible. It can be installed through Debian packages, Arch or Gentoo packages, pip, or a cloned repository. AutoKey is free under GNU GPL version 3. It requires X11 rather than Wayland, and abbreviations are limited to the most recent 150 typed keys. Applications built with pure X11 toolkits generally ignore its synthetic events, and the documentation notes known keyboard-layout problems with Russian, Mandarin, and Japanese.
Spec sheet
- Purpose
- AutoKey is a desktop automation utility for Linux and X11.Read 2 Oct 2026 · github.com
- Free plan
- YesRead 24 Sep 2026 · github.com
- Support
- The project directs support requests to its community channels and asks users not to request support on the issue tracker.Read 2 Oct 2026 · github.com
- License
- AutoKey uses the GNU GPL v3 license.Read 2 Oct 2026 · github.com
- App coverage
- The documentation says phrases, scripts, and abbreviations can be used across applications.Read 2 Oct 2026 · autokey.github.io
- App-specific snippets
- YesRead 24 Sep 2026 · github.com
- Application limitation
- Applications written with the pure X11 toolkit generally ignore AutoKey's synthetic events.Read 2 Oct 2026 · raw.githubusercontent.com
- Clipboard method
- The documentation recommends placing emitted text in the clipboard and pasting it with keyboard.send_keys() when possible.Read 2 Oct 2026 · raw.githubusercontent.com
- Compatibility caution
- The installation guide warns that upgrades may change script or phrase configuration in ways that are not backwards-compatible.Read 2 Oct 2026 · github.com
- Desktop interfaces
- AutoKey offers a GTK version for GTK-based desktop environments and a Qt version for Qt-based desktop environments.Read 2 Oct 2026 · github.com
- Distribution
- The maker documents installation through package managers or pip, with packages described for Debian derivatives, Arch, and Gentoo.Read 2 Oct 2026 · github.com
- Dynamic fields
- YesRead 24 Sep 2026 · github.com
- GUI frontends
- AutoKey provides GTK and Qt frontends for different desktop environments.Read 2 Oct 2026 · raw.githubusercontent.com
- Input limit
- AutoKey stores up to the last 150 typed keys, limiting abbreviations to 150 characters.Read 2 Oct 2026 · raw.githubusercontent.com
- Installation methods
- AutoKey can be installed from Debian packages, Arch User Repository packages, Gentoo GURU, pip, or a cloned repository.Read 2 Oct 2026 · raw.githubusercontent.com
- Keyboard API
- The keyboard.send_keys() API accepts multiple keys and can press combinations simultaneously or sequentially.Read 2 Oct 2026 · raw.githubusercontent.com
- Keyboard layouts
- The documentation says the core communicates with X through keyboard events and notes known problems with Russian, Mandarin, and Japanese languages.Read 2 Oct 2026 · autokey.github.io
- Phrase key combinations
- Phrases can contain key combinations and AutoKey macros for special keys and characters.Read 2 Oct 2026 · raw.githubusercontent.com
- Python scripting
- AutoKey scripts accept most Python code and include custom API functions.Read 2 Oct 2026 · raw.githubusercontent.com
- Runtime
- The current AutoKey implementation runs on Python 3.Read 2 Oct 2026 · raw.githubusercontent.com
- Scripting
- AutoKey scripts are small Python programs that can start programs, send commands to a running window, resize windows, and reposition the cursor.Read 2 Oct 2026 · autokey.github.io
- Supported platforms
- Linux (X11/Xorg desktop)Read 24 Sep 2026 · github.com
- System requirements
- The installation documentation lists Python 3.7, dbus-python, pyinotify, python-xlib, and wmctrl among the dependencies.Read 2 Oct 2026 · raw.githubusercontent.com
- Team snippet sharing
- NoRead 24 Sep 2026 · github.com
- Text expansion
- Abbreviations can expand into commonly used text blocks, and phrases can insert text at the cursor position.Read 2 Oct 2026 · autokey.github.io
- Triggers
- Hotkeys and typed abbreviations can trigger scripts, insert phrases, or display a pop-up menu.Read 2 Oct 2026 · autokey.github.io
- User fit
- The documentation names business documents, novels, documentation, articles, web blogs, programs, and form filling as useful cases.Read 2 Oct 2026 · autokey.github.io
- Wayland limitation
- AutoKey will not function correctly when Wayland is used instead of Xorg.Read 2 Oct 2026 · raw.githubusercontent.com
- X11 requirement
- The maker warns that AutoKey is an X11 application and will not function correctly when Wayland is used instead of Xorg.Read 2 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free under GNU GPL version 3
- GTK and Qt frontends
- Python scripts can control windows
- Hotkeys and abbreviations trigger actions
Limits
- Does not function correctly under Wayland
- Abbreviations limited to 150 typed keys
- Pure X11 toolkit apps generally ignore synthetic events
- Known issues with some keyboard layouts
Who it suits
AutoKey suits Linux users who want text expansion or Python-based desktop automation, including for documents, articles, programs, and form filling. It is for X11/Xorg desktops, not systems using Wayland instead of Xorg.
Verdict
AutoKey combines text expansion with Python scripting for Linux X11 desktops. Check its Wayland and application-event limitations, as well as the 150-key abbreviation cap, before relying on it.
Where Specifiction places it
- Text Expanders Software#4 of 208.6
- Text expanders#13 of 208.0