keyboard/generate_scancode.py

148 lines
3.4 KiB
Python

#!/usr/bin/env python3
scancode = [[0]*128, [0]*128]
scancode[0][0x0D] = '\t'
scancode[0][0x0E] = '`'
scancode[0][0x15] = 'q'
scancode[0][0x16] = '1'
scancode[0][0x1A] = 'z'
scancode[0][0x1B] = 's'
scancode[0][0x1C] = 'a'
scancode[0][0x1D] = 'w'
scancode[0][0x1E] = '2'
scancode[0][0x21] = 'c'
scancode[0][0x22] = 'x'
scancode[0][0x23] = 'd'
scancode[0][0x24] = 'e'
scancode[0][0x25] = '4'
scancode[0][0x26] = '3'
scancode[0][0x29] = ' '
scancode[0][0x2A] = 'v'
scancode[0][0x2B] = 'f'
scancode[0][0x2C] = 't'
scancode[0][0x2D] = 'r'
scancode[0][0x2E] = '5'
scancode[0][0x31] = 'n'
scancode[0][0x32] = 'b'
scancode[0][0x33] = 'h'
scancode[0][0x34] = 'g'
scancode[0][0x35] = 'y'
scancode[0][0x36] = '6'
scancode[0][0x3A] = 'm'
scancode[0][0x3B] = 'j'
scancode[0][0x3C] = 'u'
scancode[0][0x3D] = '7'
scancode[0][0x3E] = '8'
scancode[0][0x41] = ','
scancode[0][0x42] = 'k'
scancode[0][0x43] = 'i'
scancode[0][0x44] = 'o'
scancode[0][0x45] = '0'
scancode[0][0x46] = '9'
scancode[0][0x49] = '.'
scancode[0][0x4A] = '/'
scancode[0][0x4B] = 'l'
scancode[0][0x4C] = ';'
scancode[0][0x4D] = 'p'
scancode[0][0x4E] = '-'
scancode[0][0x52] = '\''
scancode[0][0x54] = '['
scancode[0][0x55] = '='
scancode[0][0x5A] = '\r'
scancode[0][0x5B] = ']'
scancode[0][0x5D] = '\\'
scancode[0][0x66] = 0x08
scancode[0][0x69] = '1'
scancode[0][0x6B] = '2'
scancode[0][0x6C] = '7'
scancode[0][0x70] = '0'
scancode[0][0x71] = '.'
scancode[0][0x72] = '2'
scancode[0][0x73] = '5'
scancode[0][0x74] = '6'
scancode[0][0x75] = '8'
scancode[0][0x76] = 0x1B
scancode[0][0x79] = '+'
scancode[0][0x7A] = '3'
scancode[0][0x7B] = '-'
scancode[0][0x7C] = '*'
scancode[0][0x7D] = '9'
scancode[1][0x0D] = '\t'
scancode[1][0x0E] = '~'
scancode[1][0x15] = 'Q'
scancode[1][0x16] = '!'
scancode[1][0x1A] = 'Z'
scancode[1][0x1B] = 'S'
scancode[1][0x1C] = 'A'
scancode[1][0x1D] = 'W'
scancode[1][0x1E] = '@'
scancode[1][0x21] = 'C'
scancode[1][0x22] = 'X'
scancode[1][0x23] = 'D'
scancode[1][0x24] = 'E'
scancode[1][0x25] = '$'
scancode[1][0x26] = '#'
scancode[1][0x29] = ' '
scancode[1][0x2A] = 'V'
scancode[1][0x2B] = 'F'
scancode[1][0x2C] = 'T'
scancode[1][0x2D] = 'R'
scancode[1][0x2E] = '%'
scancode[1][0x31] = 'N'
scancode[1][0x32] = 'B'
scancode[1][0x33] = 'H'
scancode[1][0x34] = 'G'
scancode[1][0x35] = 'Y'
scancode[1][0x36] = '^'
scancode[1][0x3A] = 'M'
scancode[1][0x3B] = 'J'
scancode[1][0x3C] = 'U'
scancode[1][0x3D] = '&'
scancode[1][0x3E] = '*'
scancode[1][0x41] = '<'
scancode[1][0x42] = 'K'
scancode[1][0x43] = 'I'
scancode[1][0x44] = 'O'
scancode[1][0x45] = ')'
scancode[1][0x46] = '('
scancode[1][0x49] = '>'
scancode[1][0x4A] = '?'
scancode[1][0x4B] = 'L'
scancode[1][0x4C] = ':'
scancode[1][0x4D] = 'P'
scancode[1][0x4E] = '_'
scancode[1][0x52] = '"'
scancode[1][0x54] = '{'
scancode[1][0x55] = '+'
scancode[1][0x5A] = '\r'
scancode[1][0x5B] = '}'
scancode[1][0x5D] = '|'
scancode[1][0x66] = 0X08
scancode[1][0x69] = '1'
scancode[1][0x6B] = '2'
scancode[1][0x6C] = '7'
scancode[1][0x70] = '0'
scancode[1][0x71] = '.'
scancode[1][0x72] = '2'
scancode[1][0x73] = '5'
scancode[1][0x74] = '6'
scancode[1][0x75] = '8'
scancode[1][0x76] = 0X1B
scancode[1][0x79] = '+'
scancode[1][0x7A] = '3'
scancode[1][0x7B] = '-'
scancode[1][0x7C] = '*'
scancode[1][0x7D] = '9'
print("char scancode[2][128] = {")
for i in scancode:
print("\t{", end="")
for j in i:
if (type(j) == str):
j = ord(j)
print(f"0x{j:02x},", end="")
print("},")
print("};")