use cirious_codex_term::event::{self, Event, KeyCode};
use cirious_codex_term::RawModeGuard;
use cirious_codex_term::{Cursor, Screen};
use std::io;
use std::time::Duration;
fn main() -> io::Result<()> {
let _raw = RawModeGuard::enable()?;
let mut stdout = io::stdout();
Cursor::hide(&mut stdout)?;
Screen::clear()?;
Cursor::set_position(&mut stdout, 1, 1)?;
println!("Interactive Mode! Press the Arrow keys to test, or 'q' to quit.\r");
loop {
if event::poll(Duration::from_millis(50))? {
match event::read()? {
Event::Key(key_event) => match key_event.code {
KeyCode::Up => println!("Up Arrow detected!\r"),
KeyCode::Down => println!("Down Arrow detected!\r"),
KeyCode::Left => println!("Left Arrow detected!\r"),
KeyCode::Right => println!("Right Arrow detected!\r"),
KeyCode::Enter => println!("Enter pressed!\r"),
KeyCode::Char('q') => {
println!("Exiting system...\r");
break; }
KeyCode::Char(c) => println!("You typed: {c}\r"),
_ => {} },
}
} else {
}
}
Cursor::show(&mut stdout)?;
Ok(())
}