17 releases
0.5.1 | Dec 6, 2022 |
---|---|
0.5.0 | May 13, 2022 |
0.4.8 | Jan 2, 2022 |
0.4.7 | Oct 11, 2021 |
0.1.1 | Jul 31, 2021 |
#1334 in Hardware support
41 downloads per month
105KB
2.5K
SLoC
hookmap
Register hotkeys and simulate keyboard and mosue input.
Supported OS
- Windows 10
Example
use hookmap::prelude::*;
fn main() {
let mut hotkey = Hotkey::new();
// Remap H,J,K,L keys as in vim.
hotkey
.register(Context::default())
.remap(Button::H, Button::LeftArrow)
.remap(Button::J, Button::DownArrow)
.remap(Button::K, Button::UpArrow)
.remap(Button::L, Button::RightArrow);
// You can define hotkeys that work only when specific keys are pressed or released.
hotkey
.register(
Context::new()
.modifiers(buttons!(LCtrl, !RShift))
.native_event_operation(NativeEventOperation::Block),
)
.on_press(Button::Space, |_| {
seq!(with(LCtrl), A).send_ignore_modifiers();
})
.disable(buttons!(A, B))
.on_release(buttons!(A, B), |event: ButtonEvent| {
seq!(with(LShift), [event.target]).send_ignore_modifiers();
});
hotkey.install();
}
Dependencies
~1–26MB
~353K SLoC