13个版本
0.6.0 | 2023年8月17日 |
---|---|
0.5.1 | 2021年9月5日 |
0.5.0 | 2020年8月30日 |
0.4.0 | 2017年12月23日 |
0.1.2 | 2017年6月19日 |
#235 在 硬件支持
770 每月下载量
用于 6 个包
59KB
1.5K SLoC
InputBot
跨平台(Windows & Linux)库,用于模拟键盘/鼠标输入事件并注册全局输入设备事件处理器。
允许编写将长操作序列压缩成单个按键的自动化程序。
用法
[dependencies]
inputbot = "0.6"
use inputbot::{KeySequence, KeybdKey::*, MouseButton::*};
use std::{thread::sleep, time::Duration};
fn main() {
// Bind the number 1 key your keyboard to a function that types
// "Hello, world!" when pressed.
Numrow1Key.bind(|| KeySequence("Hello, world!").send());
// Bind your caps lock key to a function that starts an autoclicker.
CapsLockKey.bind(move || {
while CapsLockKey.is_toggled() {
LeftButton.press();
LeftButton.release();
sleep(Duration::from_millis(30));
}
});
// Call this to start listening for bound inputs.
inputbot::handle_input_events();
}
注意:README和示例基于InputBot的develop
分支。如果某个功能不起作用,你很可能使用的是crates.io上的版本。如果你想使用最新构建版本,请在你的Cargo.toml中添加以下内容
[dependencies]
inputbot = { git = "https://github.com/obv-mikhail/InputBot", branch = "develop" }
查看 示例 了解如何使用每个功能。
构建依赖项
基于Debian或Ubuntu的发行版
- libx11-dev
- libxtst-dev
- libudev-dev
- libinput-dev
注意:libinput要求在Linux上以sudo运行InputBot - sudo ./target/debug/<程序名称>
。
示例
您可以通过克隆库并运行 cargo run --example <示例名称>
来运行包含的示例。类似于上面的注释,在Linux上您必须运行 cargo build --examples && sudo ./target/debug/<示例名称>
。
这在贡献时测试库特别有用。
依赖项
~0.4–1.9MB
~35K SLoC