22 个版本
0.2.1 | 2024年5月16日 |
---|---|
0.2.0-rc2 | 2023年11月18日 |
0.1.2 | 2023年4月3日 |
0.1.1 | 2023年3月30日 |
0.0.7 | 2017年2月5日 |
#12 in 硬件支持
5,704 每月下载量
在 45 个crates中使用(38 个直接使用)
250KB
5.5K SLoC
enigo
Rust中的跨平台输入模拟!
- 序列化/反序列化
- Linux (X11) 鼠标
- Linux (X11) 文本
- Linux (Wayland) 鼠标
- Linux (Wayland) 文本
- Linux (libei) 鼠标
- Linux (libei) 文本
- MacOS 鼠标
- MacOS 文本
- Windows 鼠标
- Windows 文本
如果*BSD使用X11或Wayland,Enigo也可以在其上运行。我没有测试机器,也没有GitHub Action运行器,因此BSD支持没有明确列出。
let mut enigo = Enigo::new(&Settings::default()).unwrap();
enigo.move_mouse(500, 200, Abs).unwrap();
enigo.button(Button::Left, Click).unwrap();
enigo.text("Hello World! here is a lot of text ❤️").unwrap();
更多内容,请参阅(示例)。
特性
默认情况下,Enigo目前适用于Windows、macOS和Linux(X11)。如果您想能够序列化和反序列化Enigo的命令(示例),您需要激活serde
特性。
在Linux上模拟输入有多种方式,并非所有系统都支持所有功能。Enigo也可以使用wayland协议和libei来模拟输入,但其中有一些bug,因此它们被隐藏在特性标志后面。
如果您不希望您的用户在Linux上使用X11时安装任何运行时依赖项,您可以尝试实验性的x11rb
特性。
运行时依赖
如果Linux用户使用X11,他们可能需要安装libxdo-dev
。例如,在基于Debian的发行版上
apt-get install libxdo-dev
在Arch上
pacman -S xdotool
在Fedora上
dnf install libX11-devel libxdo-devel
在Gentoo上
emerge -a xdotool
从旧版本迁移
请查看我们的变更日志,了解如果使用过旧版本需要做什么。
权限
一些平台有安全措施,防止程序输入键或控制鼠标。查看权限文档,了解如何允许。
依赖项
~0–45MB
~734K SLoC