1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
#[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum KeyCode { Escape, Up, Down, Left, Right, #[doc(hidden)] _NonExhaustive, } #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum ButtonState { Pressed, Released, } #[derive(Debug, Clone)] pub enum Event { Quit, KeyboardInput { key_code: Option<KeyCode>, key_state: ButtonState, }, #[doc(hidden)] _NonExhaustive, }