steeloxide 0.1.0

A rust library for interacting with SteelSeries devices.
Documentation
/// (c) ato
/// 
/// I only have Rival 3 :p

#[derive(Debug, Clone, Copy)]
pub enum MouseDevice {
    None,
    Rival3,
}

impl MouseDevice {
    pub fn from_product_id(product_id: u16) -> Self {
        match product_id {
            0x184c => MouseDevice::Rival3,
            _ => MouseDevice::None
        }
    }

    pub fn product_id(&self) -> u16 {
        match self {
            MouseDevice::None => 0,
            MouseDevice::Rival3 => 0x184c
        }
    }

    pub fn interface(&self) -> i32 {
        match self {
            MouseDevice::None => -1,
            MouseDevice::Rival3 => 3,
        }
    }

    pub fn get_zones(&self) -> usize {
        match self {
            MouseDevice::None => 0,
            MouseDevice::Rival3 => 4,
        }
    }
}