Bind key events (press/release) to functions in rust using xlib.\ Supports same key with different modifier. Functions are executed in new threads.
Add this to your Cargo.toml
[dependencies]
keyfn = "0.2.1"
``` rust 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 ctrlapressed(){ println!("Control + A pressed!"); } ```