Skip to content
AutoKey, a desktop automation utility for Linux and X11.
Branch: master
Clone or download
luziferius Merge branch 'bugfix/issue_222'
Closes #222 by introducing a workaround.
Latest commit 93b1b58 Mar 31, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github GitHub issue template: Move version block up. Dec 9, 2018
config Removed KXMLGUI config file, because it is not used anymore. Jun 3, 2018
debian Prepare Release of version 0.95.6 Feb 9, 2019
doc Replaced tuples with NamedTuple in scripting function return values. May 22, 2018
lib/autokey GTK Tray icon: Prevent errors when using the view script error button. Mar 31, 2019
test Fixed multiple imports per line in tests. Apr 9, 2018
CHANGELOG.rst Prepare Release of version 0.95.6 Feb 9, 2019
INSTALL Updated the wording in INSTALL Dec 9, 2018
LICENSE Create LICENSE Jan 13, 2017 * Use json for persistence instead of pickle Apr 9, 2010
PKG-INFO Update version and changelog May 15, 2012
README.rst Update link to Arch AUR package Feb 26, 2019
autokey.spec Removed mentions of PyKDE and removed files from various places. Jun 3, 2018 Fix API generation script and update API source file for KDE version Mar 1, 2012
new_features.rst AutoKey has become the official AutoKey Dec 30, 2017 Removed dbus-python from the dependencies. Feb 7, 2019



Join the chat at Ask and answer questions on StackOverflow


AutoKey, a desktop automation utility for Linux and X11, formerly hosted at OldAutoKey. Updated to run on Python 3.

Important: This is an X11 application, and as such will not function 100% on distributions that default to using Wayland instead of Xorg.


Please remove previous installations of both AutoKey and AutoKey-py3 fully before installing!


Python: 3.5

Python modules (common):

  • dbus-python
  • pyinotify
  • python-xlib

The dbus module requires manual installation, preferably using your distribution package manager. Due to odd detection issues with pip3 and this particular package, it is not defined as a dependency. Without having dbus-python (PyPi link) installed, AutoKey won’t start.

GTK frontend only:

  • GObject Introspection
  • PyGTK
  • GtkSourceView
  • libappindicator

QT frontend only:

  • PyQt5
    • SVG module, if not already bundled
    • QScintilla2 module, if not already bundled
  • pyrcc5 command line tool (Optional installation time dependency, only used when installing or updating from the git source tree using If not present, a fallback that causes a slightly slower application start will be used.)

Install via pip3

pip3 will automatically resolve and install dependencies, but dbus-python requires manual installation.

pip3 install autokey
# or, if you want the latest from this repository,
pip3 install --user git+

The "--user" option for pip may be added to install for the current user only. To install system-wide, run pip3 as the root user.


There is a repository available for Ubuntu 18.04 LTS (and compatible derivatives, such as Kubuntu). If your Debian based system is not supported by the PPA or the PPA is not up to date, you can build your own packages (see below) or use the packages attached to the GitHub Releases page

sudo add-apt-repository ppa:sporkwitch/autokey
sudo apt update
sudo apt install autokey-gtk
# Or alternatively, to install the Qt5 based GUI:
sudo apt install autokey-qt

Distro package not provided? Create your own package for Debian-based distribution using files under debian/ . Check out the Packaging wiki page for details.

Arch Linux

Up to date packages are available in the AUR.


Avaiable from Fedora 27 onwards.

sudo dnf install autokey-gtk
# or for kde
sudo dnf install autokey-kde

Zero-installation Method

AutoKey can also be used directly from the cloned repository. This is useful, e.g., for trying out a new version without removing a current installation.

  1. Start the Autokey daemon
cd lib
python3 -m autokey.gtkui
# or for KDE
python3 -m autokey.qtui
  1. Start the Autokey UI (if desired) by appending the --configure or -c command line switch to the end of the command.

The commands accept CLI switches just like the regular installation, so python3 -m autokey.qtui -lc works as expected.


Documentation for new features. For older features, please refer to the original AutoKey's scripting API, wiki, and Stack Overflow.

Examples of AutoKey scripts can be found by searching GitHub and reading AutoKey's wiki.


Please do not request support on the issue tracker. Instead, head over to the autokey-users Google Groups forum, StackOverflow, on IRC (#autokey on Freenode), or Gitter web-based chat.

We'd appreciate it if you take a look at Problem reporting guide before posting. By providing as much information as you can, you'll have a much better chance of getting a good answer in less time.

Bug reports and Pull Requests

Bug reports and PRs are welcome. Please use the GitHub Issue Tracker for bug reports. When reporting a suspected bug, please test against latest git HEAD and make sure to include as much information as possible to expedite troubleshooting and resolution. For example,

  • required: How to reproduce the issue you are experiencing
  • Python tracebacks, if any
  • Verbose logging information obtained by starting the frontend (autokey-gtk or autokey-qt) from terminal with the --verbose option.




GNU GPL v3. See the LICENSE file alongside this README for a plain text copy of the license text.

You can’t perform that action at this time.