#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Event {
Key(Key),
Mouse(MouseEvent),
Unknown,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Key {
Char(char),
Ctrl(char),
Up,
Down,
Left,
Right,
PageUp,
PageDown,
Enter,
Backspace,
Esc,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct MouseEvent {
pub kind: MouseEventKind,
pub column: u16,
pub row: u16,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MouseEventKind {
Down(MouseButton),
Up(MouseButton),
Drag(MouseButton),
ScrollUp,
ScrollDown,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MouseButton {
Left,
Middle,
Right,
Other,
}