InputBot
A Rust library for creating global hotkeys, and emulating inputs.
Unlike AutoHotkey, InputBot handles hotkeys concurrently and supports both Windows and Linux.
How-To
The code below demonstrates how to create some simple hotkeys.
extern crate inputbot;
use inputbot::*;
use KeybdKey::*;
use MouseButton::*;
use std::time::Duration;
use std::thread::sleep;
fn main() {
NumLockKey.bind(|| {
while NumLockKey.is_toggled() {
LShiftKey.press();
WKey.press();
sleep(Duration::from_millis(50));
WKey.release();
LShiftKey.release();
}
});
RightButton.bind(|| {
while RightButton.is_pressed() {
LeftButton.press();
sleep(Duration::from_millis(50));
LeftButton.release();
}
});
QKey.bind(|| MouseCursor.move_rel(10, 10));
handle_input_events();
}