ul-next 0.5.4

Ultralight Rust bindings
Documentation
/// You can see a description of each key code in KeyCodes.h
pub enum VirtualKeyCode {
    Back,
    Tab,
    Clear,
    Return,
    Shift,
    Control,
    Menu,
    Pause,
    Capital,
    Kana,
    Hangul,
    ImeOn,
    Junja,
    Final,
    Hanja,
    Kanji,
    ImeOff,
    Escape,
    Convert,
    Nonconvert,
    Accept,
    Modechange,
    Space,
    Prior,
    Next,
    End,
    Home,
    Left,
    Up,
    Right,
    Down,
    Select,
    Print,
    Execute,
    Snapshot,
    Insert,
    Delete,
    Help,
    Key0,
    Key1,
    Key2,
    Key3,
    Key4,
    Key5,
    Key6,
    Key7,
    Key8,
    Key9,
    A,
    B,
    C,
    D,
    E,
    F,
    G,
    H,
    I,
    J,
    K,
    L,
    M,
    N,
    O,
    P,
    Q,
    R,
    S,
    T,
    U,
    V,
    W,
    X,
    Y,
    Z,
    Lwin,
    Rwin,
    Apps,
    Sleep,
    Numpad0,
    Numpad1,
    Numpad2,
    Numpad3,
    Numpad4,
    Numpad5,
    Numpad6,
    Numpad7,
    Numpad8,
    Numpad9,
    Multiply,
    Add,
    Separator,
    Subtract,
    Decimal,
    Divide,
    F1,
    F2,
    F3,
    F4,
    F5,
    F6,
    F7,
    F8,
    F9,
    F10,
    F11,
    F12,
    F13,
    F14,
    F15,
    F16,
    F17,
    F18,
    F19,
    F20,
    F21,
    F22,
    F23,
    F24,
    Numlock,
    Scroll,
    Lshift,
    Rshift,
    Lcontrol,
    Rcontrol,
    Lmenu,
    Rmenu,
    BrowserBack,
    BrowserForward,
    BrowserRefresh,
    BrowserStop,
    BrowserSearch,
    BrowserFavorites,
    BrowserHome,
    VolumeMute,
    VolumeDown,
    VolumeUp,
    MediaNextTrack,
    MediaPrevTrack,
    MediaStop,
    MediaPlayPause,
    MediaLaunchMail,
    MediaLaunchMediaSelect,
    MediaLaunchApp1,
    MediaLaunchApp2,
    Oem1,
    OemPlus,
    OemComma,
    OemMinus,
    OemPeriod,
    Oem2,
    Oem3,
    Oem4,
    Oem5,
    Oem6,
    Oem7,
    Oem8,
    Oem102,
    Processkey,
    Packet,
    OemAttn,
    Attn,
    Crsel,
    Exsel,
    Ereof,
    Play,
    Zoom,
    Noname,
    Pa1,
    OemClear,
    Unknown,
}

