limelight-yew 0.1.0

Scaffolding for creating WebGL2-rendered Yew components with limelight
Documentation
#[derive(Clone, Copy, PartialEq, Debug)]
pub enum KeyCode {
    PrintableCharacter(char),
    Unidentified,
    Alt,
    AltGraph,
    ArrowDown,
    ArrowLeft,
    ArrowRight,
    ArrowUp,
    Backspace,
    CapsLock,
    Clear,
    Control,
    Copy,
    CrSel,
    Cut,
    Delete,
    End,
    Enter,
    EraseEof,
    ExSel,
    Fn,
    FnLock,
    Home,
    Insert,
    Meta,
    NumLock,
    PageDown,
    PageUp,
    Paste,
    Redo,
    ScrollLock,
    Shift,
    Symbol,
    SymbolLock,
    Tab,
    Undo,
}

impl From<&str> for KeyCode {
    fn from(key: &str) -> Self {
        match key {
            "Alt" => KeyCode::Alt,
            "AltGraph" => KeyCode::AltGraph,
            "ArrowDown" => KeyCode::ArrowDown,
            "ArrowLeft" => KeyCode::ArrowLeft,
            "ArrowRight" => KeyCode::ArrowRight,
            "ArrowUp" => KeyCode::ArrowUp,
            "Backspace" => KeyCode::Backspace,
            "CapsLock" => KeyCode::CapsLock,
            "Clear" => KeyCode::Clear,
            "Control" => KeyCode::Control,
            "Copy" => KeyCode::Copy,
            "CrSel" => KeyCode::CrSel,
            "Cut" => KeyCode::Cut,
            "Delete" => KeyCode::Delete,
            "End" => KeyCode::End,
            "Enter" => KeyCode::Enter,
            "EraseEof" => KeyCode::EraseEof,
            "ExSel" => KeyCode::ExSel,
            "Fn" => KeyCode::Fn,
            "FnLock" => KeyCode::FnLock,
            "Home" => KeyCode::Home,
            "Insert" => KeyCode::Insert,
            "Meta" => KeyCode::Meta,
            "NumLock" => KeyCode::NumLock,
            "PageDown" => KeyCode::PageDown,
            "PageUp" => KeyCode::PageUp,
            "Paste" => KeyCode::Paste,
            "Redo" => KeyCode::Redo,
            "ScrollLock" => KeyCode::ScrollLock,
            "Shift" => KeyCode::Shift,
            "Symbol" => KeyCode::Symbol,
            "SymbolLock" => KeyCode::SymbolLock,
            "Tab" => KeyCode::Tab,
            "Undo" => KeyCode::Undo,
            c if c.len() == 1 => KeyCode::PrintableCharacter(c.chars().next().unwrap()),
            _ => KeyCode::Unidentified,
        }
    }
}