1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
pub enum Mouse {
    Left,
    Right,
    Middle,
    Release,
    WheelUp,
    WheelDown
}

impl Mouse {
    pub fn from_code(code: u16) -> Option<Mouse> {
        match code {
            65513 => Some(Mouse::Left),
            65512 => Some(Mouse::Right),
            65511 => Some(Mouse::Middle),
            65510 => Some(Mouse::Release),
            65509 => Some(Mouse::WheelUp),
            65508 => Some(Mouse::WheelDown),
            _ => None
        }
    }
}