Model the keypad
Former-commit-id: 4f38fa754e3ee809a7386351297decb2d7f1451f
This commit is contained in:
parent
53115a9a58
commit
61e1f055f1
33
src/core/keypad.rs
Normal file
33
src/core/keypad.rs
Normal file
|
@ -0,0 +1,33 @@
|
|||
#[derive(Debug, Primitive, PartialEq)]
|
||||
#[repr(u8)]
|
||||
pub enum Keys {
|
||||
ButtonA = 0,
|
||||
ButtonB = 1,
|
||||
Select = 2,
|
||||
Start = 3,
|
||||
Right = 4,
|
||||
Left = 5,
|
||||
Up = 6,
|
||||
Down = 7,
|
||||
ButtonR = 8,
|
||||
ButtonL = 9,
|
||||
}
|
||||
|
||||
pub const NUM_KEYS: usize = 10;
|
||||
pub const KEYINPUT_ALL_RELEASED: u16 = 0b1111111111;
|
||||
|
||||
#[derive(Debug, Primitive, PartialEq)]
|
||||
#[repr(u8)]
|
||||
pub enum KeyState {
|
||||
Pressed = 0,
|
||||
Released = 1,
|
||||
}
|
||||
|
||||
impl Into<bool> for KeyState {
|
||||
fn into(self) -> bool {
|
||||
match self {
|
||||
KeyState::Pressed => false,
|
||||
KeyState::Released => true,
|
||||
}
|
||||
}
|
||||
}
|
Reference in a new issue