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;
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u8)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum Modifier {
LShift,
LCtrl,
LAlt,
LMod,
RShift,
RCtrl,
RAlt,
RMod,
LCtrl = 0x01,
LShift = 0x02,
LAlt = 0x04,
LMod = 0x08,
RCtrl = 0x10,
RShift = 0x20,
RAlt = 0x40,
RMod = 0x80,
}
impl From<Modifier> for u8 {
fn from(modifier: Modifier) -> Self {
modifier as u8
}
}
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]