static ENGLISH: [[char; 3]; 58] = [ ['\0', '\0', '\0'], ['\x1B', '\x1B', '\x1B'], ['1', '!', '1'], ['2', '@', '2'], ['3', '#', '3'], ['4', '$', '4'], ['5', '%', '5'], ['6', '^', '6'], ['7', '&', '7'], ['8', '*', '8'], ['9', '(', '9'], ['0', ')', '0'], ['-', '_', '-'], ['=', '+', '='], ['\0', '\0', '\0'], ['\t', '\t', '\t'], ['q', 'Q', 'q'], ['w', 'W', 'w'], ['e', 'E', 'e'], ['r', 'R', 'r'], ['t', 'T', 't'], ['y', 'Y', 'y'], ['u', 'U', 'u'], ['i', 'I', 'i'], ['o', 'O', 'o'], ['p', 'P', 'p'], ['[', '{', '['], [']', '}', ']'], ['\n', '\n', '\n'], ['\0', '\0', '\0'], ['a', 'A', 'a'], ['s', 'S', 's'], ['d', 'D', 'd'], ['f', 'F', 'f'], ['g', 'G', 'g'], ['h', 'H', 'h'], ['j', 'J', 'j'], ['k', 'K', 'k'], ['l', 'L', 'l'], [';', ':', ';'], ['\'', '"', '\''], ['`', '~', '`'], ['\0', '\0', '\0'], ['\\', '|', '\\'], ['z', 'Z', 'z'], ['x', 'X', 'x'], ['c', 'C', 'c'], ['v', 'V', 'v'], ['b', 'B', 'b'], ['n', 'N', 'n'], ['m', 'M', 'm'], [',', '<', ','], ['.', '>', '.'], ['/', '?', '/'], ['\0', '\0', '\0'], ['\0', '\0', '\0'], ['\0', '\0', '\0'], [' ', ' ', ' '] ]; pub fn get_char(scancode: u8) -> char { if let Some(c) = ENGLISH.get(scancode as usize) { c[0] } else { '\0' } }