bracket-terminal 0.8.1

ASCII/Codepage 437 terminal emulator with a game loop. Defaults to OpenGL, also support Amethyst, Curses and Crossterm for output. Part of the bracket-lib family.
Documentation
use winit::event::VirtualKeyCode;

pub fn virtual_key_code_to_scan(key: VirtualKeyCode) -> u32 {
    match key {
        VirtualKeyCode::Escape => 1,
        VirtualKeyCode::F1 => 59,
        VirtualKeyCode::F2 => 60,
        VirtualKeyCode::F3 => 61,
        VirtualKeyCode::F4 => 62,
        VirtualKeyCode::F5 => 63,
        VirtualKeyCode::F6 => 64,
        VirtualKeyCode::F7 => 65,
        VirtualKeyCode::F8 => 66,
        VirtualKeyCode::F9 => 67,
        VirtualKeyCode::F10 => 68,
        VirtualKeyCode::F11 => 87,
        VirtualKeyCode::F12 => 88,
        VirtualKeyCode::Scroll => 70,
        VirtualKeyCode::Pause => 69,
        VirtualKeyCode::Back => 14,
        VirtualKeyCode::Grave => 41,
        VirtualKeyCode::Key1 => 2,
        VirtualKeyCode::Key2 => 3,
        VirtualKeyCode::Key3 => 4,
        VirtualKeyCode::Key4 => 5,
        VirtualKeyCode::Key5 => 6,
        VirtualKeyCode::Key6 => 7,
        VirtualKeyCode::Key7 => 8,
        VirtualKeyCode::Key8 => 9,
        VirtualKeyCode::Key9 => 10,
        VirtualKeyCode::Key0 => 11,
        VirtualKeyCode::Minus => 12,
        VirtualKeyCode::Equals => 13,
        VirtualKeyCode::Insert => 82,
        VirtualKeyCode::Home => 71,
        VirtualKeyCode::PageUp => 73,
        VirtualKeyCode::Divide => 53,
        VirtualKeyCode::Multiply => 55,
        VirtualKeyCode::Subtract => 74,
        VirtualKeyCode::Tab => 15,
        VirtualKeyCode::Q => 16,
        VirtualKeyCode::W => 17,
        VirtualKeyCode::E => 18,
        VirtualKeyCode::R => 19,
        VirtualKeyCode::T => 20,
        VirtualKeyCode::Y => 21,
        VirtualKeyCode::U => 22,
        VirtualKeyCode::I => 23,
        VirtualKeyCode::O => 24,
        VirtualKeyCode::P => 25,
        VirtualKeyCode::LBracket => 26,
        VirtualKeyCode::RBracket => 27,
        VirtualKeyCode::Backslash => 43,
        VirtualKeyCode::Delete => 83,
        VirtualKeyCode::End => 79,
        VirtualKeyCode::PageDown => 81,
        VirtualKeyCode::Numpad7 => 71,
        VirtualKeyCode::Numpad8 => 72,
        VirtualKeyCode::Numpad9 => 73,
        VirtualKeyCode::Add => 78,
        VirtualKeyCode::Capital => 58,
        VirtualKeyCode::A => 30,
        VirtualKeyCode::S => 31,
        VirtualKeyCode::D => 32,
        VirtualKeyCode::F => 33,
        VirtualKeyCode::G => 34,
        VirtualKeyCode::H => 35,
        VirtualKeyCode::J => 36,
        VirtualKeyCode::K => 37,
        VirtualKeyCode::L => 38,
        VirtualKeyCode::Semicolon => 39,
        VirtualKeyCode::Apostrophe => 40,
        VirtualKeyCode::Return => 28,
        VirtualKeyCode::Numpad4 => 75,
        VirtualKeyCode::Numpad5 => 76,
        VirtualKeyCode::Numpad6 => 77,
        VirtualKeyCode::LShift => 42,
        VirtualKeyCode::Z => 44,
        VirtualKeyCode::X => 45,
        VirtualKeyCode::C => 46,
        VirtualKeyCode::V => 47,
        VirtualKeyCode::B => 48,
        VirtualKeyCode::N => 49,
        VirtualKeyCode::M => 50,
        VirtualKeyCode::Comma => 51,
        VirtualKeyCode::Period => 52,
        VirtualKeyCode::Slash => 53,
        VirtualKeyCode::RShift => 54,
        VirtualKeyCode::Up => 72,
        VirtualKeyCode::Numpad1 => 79,
        VirtualKeyCode::Numpad2 => 80,
        VirtualKeyCode::Numpad3 => 81,
        VirtualKeyCode::LControl => 29,
        VirtualKeyCode::LWin => 91,
        VirtualKeyCode::LAlt => 56,
        VirtualKeyCode::Space => 57,
        VirtualKeyCode::RAlt => 56,
        VirtualKeyCode::Apps => 93,
        VirtualKeyCode::RControl => 29,
        VirtualKeyCode::Left => 75,
        VirtualKeyCode::Down => 80,
        VirtualKeyCode::Right => 77,
        VirtualKeyCode::Numpad0 => 82,
        VirtualKeyCode::Decimal => 83,
        _ => 0,
    }
}