#[derive(Debug, Clone, Copy)]
pub enum KeyboardDevice {
None,
Apex3TKL,
}
impl KeyboardDevice {
pub fn from_product_id(product_id: u16) -> Self {
match product_id {
0x1622 => KeyboardDevice::Apex3TKL,
_ => KeyboardDevice::None
}
}
pub fn product_id(&self) -> u16 {
match self {
KeyboardDevice::None => 0,
KeyboardDevice::Apex3TKL => 0x1622
}
}
pub fn interface(&self) -> i32 {
match self {
KeyboardDevice::None => -1,
KeyboardDevice::Apex3TKL => 1,
}
}
pub fn get_zones(&self) -> usize {
match self {
KeyboardDevice::None => 0,
KeyboardDevice::Apex3TKL => 8,
}
}
}