use sdl3::keyboard::Keycode;
#[derive(Clone, Copy, Debug)]
pub enum Command {
Move(i32, i32),
Descend,
Quaff,
Read,
Reload,
Quit,
}
pub fn translate(keycode: Keycode) -> Option<Command> {
match keycode {
Keycode::Escape => Some(Command::Quit),
Keycode::Up | Keycode::K => Some(Command::Move(0, -1)),
Keycode::Down | Keycode::J => Some(Command::Move(0, 1)),
Keycode::Left | Keycode::H => Some(Command::Move(-1, 0)),
Keycode::Right | Keycode::L => Some(Command::Move(1, 0)),
Keycode::Y => Some(Command::Move(-1, -1)),
Keycode::U => Some(Command::Move(1, -1)),
Keycode::B => Some(Command::Move(-1, 1)),
Keycode::N => Some(Command::Move(1, 1)),
Keycode::Period | Keycode::Space => Some(Command::Move(0, 0)),
Keycode::Q => Some(Command::Quaff),
Keycode::R => Some(Command::Read),
Keycode::F5 => Some(Command::Reload),
_ => None,
}
}