/* * PARSEC HEADER: keys_pc.h */ #ifndef _KEYS_PC_H_ #define _KEYS_PC_H_ // ---------------------------------------------------------------------------- // INTEL PC KEYBOARD CODES - // ---------------------------------------------------------------------------- // make codes for general keyboard handling ----------------------------------- // enum { MKC_MAKE_CODE = 0x00, MKC_BREAK_CODE = 0x80, MKC_BASE_MASK = 0x7f, MKC_EXT_MDIFR = 0xe0, MKC_PAUSE_MDIFR = 0xe1, MKC_EXT_FLAG = 0x80, MKC_SHIFT_FLAG = 0x80, MKC_NIL = 0x00, MKC_ESCAPE = 0x01, MKC_SPACE = 0x39, MKC_ENTER = 0x1c, MKC_CURSORUP = 0x48, MKC_CURSORDOWN = 0x50, MKC_CURSORLEFT = 0x4b, MKC_CURSORRIGHT = 0x4d, MKC_BACKSPACE = 0x0e, MKC_INSERT = 0x52, MKC_DELETE = 0x53, MKC_HOME = 0x47, MKC_END = 0x4f, MKC_PAGEUP = 0x49, MKC_PAGEDOWN = 0x51, MKC_CAPSLOCK = 0x3a, MKC_TILDE = 0x29, // U.S.: `~ german: ^ MKC_MINUS = 0x0c, // U.S.: -_ german: ?bsl MKC_EQUALS = 0x0d, // U.S.: =+ german: ` MKC_TAB = 0x0f, MKC_LBRACKET = 0x1a, // U.S.: [{ german: MKC_RBRACKET = 0x1b, // U.S.: ]} german: +*~ MKC_SEMICOLON = 0x27, // U.S.: ;: german: MKC_APOSTROPHE = 0x28, // U.S.: '" german: MKC_GRAVE = 0x29, // U.S.: `~ german: ^ MKC_LSHIFT = 0x2a, MKC_RSHIFT = 0x36, MKC_LCONTROL = 0x1d, MKC_RCONTROL = 0x1d | MKC_EXT_FLAG, MKC_LALT = 0x38, MKC_RALT = 0x38 | MKC_EXT_FLAG, MKC_COMMA = 0x33, // U.S.: ,< german: ,; MKC_PERIOD = 0x34, // U.S.: .> german: .: MKC_SLASH = 0x35, // U.S.: /? german: -_ MKC_BACKSLASH = 0x2b, // U.S.: bsl| german: #' MKC_GERARROWS = 0x56, // german: <>| MKC_NUMPADSLASH = 0x35 | MKC_EXT_FLAG, // gray divide MKC_NUMPADSTAR = 0x37, // gray multiply MKC_NUMPADMINUS = 0x4a, // gray subtract MKC_NUMPADPLUS = 0x4e, // gray add MKC_NUMPADPERIOD= MKC_DELETE, // gray decimal (period/comma) MKC_NUMLOCK = 0x45, MKC_SCROLL = 0x46, MKC_NUMPAD0 = MKC_INSERT, MKC_NUMPAD1 = MKC_END, MKC_NUMPAD2 = MKC_CURSORDOWN, MKC_NUMPAD3 = MKC_PAGEDOWN, MKC_NUMPAD4 = MKC_CURSORLEFT, MKC_NUMPAD5 = 0x4c, MKC_NUMPAD6 = MKC_CURSORRIGHT, MKC_NUMPAD7 = MKC_HOME, MKC_NUMPAD8 = MKC_CURSORUP, MKC_NUMPAD9 = MKC_PAGEUP, MKC_LWIN = 0x5b | MKC_EXT_FLAG, // left windows key MKC_RWIN = 0x5c | MKC_EXT_FLAG, // right windows key MKC_APPS = 0x5d | MKC_EXT_FLAG, // windows apps window key MKC_ENTER_GRAY = MKC_ENTER | MKC_EXT_FLAG, MKC_CURSORUP_GRAY = MKC_CURSORUP | MKC_EXT_FLAG, MKC_CURSORDOWN_GRAY = MKC_CURSORDOWN | MKC_EXT_FLAG, MKC_CURSORLEFT_GRAY = MKC_CURSORLEFT | MKC_EXT_FLAG, MKC_CURSORRIGHT_GRAY= MKC_CURSORRIGHT | MKC_EXT_FLAG, MKC_BACKSPACE_GRAY = MKC_BACKSPACE | MKC_EXT_FLAG, MKC_INSERT_GRAY = MKC_INSERT | MKC_EXT_FLAG, MKC_DELETE_GRAY = MKC_DELETE | MKC_EXT_FLAG, MKC_HOME_GRAY = MKC_HOME | MKC_EXT_FLAG, MKC_END_GRAY = MKC_END | MKC_EXT_FLAG, MKC_PAGEUP_GRAY = MKC_PAGEUP | MKC_EXT_FLAG, MKC_PAGEDOWN_GRAY = MKC_PAGEDOWN | MKC_EXT_FLAG, MKC_A = 0x1e, MKC_B = 0x30, MKC_C = 0x2e, MKC_D = 0x20, MKC_E = 0x12, MKC_F = 0x21, MKC_G = 0x22, MKC_H = 0x23, MKC_I = 0x17, MKC_J = 0x24, MKC_K = 0x25, MKC_L = 0x26, MKC_M = 0x32, MKC_N = 0x31, MKC_O = 0x18, MKC_P = 0x19, MKC_Q = 0x10, MKC_R = 0x13, MKC_S = 0x1f, MKC_T = 0x14, MKC_U = 0x16, MKC_V = 0x2f, MKC_W = 0x11, MKC_X = 0x2d, MKC_Y = 0x15, MKC_Z = 0x2c, MKC_0 = 0x0b, MKC_1 = 0x02, MKC_2 = 0x03, MKC_3 = 0x04, MKC_4 = 0x05, MKC_5 = 0x06, MKC_6 = 0x07, MKC_7 = 0x08, MKC_8 = 0x09, MKC_9 = 0x0a, MKC_F1 = 0x3b, MKC_F2 = 0x3c, MKC_F3 = 0x3d, MKC_F4 = 0x3e, MKC_F5 = 0x3f, MKC_F6 = 0x40, MKC_F7 = 0x41, MKC_F8 = 0x42, MKC_F9 = 0x43, MKC_F10 = 0x44, MKC_F11 = 0x57, MKC_F12 = 0x58 }; // key codes for console's keyboard buffer (only special codes/control keys) -- // enum { CKC_NIL = 0x800000, CKC_ESCAPE = 0x800001, CKC_SPACE = 0x000020, CKC_ENTER = 0x800003, CKC_CURSORUP = 0x800004, CKC_CURSORDOWN = 0x800005, CKC_CURSORLEFT = 0x800006, CKC_CURSORRIGHT = 0x800007, CKC_BACKSPACE = 0x800008, CKC_INSERT = 0x800009, CKC_DELETE = 0x80000A, CKC_HOME = 0x80000B, CKC_END = 0x80000C, CKC_PAGEUP = 0x80000D, CKC_PAGEDOWN = 0x80000E, CKC_TAB = 0x80000F, CKC_CURSORUP_SHIFTED = 0x800010, CKC_CURSORDOWN_SHIFTED = 0x800011, CKC_CURSORLEFT_SHIFTED = 0x800012, CKC_CURSORRIGHT_SHIFTED = 0x800013, CKC_CTRL_MASK = 0x800000 }; // key codes for flexible keyboard configuration (assignable keys) ------------ // enum { AKC_EXT_FLAG = 0x000080, AKC_JOY_FLAG = 0x000100, // joystick buttons, no actual keyboard keys AKC_SHIFT_FLAG = 0x010000, AKC_ESCAPE = 0x000001, AKC_SPACE = 0x000039, AKC_ENTER = 0x00001c, AKC_CURSORUP = 0x000048, AKC_CURSORDOWN = 0x000050, AKC_CURSORLEFT = 0x00004b, AKC_CURSORRIGHT = 0x00004d, AKC_BACKSPACE = 0x00000e, AKC_INSERT = 0x000052, AKC_DELETE = 0x000053, AKC_HOME = 0x000047, AKC_END = 0x00004f, AKC_PAGEUP = 0x000049, AKC_PAGEDOWN = 0x000051, AKC_CAPSLOCK = 0x00003a, AKC_TILDE = 0x000029, AKC_MINUS = 0x00000c, AKC_EQUALS = 0x00000d, AKC_TAB = 0x00000f, AKC_LBRACKET = 0x00001a, AKC_RBRACKET = 0x00001b, AKC_SEMICOLON = 0x000027, AKC_APOSTROPHE = 0x000028, AKC_GRAVE = 0x000029, AKC_LSHIFT = 0x00002a, AKC_RSHIFT = 0x000036, AKC_LCONTROL = 0x00001d, AKC_RCONTROL = 0x00009d, AKC_LALT = 0x000038 | AKC_EXT_FLAG, AKC_RALT = 0x000038 | AKC_EXT_FLAG, AKC_COMMA = 0x000033, AKC_PERIOD = 0x000034, AKC_SLASH = 0x000035, AKC_BACKSLASH = 0x00002b, AKC_GERARROWS = 0x000056, AKC_NUMPADSLASH = 0x000035 | AKC_EXT_FLAG, AKC_NUMPADSTAR = 0x000037, AKC_NUMPADMINUS = 0x00004a, AKC_NUMPADPLUS = 0x00004e, AKC_NUMPADPERIOD= AKC_DELETE, AKC_NUMLOCK = 0x000045, AKC_SCROLL = 0x000046, AKC_NUMPAD0 = AKC_INSERT, AKC_NUMPAD1 = AKC_END, AKC_NUMPAD2 = AKC_CURSORDOWN, AKC_NUMPAD3 = AKC_PAGEDOWN, AKC_NUMPAD4 = AKC_CURSORLEFT, AKC_NUMPAD5 = 0x00004c, AKC_NUMPAD6 = AKC_CURSORRIGHT, AKC_NUMPAD7 = AKC_HOME, AKC_NUMPAD8 = AKC_CURSORUP, AKC_NUMPAD9 = AKC_PAGEUP, AKC_LWIN = 0x00005b | AKC_EXT_FLAG, AKC_RWIN = 0x00005c | AKC_EXT_FLAG, AKC_APPS = 0x00005d | AKC_EXT_FLAG, AKC_ENTER_GRAY = AKC_ENTER | AKC_EXT_FLAG, AKC_CURSORUP_GRAY = AKC_CURSORUP | AKC_EXT_FLAG, AKC_CURSORDOWN_GRAY = AKC_CURSORDOWN | AKC_EXT_FLAG, AKC_CURSORLEFT_GRAY = AKC_CURSORLEFT | AKC_EXT_FLAG, AKC_CURSORRIGHT_GRAY= AKC_CURSORRIGHT | AKC_EXT_FLAG, AKC_BACKSPACE_GRAY = AKC_BACKSPACE | AKC_EXT_FLAG, AKC_INSERT_GRAY = AKC_INSERT | AKC_EXT_FLAG, AKC_DELETE_GRAY = AKC_DELETE | AKC_EXT_FLAG, AKC_HOME_GRAY = AKC_HOME | AKC_EXT_FLAG, AKC_END_GRAY = AKC_END | AKC_EXT_FLAG, AKC_PAGEUP_GRAY = AKC_PAGEUP | AKC_EXT_FLAG, AKC_PAGEDOWN_GRAY = AKC_PAGEDOWN | AKC_EXT_FLAG, AKC_A = 0x00001e, AKC_B = 0x000030, AKC_C = 0x00002e, AKC_D = 0x000020, AKC_E = 0x000012, AKC_F = 0x000021, AKC_G = 0x000022, AKC_H = 0x000023, AKC_I = 0x000017, AKC_J = 0x000024, AKC_K = 0x000025, AKC_L = 0x000026, AKC_M = 0x000032, AKC_N = 0x000031, AKC_O = 0x000018, AKC_P = 0x000019, AKC_Q = 0x000010, AKC_R = 0x000013, AKC_S = 0x00001f, AKC_T = 0x000014, AKC_U = 0x000016, AKC_V = 0x00002f, AKC_W = 0x000011, AKC_X = 0x00002d, AKC_Y = 0x000015, AKC_Z = 0x00002c, AKC_A_SHIFTED = AKC_A | AKC_SHIFT_FLAG, AKC_B_SHIFTED = AKC_B | AKC_SHIFT_FLAG, AKC_C_SHIFTED = AKC_C | AKC_SHIFT_FLAG, AKC_D_SHIFTED = AKC_D | AKC_SHIFT_FLAG, AKC_E_SHIFTED = AKC_E | AKC_SHIFT_FLAG, AKC_F_SHIFTED = AKC_F | AKC_SHIFT_FLAG, AKC_G_SHIFTED = AKC_G | AKC_SHIFT_FLAG, AKC_H_SHIFTED = AKC_H | AKC_SHIFT_FLAG, AKC_I_SHIFTED = AKC_I | AKC_SHIFT_FLAG, AKC_J_SHIFTED = AKC_J | AKC_SHIFT_FLAG, AKC_K_SHIFTED = AKC_K | AKC_SHIFT_FLAG, AKC_L_SHIFTED = AKC_L | AKC_SHIFT_FLAG, AKC_M_SHIFTED = AKC_M | AKC_SHIFT_FLAG, AKC_N_SHIFTED = AKC_N | AKC_SHIFT_FLAG, AKC_O_SHIFTED = AKC_O | AKC_SHIFT_FLAG, AKC_P_SHIFTED = AKC_P | AKC_SHIFT_FLAG, AKC_Q_SHIFTED = AKC_Q | AKC_SHIFT_FLAG, AKC_R_SHIFTED = AKC_R | AKC_SHIFT_FLAG, AKC_S_SHIFTED = AKC_S | AKC_SHIFT_FLAG, AKC_T_SHIFTED = AKC_T | AKC_SHIFT_FLAG, AKC_U_SHIFTED = AKC_U | AKC_SHIFT_FLAG, AKC_V_SHIFTED = AKC_V | AKC_SHIFT_FLAG, AKC_W_SHIFTED = AKC_W | AKC_SHIFT_FLAG, AKC_X_SHIFTED = AKC_X | AKC_SHIFT_FLAG, AKC_Y_SHIFTED = AKC_Y | AKC_SHIFT_FLAG, AKC_Z_SHIFTED = AKC_Z | AKC_SHIFT_FLAG, AKC_0 = 0x00000b, AKC_1 = 0x000002, AKC_2 = 0x000003, AKC_3 = 0x000004, AKC_4 = 0x000005, AKC_5 = 0x000006, AKC_6 = 0x000007, AKC_7 = 0x000008, AKC_8 = 0x000009, AKC_9 = 0x00000a, AKC_0_SHIFTED = AKC_0 | AKC_SHIFT_FLAG, AKC_1_SHIFTED = AKC_1 | AKC_SHIFT_FLAG, AKC_2_SHIFTED = AKC_2 | AKC_SHIFT_FLAG, AKC_3_SHIFTED = AKC_3 | AKC_SHIFT_FLAG, AKC_4_SHIFTED = AKC_4 | AKC_SHIFT_FLAG, AKC_5_SHIFTED = AKC_5 | AKC_SHIFT_FLAG, AKC_6_SHIFTED = AKC_6 | AKC_SHIFT_FLAG, AKC_7_SHIFTED = AKC_7 | AKC_SHIFT_FLAG, AKC_8_SHIFTED = AKC_8 | AKC_SHIFT_FLAG, AKC_9_SHIFTED = AKC_9 | AKC_SHIFT_FLAG, AKC_F1 = 0x00003b, AKC_F2 = 0x00003c, AKC_F3 = 0x00003d, AKC_F4 = 0x00003e, AKC_F5 = 0x00003f, AKC_F6 = 0x000040, AKC_F7 = 0x000041, AKC_F8 = 0x000042, AKC_F9 = 0x000043, AKC_F10 = 0x000044, AKC_F11 = 0x000057, AKC_F12 = 0x000058, AKC_F1_SHIFTED = AKC_F1 | AKC_SHIFT_FLAG, AKC_F2_SHIFTED = AKC_F2 | AKC_SHIFT_FLAG, AKC_F3_SHIFTED = AKC_F3 | AKC_SHIFT_FLAG, AKC_F4_SHIFTED = AKC_F4 | AKC_SHIFT_FLAG, AKC_F5_SHIFTED = AKC_F5 | AKC_SHIFT_FLAG, AKC_F6_SHIFTED = AKC_F6 | AKC_SHIFT_FLAG, AKC_F7_SHIFTED = AKC_F7 | AKC_SHIFT_FLAG, AKC_F8_SHIFTED = AKC_F8 | AKC_SHIFT_FLAG, AKC_F9_SHIFTED = AKC_F9 | AKC_SHIFT_FLAG, AKC_F10_SHIFTED = AKC_F10 | AKC_SHIFT_FLAG, AKC_F11_SHIFTED = AKC_F11 | AKC_SHIFT_FLAG, AKC_F12_SHIFTED = AKC_F12 | AKC_SHIFT_FLAG, // joystick buttons, no actual keyboard keys AKC_JOY_BUTTON1 = 0x000000 | AKC_JOY_FLAG, AKC_JOY_BUTTON2 = 0x000001 | AKC_JOY_FLAG, AKC_JOY_BUTTON3 = 0x000002 | AKC_JOY_FLAG, AKC_JOY_BUTTON4 = 0x000003 | AKC_JOY_FLAG, AKC_JOY_BUTTON5 = 0x000004 | AKC_JOY_FLAG, AKC_JOY_BUTTON6 = 0x000005 | AKC_JOY_FLAG, AKC_JOY_BUTTON7 = 0x000006 | AKC_JOY_FLAG, AKC_JOY_BUTTON8 = 0x000007 | AKC_JOY_FLAG }; #endif // _KEYS_PC_H_