Cross platform input simulation in Rust!
- Linux (X11) mouse
- Linux (X11) text
- Linux (Wayland) mouse
- Linux (Wayland) text
- MacOS mouse
- MacOS text
- Win mouse
- Win text
- Custom Parser
let mut enigo = Enigo::new();
enigo.mouse_move_to(500, 200);
enigo.mouse_click(MouseButton::Left);
enigo.key_sequence_parse("{+CTRL}a{-CTRL}{+SHIFT}Hello World{-SHIFT}");
For more look at examples
Linux users may have to install libxdo-dev
if they are using X11
. For example, on Debian-based distros:
apt-get install libxdo-dev
On Arch:
pacman -S xdotool
On Fedora:
dnf install libX11-devel libxdo-devel
On Gentoo:
emerge -a xdotool
Please have a look at our changelog to find out what you have to do, if you used a previous version.
Some platforms have security measures in place to prevent programs from entering keys or controlling the mouse. Have a look at the permissions documentation to see what you need to do to allow it.