use crate::xinput::Keystroke as Struct;
use bytemuck::{Pod, Zeroable};
use winapi::um::xinput::*;
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Default, Pod, Zeroable)] #[repr(transparent)] pub struct Keystroke(u16);
flags! { Keystroke => u16; None, KeyDown, KeyUp, Repeat }
#[allow(non_upper_case_globals)] impl Keystroke {
pub const None : Keystroke = Keystroke(0);
pub const KeyDown : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYDOWN);
pub const KeyUp : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYUP);
pub const Repeat : Keystroke = Keystroke(XINPUT_KEYSTROKE_REPEAT);
}
#[allow(non_upper_case_globals)] impl Struct {
pub const None : Keystroke = Keystroke(0);
pub const KeyDown : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYDOWN);
pub const KeyUp : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYUP);
pub const Repeat : Keystroke = Keystroke(XINPUT_KEYSTROKE_REPEAT);
}
#[doc(hidden)] impl Struct {
pub const NONE : Keystroke = Keystroke(0);
pub const KEYDOWN : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYDOWN);
pub const KEYUP : Keystroke = Keystroke(XINPUT_KEYSTROKE_KEYUP);
pub const REPEAT : Keystroke = Keystroke(XINPUT_KEYSTROKE_REPEAT);
}