#include "ps2-keyboard.h" const struct str ps2_cmd_str[] = { [PS2CMD_SET_LEDS ] = str_attach("PS2CMD_SET_LEDS"), [PS2CMD_ECHO ] = str_attach("PS2CMD_ECHO"), [PS2CMD_GET_SCAN ] = str_attach("PS2CMD_GET_SCAN"), [PS2CMD_IDENTIFY_KEYBOARD ] = str_attach("PS2CMD_IDENTIFY_KEYBOARD"), [PS2CMD_SET_TYPEMATIC_RATE ] = str_attach("PS2CMD_SET_TYPEMATIC_RATE"), [PS2CMD_ENABLE_SCANNING ] = str_attach("PS2CMD_ENABLE_SCANNING"), [PS2CMD_DISABLE_SCANNING ] = str_attach("PS2CMD_DISABLE_SCANNING"), [PS2CMD_SET_DEFAULT_PARAMETERS ] = str_attach("PS2CMD_SET_DEFAULT_PARAMETERS"), [PS2CMD_SET_ALL_KEYS_TO_TA ] = str_attach("PS2CMD_SET_ALL_KEYS_TO_TA"), [PS2CMD_SET_ALL_KEYS_TO_MR ] = str_attach("PS2CMD_SET_ALL_KEYS_TO_MR"), [PS2CMD_SET_ALL_KEYS_TO_M ] = str_attach("PS2CMD_SET_ALL_KEYS_TO_M"), [PS2CMD_SET_ALL_KEYS_TO_TAMR ] = str_attach("PS2CMD_SET_ALL_KEYS_TO_TAMR"), [PS2CMD_SET_KEY_TO_TA ] = str_attach("PS2CMD_SET_KEY_TO_TA"), [PS2CMD_SET_KEY_TO_MR ] = str_attach("PS2CMD_SET_KEY_TO_MR"), [PS2CMD_SET_KEY_TO_M ] = str_attach("PS2CMD_SET_KEY_TO_M"), [PS2CMD_RESEND_LAST_BYTE ] = str_attach("PS2CMD_RESEND_LAST_BYTE"), [PS2CMD_RESEND_RESET_AND_SELF_TEST] = str_attach("PS2CMD_RESEND_RESET_AND_SELF_TEST"), }; const struct str ps2_response_str[] = { [PS2RESPONSE_ERROR_1 ] = str_attach("PS2RESPONSE_ERROR_1"), [PS2RESPONSE_ERROR_2 ] = str_attach("PS2RESPONSE_ERROR_2"), [PS2RESPONSE_SELF_TEST_PASSED ] = str_attach("PS2RESPONSE_SELF_TEST_PASSED"), [PS2RESPONSE_ECHO_RESPONSE ] = str_attach("PS2RESPONSE_ECHO_RESPONSE"), [PS2RESPONSE_ACK ] = str_attach("PS2RESPONSE_ACK"), [PS2RESPONSE_SELF_TEST_FAILED_1] = str_attach("PS2RESPONSE_SELF_TEST_FAILED_1"), [PS2RESPONSE_SELF_TEST_FAILED_2] = str_attach("PS2RESPONSE_SELF_TEST_FAILED_2"), [PS2RESPONSE_RESEND ] = str_attach("PS2RESPONSE_RESEND"), }; 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)"), };