use windows_hotkeys::{
keys::{ModKey, VKey},
singlethreaded::HotkeyManager,
HotkeyManagerImpl,
};
enum ControlFlow {
Continue,
Exit,
}
fn main() {
let mut hkm = HotkeyManager::new();
hkm.register(VKey::A, &[ModKey::Ctrl, ModKey::Alt], || {
println!("Pressed CTRL + ALT + A");
ControlFlow::Continue
})
.unwrap();
hkm.register(VKey::C, &[ModKey::Ctrl, ModKey::Alt], || {
println!("Pressed CTRL + ALT + C");
println!("Breaking the loop");
ControlFlow::Exit
})
.unwrap();
loop {
let control_flow = hkm.handle_hotkey();
match control_flow {
Some(ControlFlow::Exit) | None => break,
_ => (),
}
}
println!("Loop exited");
}