keyboard-codes 0.2.0

Cross-platform keyboard key code mapping and conversion
Documentation
use thiserror::Error;

/// Keyboard parsing and mapping errors
#[derive(Debug, Error, PartialEq, Eq, Clone)]
pub enum KeyParseError {
    /// Unknown key string encountered
    #[error("Unknown key: {0}")]
    UnknownKey(String),

    /// Unknown modifier string encountered  
    #[error("Unknown modifier: {0}")]
    UnknownModifier(String),

    /// Unsupported code value
    #[error("Unsupported code value: {0}")]
    UnsupportedCode(usize),

    /// Duplicate custom key name in mapping
    #[error("Duplicate custom key name: {0}")]
    DuplicateCustomKey(String),

    /// Invalid platform specification
    #[error("Invalid platform: {0}")]
    InvalidPlatform(String),

    /// Invalid shortcut format
    #[error("Invalid shortcut format: {0}")]
    InvalidShortcutFormat(String),
}