Add bitmasks to Modifier enum

This commit is contained in:
2023-03-19 00:48:43 +01:00
parent c3e8a23344
commit 0366675bb3

View File

@ -3,16 +3,23 @@ use serde::{Deserialize, Serialize};
use crate::keys::Key; use crate::keys::Key;
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] #[repr(u8)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum Modifier { pub enum Modifier {
LShift, LCtrl = 0x01,
LCtrl, LShift = 0x02,
LAlt, LAlt = 0x04,
LMod, LMod = 0x08,
RShift, RCtrl = 0x10,
RCtrl, RShift = 0x20,
RAlt, RAlt = 0x40,
RMod, RMod = 0x80,
}
impl From<Modifier> for u8 {
fn from(modifier: Modifier) -> Self {
modifier as u8
}
} }
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]