41 lines
720 B
Rust
41 lines
720 B
Rust
|
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
|
pub enum ControllerDevice {
|
|
A,
|
|
B,
|
|
C,
|
|
D,
|
|
}
|
|
|
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
|
pub enum ControllerInput {
|
|
DpadUp(bool),
|
|
DpadDown(bool),
|
|
DpadLeft(bool),
|
|
DpadRight(bool),
|
|
ButtonA(bool),
|
|
ButtonB(bool),
|
|
ButtonC(bool),
|
|
ButtonX(bool),
|
|
ButtonY(bool),
|
|
ButtonZ(bool),
|
|
Start(bool),
|
|
Mode(bool),
|
|
}
|
|
|
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
|
pub struct ControllerEvent {
|
|
pub device: ControllerDevice,
|
|
pub input: ControllerInput,
|
|
}
|
|
|
|
impl ControllerEvent {
|
|
pub fn new(device: ControllerDevice, input: ControllerInput) -> Self {
|
|
Self {
|
|
device,
|
|
input,
|
|
}
|
|
}
|
|
}
|
|
|