RustDesk/libs/enigo
2025-05-19 21:02:07 +08:00
..
.github/ISSUE_TEMPLATE
.vscode
examples fix build example mouse.rs 2023-06-07 21:17:13 +08:00
src fix: osx, reset modifiers' state after locking screen (#11806) 2025-05-19 21:02:07 +08:00
.gitattributes
.gitignore
.travis.yml
appveyor.yml
build.rs
Cargo.toml refact: update crate tfc (#8867) 2024-07-28 17:26:18 +08:00
LICENSE
README.md
rustfmt.toml

Build Status Build status Dependency Status Docs 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 Ubuntu:

apt install libxdo-dev

On Arch:

pacman -S xdotool