Skip to main content

intro/
intro.rs

1extern crate keyfn;
2
3use keyfn::*;
4
5fn main(){
6     // create new KeyStorage
7    let mut storage = KeyStorage::new();
8
9    // Call crtl_a_pressed when Control + a is pressed
10    let ctrl_a = KeyBind::new(
11        keysym::XK_a,
12        vec![Mod::Control],
13        Trigger::Pressed,
14        ctrl_a_pressed,
15    );
16
17    // Call crtl-alt_a_pressed when Control + Alt + a is pressed
18    let ctrl_alt_a = KeyBind::new(
19        keysym::XK_a,
20        vec![Mod::Control, Mod::Alt],
21        Trigger::Pressed,
22        ctrl_alt_a_pressed,
23    );
24    
25    // Add KeyBinds to storage
26    storage.add(ctrl_a);
27    storage.add(ctrl_alt_a);
28
29    // start storage
30    storage.start();
31}
32
33fn ctrl_a_pressed(){
34    println!("Control + A pressed!");
35}
36
37fn ctrl_alt_a_pressed(){
38    println!("Control + Alt + A pressed!");
39}