rdev 0.5.3

Listen and send keyboard and mouse events on Windows, Linux and MacOS.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use rdev::{EventType, Key, Keyboard, KeyboardState};

fn main() {
    let mut keyboard = Keyboard::new().unwrap();
    let char_s = keyboard.add(&EventType::KeyPress(Key::KeyS)).unwrap();
    assert_eq!(char_s, "s".to_string());
    println!("Pressing S gives: {:?}", char_s);
    let n = keyboard.add(&EventType::KeyRelease(Key::KeyS));
    assert_eq!(n, None);

    keyboard.add(&EventType::KeyPress(Key::ShiftLeft));
    let char_s = keyboard.add(&EventType::KeyPress(Key::KeyS)).unwrap();
    println!("Pressing Shift+S gives: {:?}", char_s);
    assert_eq!(char_s, "S".to_string());
    let n = keyboard.add(&EventType::KeyRelease(Key::KeyS));
    assert_eq!(n, None);
    keyboard.add(&EventType::KeyRelease(Key::ShiftLeft));
}