Crates.io | keyfn-closures |
lib.rs | keyfn-closures |
version | 0.2.1 |
source | src |
created_at | 2023-02-05 23:17:50.271793 |
updated_at | 2023-02-05 23:17:50.271793 |
description | call function on keypress/release |
homepage | https://github.com/gboncoffee/keyfn-closures |
repository | https://github.com/gboncoffee/keyfn-closures |
max_upload_size | |
id | 777506 |
size | 10,540 |
Bind key events (press/release) to closures in rust using xlib. Supports same key with different modifier.
This is a fork from the crate keyfn
by einzigartigerName.
Add this to your Cargo.toml
[dependencies]
keyfn-closures = "0.2.1"
extern crate keyfn;
use keyfn::*;
fn main(){
// create new KeyStorage
let mut storage = KeyStorage::new();
// Call crtl-a_pressed when Control + a is pressed
let ctrl_a = KeyBind::new(
keysym::XK_a,
vec![Mod::Control],
Trigger::Pressed,
ctrl_a_pressed,
);
// Add KeyBind to storage
storage.add(ctrl_a);
// start storage
storage.start();
}
fn ctrl_a_pressed(){
println!("Control + A pressed!");
}