#mouse #input #keyboard #automation #operating-system #api-bindings #linux-macos

enigo-copy

Enigo lets you control your mouse and keyboard in an abstract way on different operating systems (currently only Linux, macOS, Win – Redox and *BSD planned)

1 unstable release

0.0.14 Mar 23, 2023

#1831 in Hardware support

MIT license

73KB
1.5K SLoC

Build status Docs Dependency status

Rust version Crates.io Discord chat Gitter chat

enigo

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

Runtime dependencies

Linux users may have to install libxdo-dev. 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

Migrating from a previous version

Please have a look at our changelog to find out what you have to do, if you used a previous version.

Dependencies

~0–38MB
~531K SLoC