/// A button as reports name it; the wheel's two turns count as buttons. #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum Button { Left, Middle, Right, WheelUp, WheelDown, } /// What the mouse did. #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum Gesture { Press, Release, Motion, } /// A mouse event a program may ask for. #[derive(Clone, Copy, Debug)] pub struct Report { /// None for motion with no button down. pub button: Option