impl From<VirtualKeyCode> for i32 {
    fn from(val: VirtualKeyCode) -> Self {
        match val {
            VirtualKeyCode::Back => 0x08,
            VirtualKeyCode::Tab => 0x09,
            VirtualKeyCode::Clear => 0x0C,
            VirtualKeyCode::Return => 0x0D,
            VirtualKeyCode::Shift => 0x10,
            VirtualKeyCode::Control => 0x11,
            VirtualKeyCode::Menu => 0x12,
            VirtualKeyCode::Pause => 0x13,
            VirtualKeyCode::Capital => 0x14,
            VirtualKeyCode::Kana => 0x15,
            VirtualKeyCode::Hangul => 0x15,
            VirtualKeyCode::ImeOn => 0x16,
            VirtualKeyCode::Junja => 0x17,
            VirtualKeyCode::Final => 0x18,
            VirtualKeyCode::Hanja => 0x19,
            VirtualKeyCode::Kanji => 0x19,
            VirtualKeyCode::ImeOff => 0x1A,
            VirtualKeyCode::Escape => 0x1B,
            VirtualKeyCode::Convert => 0x1C,
            VirtualKeyCode::Nonconvert => 0x1D,
            VirtualKeyCode::Accept => 0x1E,
            VirtualKeyCode::Modechange => 0x1F,
            VirtualKeyCode::Space => 0x20,
            VirtualKeyCode::Prior => 0x21,
            VirtualKeyCode::Next => 0x22,
            VirtualKeyCode::End => 0x23,
            VirtualKeyCode::Home => 0x24,
            VirtualKeyCode::Left => 0x25,
            VirtualKeyCode::Up => 0x26,
            VirtualKeyCode::Right => 0x27,
            VirtualKeyCode::Down => 0x28,
            VirtualKeyCode::Select => 0x29,
            VirtualKeyCode::Print => 0x2A,
            VirtualKeyCode::Execute => 0x2B,
            VirtualKeyCode::Snapshot => 0x2C,
            VirtualKeyCode::Insert => 0x2D,
            VirtualKeyCode::Delete => 0x2E,
            VirtualKeyCode::Help => 0x2F,
            VirtualKeyCode::Key0 => 0x30,
            VirtualKeyCode::Key1 => 0x31,
            VirtualKeyCode::Key2 => 0x32,
            VirtualKeyCode::Key3 => 0x33,
            VirtualKeyCode::Key4 => 0x34,
            VirtualKeyCode::Key5 => 0x35,
            VirtualKeyCode::Key6 => 0x36,
            VirtualKeyCode::Key7 => 0x37,
            VirtualKeyCode::Key8 => 0x38,
            VirtualKeyCode::Key9 => 0x39,
            VirtualKeyCode::A => 0x41,
            VirtualKeyCode::B => 0x42,
            VirtualKeyCode::C => 0x43,
            VirtualKeyCode::D => 0x44,
            VirtualKeyCode::E => 0x45,
            VirtualKeyCode::F => 0x46,
            VirtualKeyCode::G => 0x47,
            VirtualKeyCode::H => 0x48,
            VirtualKeyCode::I => 0x49,
            VirtualKeyCode::J => 0x4A,
            VirtualKeyCode::K => 0x4B,
            VirtualKeyCode::L => 0x4C,
            VirtualKeyCode::M => 0x4D,
            VirtualKeyCode::N => 0x4E,
            VirtualKeyCode::O => 0x4F,
            VirtualKeyCode::P => 0x50,
            VirtualKeyCode::Q => 0x51,
            VirtualKeyCode::R => 0x52,
            VirtualKeyCode::S => 0x53,
            VirtualKeyCode::T => 0x54,
            VirtualKeyCode::U => 0x55,
            VirtualKeyCode::V => 0x56,
            VirtualKeyCode::W => 0x57,
            VirtualKeyCode::X => 0x58,
            VirtualKeyCode::Y => 0x59,
            VirtualKeyCode::Z => 0x5A,
            VirtualKeyCode::Lwin => 0x5B,
            VirtualKeyCode::Rwin => 0x5C,
            VirtualKeyCode::Apps => 0x5D,
            VirtualKeyCode::Sleep => 0x5F,
            VirtualKeyCode::Numpad0 => 0x60,
            VirtualKeyCode::Numpad1 => 0x61,
            VirtualKeyCode::Numpad2 => 0x62,
            VirtualKeyCode::Numpad3 => 0x63,
            VirtualKeyCode::Numpad4 => 0x64,
            VirtualKeyCode::Numpad5 => 0x65,
            VirtualKeyCode::Numpad6 => 0x66,
            VirtualKeyCode::Numpad7 => 0x67,
            VirtualKeyCode::Numpad8 => 0x68,
            VirtualKeyCode::Numpad9 => 0x69,
            VirtualKeyCode::Multiply => 0x6A,
            VirtualKeyCode::Add => 0x6B,
            VirtualKeyCode::Separator => 0x6C,
            VirtualKeyCode::Subtract => 0x6D,
            VirtualKeyCode::Decimal => 0x6E,
            VirtualKeyCode::Divide => 0x6F,
            VirtualKeyCode::F1 => 0x70,
            VirtualKeyCode::F2 => 0x71,
            VirtualKeyCode::F3 => 0x72,
            VirtualKeyCode::F4 => 0x73,
            VirtualKeyCode::F5 => 0x74,
            VirtualKeyCode::F6 => 0x75,
            VirtualKeyCode::F7 => 0x76,
            VirtualKeyCode::F8 => 0x77,
            VirtualKeyCode::F9 => 0x78,
            VirtualKeyCode::F10 => 0x79,
            VirtualKeyCode::F11 => 0x7A,
            VirtualKeyCode::F12 => 0x7B,
            VirtualKeyCode::F13 => 0x7C,
            VirtualKeyCode::F14 => 0x7D,
            VirtualKeyCode::F15 => 0x7E,
            VirtualKeyCode::F16 => 0x7F,
            VirtualKeyCode::F17 => 0x80,
            VirtualKeyCode::F18 => 0x81,
            VirtualKeyCode::F19 => 0x82,
            VirtualKeyCode::F20 => 0x83,
            VirtualKeyCode::F21 => 0x84,
            VirtualKeyCode::F22 => 0x85,
            VirtualKeyCode::F23 => 0x86,
            VirtualKeyCode::F24 => 0x87,
            VirtualKeyCode::Numlock => 0x90,
            VirtualKeyCode::Scroll => 0x91,
            VirtualKeyCode::Lshift => 0xA0,
            VirtualKeyCode::Rshift => 0xA1,
            VirtualKeyCode::Lcontrol => 0xA2,
            VirtualKeyCode::Rcontrol => 0xA3,
            VirtualKeyCode::Lmenu => 0xA4,
            VirtualKeyCode::Rmenu => 0xA5,
            VirtualKeyCode::BrowserBack => 0xA6,
            VirtualKeyCode::BrowserForward => 0xA7,
            VirtualKeyCode::BrowserRefresh => 0xA8,
            VirtualKeyCode::BrowserStop => 0xA9,
            VirtualKeyCode::BrowserSearch => 0xAA,
            VirtualKeyCode::BrowserFavorites => 0xAB,
            VirtualKeyCode::BrowserHome => 0xAC,
            VirtualKeyCode::VolumeMute => 0xAD,
            VirtualKeyCode::VolumeDown => 0xAE,
            VirtualKeyCode::VolumeUp => 0xAF,
            VirtualKeyCode::MediaNextTrack => 0xB0,
            VirtualKeyCode::MediaPrevTrack => 0xB1,
            VirtualKeyCode::MediaStop => 0xB2,
            VirtualKeyCode::MediaPlayPause => 0xB3,
            VirtualKeyCode::MediaLaunchMail => 0xB4,
            VirtualKeyCode::MediaLaunchMediaSelect => 0xB5,
            VirtualKeyCode::MediaLaunchApp1 => 0xB6,
            VirtualKeyCode::MediaLaunchApp2 => 0xB7,
            VirtualKeyCode::Oem1 => 0xBA,
            VirtualKeyCode::OemPlus => 0xBB,
            VirtualKeyCode::OemComma => 0xBC,
            VirtualKeyCode::OemMinus => 0xBD,
            VirtualKeyCode::OemPeriod => 0xBE,
            VirtualKeyCode::Oem2 => 0xBF,
            VirtualKeyCode::Oem3 => 0xC0,
            VirtualKeyCode::Oem4 => 0xDB,
            VirtualKeyCode::Oem5 => 0xDC,
            VirtualKeyCode::Oem6 => 0xDD,
            VirtualKeyCode::Oem7 => 0xDE,
            VirtualKeyCode::Oem8 => 0xDF,
            VirtualKeyCode::Oem102 => 0xE2,
            VirtualKeyCode::Processkey => 0xE5,
            VirtualKeyCode::Packet => 0xE7,
            VirtualKeyCode::OemAttn => 0xF0,
            VirtualKeyCode::Attn => 0xF6,
            VirtualKeyCode::Crsel => 0xF7,
            VirtualKeyCode::Exsel => 0xF8,
            VirtualKeyCode::Ereof => 0xF9,
            VirtualKeyCode::Play => 0xFA,
            VirtualKeyCode::Zoom => 0xFB,
            VirtualKeyCode::Noname => 0xFC,
            VirtualKeyCode::Pa1 => 0xFD,
            VirtualKeyCode::OemClear => 0xFE,
            VirtualKeyCode::Unknown => 0,
        }
    }
}