extern crate mortal;
use std::io;
use mortal::{Event, Key, PrepareConfig, SignalSet, Terminal};
fn main() -> io::Result<()> {
let term = Terminal::new()?;
let state = term.prepare(PrepareConfig{
block_signals: false,
report_signals: SignalSet::all(),
.. PrepareConfig::default()
})?;
println!("Reading input. Press 'q' to stop.");
loop {
if let Some(ev) = term.read_event(None)? {
if let Event::NoEvent = ev {
continue;
}
println!("read event: {:?}", ev);
if let Event::Key(Key::Char('q')) = ev {
break;
}
}
}
term.restore(state)?;
Ok(())
}