add: struct holding a key and an action

v0.1.1
rrr-marble 5 years ago
parent a05ed22f26
commit 4fa69afa9e

@ -11,11 +11,17 @@ fn main() -> () {
} }
println!("{}", D.name().unwrap_or("Unknown device")); println!("{}", D.name().unwrap_or("Unknown device"));
let side_handle = std::thread::spawn(|| loop { let side_handle = std::thread::spawn(|| {
if D.get_key_state().unwrap().contains(evdev::Key::BTN_SIDE) { let pedal = Pedal {
println!("BTN_SIDE"); key: evdev::Key::BTN_SIDE,
action: Box::new(|| println!("BTN_SIDE")),
};
loop {
if D.get_key_state().unwrap().contains(pedal.key) {
(*pedal.action)();
}
std::thread::sleep(std::time::Duration::from_millis(100));
} }
std::thread::sleep(std::time::Duration::from_millis(100));
}); });
let extra_handle = std::thread::spawn(|| loop { let extra_handle = std::thread::spawn(|| loop {
@ -49,3 +55,8 @@ fn pick_device() -> evdev::Device {
devices.into_iter().nth(n).unwrap() devices.into_iter().nth(n).unwrap()
} }
} }
struct Pedal {
key: evdev::Key,
action: Box<dyn Fn() -> ()>,
}

Loading…
Cancel
Save