mouce
Mouce is a library written in Rust that aims to help simulating mouse actions across different platforms.
Supported platforms
- Windows ✅
- Tested on Windows 10
- Uses User32 system library
- MacOS ✅
- Tested on a MacBook Pro (Retina, 13-inch, Mid 2014) with Big Sur installed on it
- Uses CoreGraphics framework
- Unix-like systems
- X11 ✅
- Tested on i3wm Arch Linux
- Uses X11 and XTest libraries
- Others (partially supported) ❌
- For other systems, the library defaults to using uinput
- While using uinput there are some limitations for the library
get_position
function is not implemented as uinput does not provide such a feature- The rest of the actions work and tested on KDE Wayland and sway
- X11 ✅
Library interface
/// Move the mouse to the given `x`, `y` coordinates
;
/// Get the current position of the mouse
;
/// Press down the given mouse button
;
/// Release the given mouse button
;
/// Click the given mouse button
;
/// Scroll the mouse wheel towards to the given direction
;
Example
This example program moves the mouse from left to right;
use thread;
use Duration;
use Mouse;
CLI binary
mouce comes with an example CLI program that uses mouce library functions. You can install the binary with;
cargo install mouce --features="cli"
and see mouce --help
for further details.