
#include "keys.h"

const struct str ps2_key_str[] = {
    [KEY_EXTENDED            ] = str_attach("KEY_EXTENDED (PRESSED)"),
    [KEY_ESCAPE              ] = str_attach("KEY_ESCAPE (PRESSED)"),
    [KEY_1                   ] = str_attach("KEY_1 (PRESSED)"),
    [KEY_2                   ] = str_attach("KEY_2 (PRESSED)"),
    [KEY_3                   ] = str_attach("KEY_3 (PRESSED)"),
    [KEY_4                   ] = str_attach("KEY_4 (PRESSED)"),
    [KEY_5                   ] = str_attach("KEY_5 (PRESSED)"),
    [KEY_6                   ] = str_attach("KEY_6 (PRESSED)"),
    [KEY_7                   ] = str_attach("KEY_7 (PRESSED)"),
    [KEY_8                   ] = str_attach("KEY_8 (PRESSED)"),
    [KEY_9                   ] = str_attach("KEY_9 (PRESSED)"),
    [KEY_0                   ] = str_attach("KEY_0 (PRESSED)"),
    [KEY_MINUS               ] = str_attach("KEY_MINUS (PRESSED)"),
    [KEY_EQUALS              ] = str_attach("KEY_EQUALS (PRESSED)"),
    [KEY_BACKSPACE           ] = str_attach("KEY_BACKSPACE (PRESSED)"),
    [KEY_TAB                 ] = str_attach("KEY_TAB (PRESSED)"),
    [KEY_Q                   ] = str_attach("KEY_Q (PRESSED)"),
    [KEY_W                   ] = str_attach("KEY_W (PRESSED)"),
    [KEY_E                   ] = str_attach("KEY_E (PRESSED)"),
    [KEY_R                   ] = str_attach("KEY_R (PRESSED)"),
    [KEY_T                   ] = str_attach("KEY_T (PRESSED)"),
    [KEY_Y                   ] = str_attach("KEY_Y (PRESSED)"),
    [KEY_U                   ] = str_attach("KEY_U (PRESSED)"),
    [KEY_I                   ] = str_attach("KEY_I (PRESSED)"),
    [KEY_O                   ] = str_attach("KEY_O (PRESSED)"),
    [KEY_P                   ] = str_attach("KEY_P (PRESSED)"),
    [KEY_SQUARE_BRACKET_LEFT ] = str_attach("KEY_SQUARE_BRACKET_LEFT (PRESSED)"),
    [KEY_SQUARE_BRACKET_RIGHT] = str_attach("KEY_SQUARE_BRACKET_RIGHT (PRESSED)"),
    [KEY_ENTER               ] = str_attach("KEY_ENTER (PRESSED)"),
    [KEY_LEFT_CONTROL        ] = str_attach("KEY_LEFT_CONTROL (PRESSED)"),
    [KEY_A                   ] = str_attach("KEY_A (PRESSED)"),
    [KEY_S                   ] = str_attach("KEY_S (PRESSED)"),
    [KEY_D                   ] = str_attach("KEY_D (PRESSED)"),
    [KEY_F                   ] = str_attach("KEY_F (PRESSED)"),
    [KEY_G                   ] = str_attach("KEY_G (PRESSED)"),
    [KEY_H                   ] = str_attach("KEY_H (PRESSED)"),
    [KEY_J                   ] = str_attach("KEY_J (PRESSED)"),
    [KEY_K                   ] = str_attach("KEY_K (PRESSED)"),
    [KEY_L                   ] = str_attach("KEY_L (PRESSED)"),
    [KEY_SEMICOLON           ] = str_attach("KEY_SEMICOLON (PRESSED)"),
    [KEY_SINGLE_QUOTE        ] = str_attach("KEY_SINGLE_QUOTE (PRESSED)"),
    [KEY_BACKTICK            ] = str_attach("KEY_BACKTICK (PRESSED)"),
    [KEY_LEFT_SHIFT          ] = str_attach("KEY_LEFT_SHIFT (PRESSED)"),
    [KEY_BACKSLASH           ] = str_attach("KEY_BACKSLASH (PRESSED)"),
    [KEY_Z                   ] = str_attach("KEY_Z (PRESSED)"),
    [KEY_X                   ] = str_attach("KEY_X (PRESSED)"),
    [KEY_C                   ] = str_attach("KEY_C (PRESSED)"),
    [KEY_V                   ] = str_attach("KEY_V (PRESSED)"),
    [KEY_B                   ] = str_attach("KEY_B (PRESSED)"),
    [KEY_N                   ] = str_attach("KEY_N (PRESSED)"),
    [KEY_M                   ] = str_attach("KEY_M (PRESSED)"),
    [KEY_COMMA               ] = str_attach("KEY_COMMA (PRESSED)"),
    [KEY_DOT                 ] = str_attach("KEY_DOT (PRESSED)"),
    [KEY_FORWARD_SLASH       ] = str_attach("KEY_FORWARD_SLASH (PRESSED)"),
    [KEY_RIGHT_SHIFT         ] = str_attach("KEY_RIGHT_SHIFT (PRESSED)"),
    [KEY_KEYPAD_ASTERISK     ] = str_attach("KEY_KEYPAD_ASTERISK (PRESSED)"),
    [KEY_LEFT_ALT            ] = str_attach("KEY_LEFT_ALT (PRESSED)"),
    [KEY_SPACE               ] = str_attach("KEY_SPACE (PRESSED)"),
    [KEY_CAPSLOCK            ] = str_attach("KEY_CAPSLOCK (PRESSED)"),
    [KEY_F1                  ] = str_attach("KEY_F1 (PRESSED)"),
    [KEY_F2                  ] = str_attach("KEY_F2 (PRESSED)"),
    [KEY_F3                  ] = str_attach("KEY_F3 (PRESSED)"),
    [KEY_F4                  ] = str_attach("KEY_F4 (PRESSED)"),
    [KEY_F5                  ] = str_attach("KEY_F5 (PRESSED)"),
    [KEY_F6                  ] = str_attach("KEY_F6 (PRESSED)"),
    [KEY_F7                  ] = str_attach("KEY_F7 (PRESSED)"),
    [KEY_F8                  ] = str_attach("KEY_F8 (PRESSED)"),
    [KEY_F9                  ] = str_attach("KEY_F9 (PRESSED)"),
    [KEY_F10                 ] = str_attach("KEY_F10 (PRESSED)"),
    [KEY_NUMBERLOCK          ] = str_attach("KEY_NUMBERLOCK (PRESSED)"),
    [KEY_SCROLLLOCK          ] = str_attach("KEY_SCROLLLOCK (PRESSED)"),
    [KEY_KEYPAD_7            ] = str_attach("KEY_KEYPAD_7 (PRESSED)"),
    [KEY_KEYPAD_8            ] = str_attach("KEY_KEYPAD_8 (PRESSED)"),
    [KEY_KEYPAD_9            ] = str_attach("KEY_KEYPAD_9 (PRESSED)"),
    [KEY_KEYPAD_MINUS        ] = str_attach("KEY_KEYPAD_MINUS (PRESSED)"),
    [KEY_KEYPAD_4            ] = str_attach("KEY_KEYPAD_4 (PRESSED)"),
    [KEY_KEYPAD_5            ] = str_attach("KEY_KEYPAD_5 (PRESSED)"),
    [KEY_KEYPAD_6            ] = str_attach("KEY_KEYPAD_6 (PRESSED)"),
    [KEY_KEYPAD_PLUS         ] = str_attach("KEY_KEYPAD_PLUS (PRESSED)"),
    [KEY_KEYPAD_1            ] = str_attach("KEY_KEYPAD_1 (PRESSED)"),
    [KEY_KEYPAD_2            ] = str_attach("KEY_KEYPAD_2 (PRESSED)"),
    [KEY_KEYPAD_3            ] = str_attach("KEY_KEYPAD_3 (PRESSED)"),
    [KEY_KEYPAD_0            ] = str_attach("KEY_KEYPAD_0 (PRESSED)"),
    [KEY_KEYPAD_DOT          ] = str_attach("KEY_KEYPAD_DOT (PRESSED)"),
    [KEY_F11                 ] = str_attach("KEY_F11 (PRESSED)"),
    [KEY_F12                 ] = str_attach("KEY_F12 (PRESSED)"),

    [KEY_RELEASED | KEY_ESCAPE              ] = str_attach("KEY_ESCAPE (RELEASED)"),
    [KEY_RELEASED | KEY_1                   ] = str_attach("KEY_1 (RELEASED)"),
    [KEY_RELEASED | KEY_2                   ] = str_attach("KEY_2 (RELEASED)"),
    [KEY_RELEASED | KEY_3                   ] = str_attach("KEY_3 (RELEASED)"),
    [KEY_RELEASED | KEY_4                   ] = str_attach("KEY_4 (RELEASED)"),
    [KEY_RELEASED | KEY_5                   ] = str_attach("KEY_5 (RELEASED)"),
    [KEY_RELEASED | KEY_6                   ] = str_attach("KEY_6 (RELEASED)"),
    [KEY_RELEASED | KEY_7                   ] = str_attach("KEY_7 (RELEASED)"),
    [KEY_RELEASED | KEY_8                   ] = str_attach("KEY_8 (RELEASED)"),
    [KEY_RELEASED | KEY_9                   ] = str_attach("KEY_9 (RELEASED)"),
    [KEY_RELEASED | KEY_0                   ] = str_attach("KEY_0 (RELEASED)"),
    [KEY_RELEASED | KEY_MINUS               ] = str_attach("KEY_MINUS (RELEASED)"),
    [KEY_RELEASED | KEY_EQUALS              ] = str_attach("KEY_EQUALS (RELEASED)"),
    [KEY_RELEASED | KEY_BACKSPACE           ] = str_attach("KEY_BACKSPACE (RELEASED)"),
    [KEY_RELEASED | KEY_TAB                 ] = str_attach("KEY_TAB (RELEASED)"),
    [KEY_RELEASED | KEY_Q                   ] = str_attach("KEY_Q (RELEASED)"),
    [KEY_RELEASED | KEY_W                   ] = str_attach("KEY_W (RELEASED)"),
    [KEY_RELEASED | KEY_E                   ] = str_attach("KEY_E (RELEASED)"),
    [KEY_RELEASED | KEY_R                   ] = str_attach("KEY_R (RELEASED)"),
    [KEY_RELEASED | KEY_T                   ] = str_attach("KEY_T (RELEASED)"),
    [KEY_RELEASED | KEY_Y                   ] = str_attach("KEY_Y (RELEASED)"),
    [KEY_RELEASED | KEY_U                   ] = str_attach("KEY_U (RELEASED)"),
    [KEY_RELEASED | KEY_I                   ] = str_attach("KEY_I (RELEASED)"),
    [KEY_RELEASED | KEY_O                   ] = str_attach("KEY_O (RELEASED)"),
    [KEY_RELEASED | KEY_P                   ] = str_attach("KEY_P (RELEASED)"),
    [KEY_RELEASED | KEY_SQUARE_BRACKET_LEFT ] = str_attach("KEY_SQUARE_BRACKET_LEFT (RELEASED)"),
    [KEY_RELEASED | KEY_SQUARE_BRACKET_RIGHT] = str_attach("KEY_SQUARE_BRACKET_RIGHT (RELEASED)"),
    [KEY_RELEASED | KEY_ENTER               ] = str_attach("KEY_ENTER (RELEASED)"),
    [KEY_RELEASED | KEY_LEFT_CONTROL        ] = str_attach("KEY_LEFT_CONTROL (RELEASED)"),
    [KEY_RELEASED | KEY_A                   ] = str_attach("KEY_A (RELEASED)"),
    [KEY_RELEASED | KEY_S                   ] = str_attach("KEY_S (RELEASED)"),
    [KEY_RELEASED | KEY_D                   ] = str_attach("KEY_D (RELEASED)"),
    [KEY_RELEASED | KEY_F                   ] = str_attach("KEY_F (RELEASED)"),
    [KEY_RELEASED | KEY_G                   ] = str_attach("KEY_G (RELEASED)"),
    [KEY_RELEASED | KEY_H                   ] = str_attach("KEY_H (RELEASED)"),
    [KEY_RELEASED | KEY_J                   ] = str_attach("KEY_J (RELEASED)"),
    [KEY_RELEASED | KEY_K                   ] = str_attach("KEY_K (RELEASED)"),
    [KEY_RELEASED | KEY_L                   ] = str_attach("KEY_L (RELEASED)"),
    [KEY_RELEASED | KEY_SEMICOLON           ] = str_attach("KEY_SEMICOLON (RELEASED)"),
    [KEY_RELEASED | KEY_SINGLE_QUOTE        ] = str_attach("KEY_SINGLE_QUOTE (RELEASED)"),
    [KEY_RELEASED | KEY_BACKTICK            ] = str_attach("KEY_BACKTICK (RELEASED)"),
    [KEY_RELEASED | KEY_LEFT_SHIFT          ] = str_attach("KEY_LEFT_SHIFT (RELEASED)"),
    [KEY_RELEASED | KEY_BACKSLASH           ] = str_attach("KEY_BACKSLASH (RELEASED)"),
    [KEY_RELEASED | KEY_Z                   ] = str_attach("KEY_Z (RELEASED)"),
    [KEY_RELEASED | KEY_X                   ] = str_attach("KEY_X (RELEASED)"),
    [KEY_RELEASED | KEY_C                   ] = str_attach("KEY_C (RELEASED)"),
    [KEY_RELEASED | KEY_V                   ] = str_attach("KEY_V (RELEASED)"),
    [KEY_RELEASED | KEY_B                   ] = str_attach("KEY_B (RELEASED)"),
    [KEY_RELEASED | KEY_N                   ] = str_attach("KEY_N (RELEASED)"),
    [KEY_RELEASED | KEY_M                   ] = str_attach("KEY_M (RELEASED)"),
    [KEY_RELEASED | KEY_COMMA               ] = str_attach("KEY_COMMA (RELEASED)"),
    [KEY_RELEASED | KEY_DOT                 ] = str_attach("KEY_DOT (RELEASED)"),
    [KEY_RELEASED | KEY_FORWARD_SLASH       ] = str_attach("KEY_FORWARD_SLASH (RELEASED)"),
    [KEY_RELEASED | KEY_RIGHT_SHIFT         ] = str_attach("KEY_RIGHT_SHIFT (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_ASTERISK     ] = str_attach("KEY_KEYPAD_ASTERISK (RELEASED)"),
    [KEY_RELEASED | KEY_LEFT_ALT            ] = str_attach("KEY_LEFT_ALT (RELEASED)"),
    [KEY_RELEASED | KEY_SPACE               ] = str_attach("KEY_SPACE (RELEASED)"),
    [KEY_RELEASED | KEY_CAPSLOCK            ] = str_attach("KEY_CAPSLOCK (RELEASED)"),
    [KEY_RELEASED | KEY_F1                  ] = str_attach("KEY_F1 (RELEASED)"),
    [KEY_RELEASED | KEY_F2                  ] = str_attach("KEY_F2 (RELEASED)"),
    [KEY_RELEASED | KEY_F3                  ] = str_attach("KEY_F3 (RELEASED)"),
    [KEY_RELEASED | KEY_F4                  ] = str_attach("KEY_F4 (RELEASED)"),
    [KEY_RELEASED | KEY_F5                  ] = str_attach("KEY_F5 (RELEASED)"),
    [KEY_RELEASED | KEY_F6                  ] = str_attach("KEY_F6 (RELEASED)"),
    [KEY_RELEASED | KEY_F7                  ] = str_attach("KEY_F7 (RELEASED)"),
    [KEY_RELEASED | KEY_F8                  ] = str_attach("KEY_F8 (RELEASED)"),
    [KEY_RELEASED | KEY_F9                  ] = str_attach("KEY_F9 (RELEASED)"),
    [KEY_RELEASED | KEY_F10                 ] = str_attach("KEY_F10 (RELEASED)"),
    [KEY_RELEASED | KEY_NUMBERLOCK          ] = str_attach("KEY_NUMBERLOCK (RELEASED)"),
    [KEY_RELEASED | KEY_SCROLLLOCK          ] = str_attach("KEY_SCROLLLOCK (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_7            ] = str_attach("KEY_KEYPAD_7 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_8            ] = str_attach("KEY_KEYPAD_8 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_9            ] = str_attach("KEY_KEYPAD_9 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_MINUS        ] = str_attach("KEY_KEYPAD_MINUS (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_4            ] = str_attach("KEY_KEYPAD_4 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_5            ] = str_attach("KEY_KEYPAD_5 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_6            ] = str_attach("KEY_KEYPAD_6 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_PLUS         ] = str_attach("KEY_KEYPAD_PLUS (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_1            ] = str_attach("KEY_KEYPAD_1 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_2            ] = str_attach("KEY_KEYPAD_2 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_3            ] = str_attach("KEY_KEYPAD_3 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_0            ] = str_attach("KEY_KEYPAD_0 (RELEASED)"),
    [KEY_RELEASED | KEY_KEYPAD_DOT          ] = str_attach("KEY_KEYPAD_DOT (RELEASED)"),
    [KEY_RELEASED | KEY_F11                 ] = str_attach("KEY_F11 (RELEASED)"),
    [KEY_RELEASED | KEY_F12                 ] = str_attach("KEY_F12 (RELEASED)"),
};

const char ps2_key_char[] = {
    [KEY_1                    ] = '1',
    [KEY_2                    ] = '2',
    [KEY_3                    ] = '3',
    [KEY_4                    ] = '4',
    [KEY_5                    ] = '5',
    [KEY_6                    ] = '6',
    [KEY_7                    ] = '7',
    [KEY_8                    ] = '8',
    [KEY_9                    ] = '9',
    [KEY_0                    ] = '0',

    [KEY_A                    ] = 'a',
    [KEY_B                    ] = 'b',
    [KEY_C                    ] = 'c',
    [KEY_D                    ] = 'd',
    [KEY_E                    ] = 'e',
    [KEY_F                    ] = 'f',
    [KEY_G                    ] = 'g',
    [KEY_H                    ] = 'h',
    [KEY_I                    ] = 'i',
    [KEY_J                    ] = 'j',
    [KEY_K                    ] = 'k',
    [KEY_L                    ] = 'l',
    [KEY_M                    ] = 'm',
    [KEY_N                    ] = 'n',
    [KEY_O                    ] = 'o',
    [KEY_P                    ] = 'p',
    [KEY_Q                    ] = 'q',
    [KEY_R                    ] = 'r',
    [KEY_S                    ] = 's',
    [KEY_T                    ] = 't',
    [KEY_U                    ] = 'u',
    [KEY_V                    ] = 'v',
    [KEY_W                    ] = 'w',
    [KEY_X                    ] = 'x',
    [KEY_Y                    ] = 'y',
    [KEY_Z                    ] = 'z',

    [KEY_MINUS                ] = '-',
    [KEY_EQUALS               ] = '=',
    [KEY_BACKSPACE            ] = '\b',
    [KEY_TAB                  ] = '\t',
    [KEY_SQUARE_BRACKET_LEFT  ] = '[',
    [KEY_SQUARE_BRACKET_RIGHT ] = ']',
    [KEY_ENTER                ] = '\n',
    [KEY_SEMICOLON            ] = ';',
    [KEY_SINGLE_QUOTE         ] = '\'',
    [KEY_BACKTICK             ] = '`',
    [KEY_BACKSLASH            ] = '\\',
    [KEY_COMMA                ] = ',',
    [KEY_DOT                  ] = '.',
    [KEY_FORWARD_SLASH        ] = '/',
    [KEY_KEYPAD_ASTERISK      ] = '*',
    [KEY_SPACE                ] = ' ',

    [KEY_KEYPAD_0             ] = '0',
    [KEY_KEYPAD_1             ] = '1',
    [KEY_KEYPAD_2             ] = '2',
    [KEY_KEYPAD_3             ] = '3',
    [KEY_KEYPAD_4             ] = '4',
    [KEY_KEYPAD_5             ] = '5',
    [KEY_KEYPAD_6             ] = '6',
    [KEY_KEYPAD_7             ] = '7',
    [KEY_KEYPAD_8             ] = '8',
    [KEY_KEYPAD_9             ] = '9',
    [KEY_KEYPAD_DOT           ] = '.',
    [KEY_KEYPAD_MINUS         ] = '-',
    [KEY_KEYPAD_PLUS          ] = '+',

	[KEY_MODIFIER_SHIFT | KEY_0]      = ')',
	[KEY_MODIFIER_SHIFT | KEY_9]      = '(',
	[KEY_MODIFIER_SHIFT | KEY_8]      = '*',
	[KEY_MODIFIER_SHIFT | KEY_7]      = '&',
	[KEY_MODIFIER_SHIFT | KEY_6]      = '^',
	[KEY_MODIFIER_SHIFT | KEY_5]      = '%',
	[KEY_MODIFIER_SHIFT | KEY_4]      = '$',
	[KEY_MODIFIER_SHIFT | KEY_3]      = '#',
	[KEY_MODIFIER_SHIFT | KEY_2]      = '@',
	[KEY_MODIFIER_SHIFT | KEY_1]      = '!',

    [KEY_MODIFIER_SHIFT | KEY_A] = 'A',
    [KEY_MODIFIER_SHIFT | KEY_B] = 'B',
    [KEY_MODIFIER_SHIFT | KEY_C] = 'C',
    [KEY_MODIFIER_SHIFT | KEY_D] = 'D',
    [KEY_MODIFIER_SHIFT | KEY_E] = 'E',
    [KEY_MODIFIER_SHIFT | KEY_F] = 'F',
    [KEY_MODIFIER_SHIFT | KEY_G] = 'G',
    [KEY_MODIFIER_SHIFT | KEY_H] = 'H',
    [KEY_MODIFIER_SHIFT | KEY_I] = 'I',
    [KEY_MODIFIER_SHIFT | KEY_J] = 'J',
    [KEY_MODIFIER_SHIFT | KEY_K] = 'K',
    [KEY_MODIFIER_SHIFT | KEY_L] = 'L',
    [KEY_MODIFIER_SHIFT | KEY_M] = 'M',
    [KEY_MODIFIER_SHIFT | KEY_N] = 'N',
    [KEY_MODIFIER_SHIFT | KEY_O] = 'O',
    [KEY_MODIFIER_SHIFT | KEY_P] = 'P',
    [KEY_MODIFIER_SHIFT | KEY_Q] = 'Q',
    [KEY_MODIFIER_SHIFT | KEY_R] = 'R',
    [KEY_MODIFIER_SHIFT | KEY_S] = 'S',
    [KEY_MODIFIER_SHIFT | KEY_T] = 'T',
    [KEY_MODIFIER_SHIFT | KEY_U] = 'U',
    [KEY_MODIFIER_SHIFT | KEY_V] = 'V',
    [KEY_MODIFIER_SHIFT | KEY_W] = 'W',
    [KEY_MODIFIER_SHIFT | KEY_X] = 'X',
    [KEY_MODIFIER_SHIFT | KEY_Y] = 'Y',
    [KEY_MODIFIER_SHIFT | KEY_Z] = 'Z',

    [KEY_MODIFIER_SHIFT | KEY_MINUS                ] = '_',
    [KEY_MODIFIER_SHIFT | KEY_EQUALS               ] = '+',
    [KEY_MODIFIER_SHIFT | KEY_BACKSPACE            ] = '\b',
    [KEY_MODIFIER_SHIFT | KEY_TAB                  ] = '\t',
    [KEY_MODIFIER_SHIFT | KEY_SQUARE_BRACKET_LEFT  ] = '{',
    [KEY_MODIFIER_SHIFT | KEY_SQUARE_BRACKET_RIGHT ] = '}',
    [KEY_MODIFIER_SHIFT | KEY_ENTER                ] = '\n',
    [KEY_MODIFIER_SHIFT | KEY_SEMICOLON            ] = ':',
    [KEY_MODIFIER_SHIFT | KEY_SINGLE_QUOTE         ] = '"',
    [KEY_MODIFIER_SHIFT | KEY_BACKTICK             ] = '~',
    [KEY_MODIFIER_SHIFT | KEY_BACKSLASH            ] = '|',
    [KEY_MODIFIER_SHIFT | KEY_COMMA                ] = '<',
    [KEY_MODIFIER_SHIFT | KEY_DOT                  ] = '>',
    [KEY_MODIFIER_SHIFT | KEY_FORWARD_SLASH        ] = '?',
    [KEY_MODIFIER_SHIFT | KEY_SPACE                ] = ' ',
};

