{"repo":"enigo-rs/enigo","free":true,"listed":false,"github":"https://github.com/enigo-rs/enigo","clone":"git clone https://github.com/enigo-rs/enigo.git","description":"Cross platform input simulation in Rust","language":"Rust","stars":1770,"topics":["input","cross-platform","mouse","keyboard","rust","simulation","automation"],"license":"MIT","category":"workflow-automation","readme_excerpt":"enigo Cross platform input simulation in Rust! - [x] Serialize/Deserialize - [x] Linux (X11) mouse - [x] Linux (X11) text - [x] Linux (Wayland) mouse (Experimental) - [x] Linux (Wayland) text (Experimental) - [x] Linux (libei) mouse (Experimental) - [x] Linux (libei) text (Experimental) - [x] MacOS mouse - [x] MacOS text - [x] Windows mouse - [x] Windows text Enigo also works on BSDs if they use X11 or Wayland. I don't have a machine to test it and there are no Github Action runners for it, so the BSD support is not explicitly listed. For more, look at the (examples). Features By default, enigo currently works on Windows, macOS and Linux (X11). If you want to be able to serialize and deserialize commands for enigo (example), you need to activate the serde feature. There are multiple ways how to simulate input on Linux and not all systems support everything. Enigo can also use wayland protocols and libei to simulate input but there are currently some bugs with it. That is why they are hidden behind feature flags. On Windows, mouse coordinates and display size use physical pixels. Enigo temporarily switches the calling thread to per-monitor DPI awareness for those queries, so you do not need to change the process DPI awareness mode. Runtime dependencies Linux users may have to install libxdo-dev if they are using the xdo feature. For example, on Debian-based distros: On Arch: On Fedora: On Gentoo: Permissions Some platforms have security measures in place to prevent programs fr","default_branch":null,"files":null,"tree":[],"storefront":"/r/enigo-rs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/enigo-rs/enigo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}