/*----------------*\ |Nanite OS | |Copyright (C) 2026| |Xircon | \*----------------*/ #pragma once #include #include void Keyboard_Handler(); void Keyboard_Init(); void Keyboard_Reset_System(); void Keyboard_Enable(); void Keyboard_Disable(); void Keyboard_Set_Lock_LEDs(bool num, bool caps, bool scroll); void Keyboard_Encoder_Send_Command(uint8_t command); void Keyboard_Controller_Send_Command(uint8_t command); uint8_t Keyboard_Controller_Status(); uint8_t Keyboard_Read_Encoder_Buffer(); bool Keyboard_Self_Test(); char kscan(); enum KEYBOARD_ENCODER_IO { KEYBOARD_ENC_INPUT_BUF = 0x60, KEYBOARD_ENC_CMD_REG = 0x60 }; enum KEYBOARD_CTRL_IO { KEYBOARD_CTRL_STATS_REG = 0x64, KEYBOARD_CTRL_CMD_REG = 0x64 }; enum KEYBOARD_CTRL_STATS_MASK { KEYBOARD_CTRL_STATS_MASK_OUT_BUF = 1, //00000001 KEYBOARD_CTRL_STATS_MASK_IN_BUF = 2, //00000010 KEYBOARD_CTRL_STATS_MASK_SYSTEM = 4, //00000100 KEYBOARD_CTRL_STATS_MASK_CMD_DATA = 8, //00001000 KEYBOARD_CTRL_STATS_MASK_LOCKED = 0x10, //00010000 KEYBOARD_CTRL_STATS_MASK_AUX_BUF = 0x20, //00100000 KEYBOARD_CTRL_STATS_MASK_TIMEOUT = 0x40, //01000000 KEYBOARD_CTRL_STATS_MASK_PARITY = 0x80 //10000000 }; enum KEYBOARD_CTRL_CMD { KEYBOARD_CTRL_CMD_DISABLE = 0xAD, KEYBOARD_CTRL_CMD_ENABLE = 0xAE, KEYBOARD_CTRL_CMD_SELF_TEST = 0xAA, KEYBOARD_CTRL_CMD_WRITE_OUT_PORT = 0xD1 }; enum KEYBOARD_ENC_CMD { KEYBOARD_ENC_CMD_SET_LED = 0xED }; enum KEYBOARD_LAYOUT_QWERTY { KEYBOARD_LAYOUT_QWERTY_ESCAPE = 0x01, KEYBOARD_LAYOUT_QWERTY_F1 = 0x3B, KEYBOARD_LAYOUT_QWERTY_F2 = 0x3C, KEYBOARD_LAYOUT_QWERTY_F3 = 0x3D, KEYBOARD_LAYOUT_QWERTY_F4 = 0x3E, KEYBOARD_LAYOUT_QWERTY_F5 = 0x3F, KEYBOARD_LAYOUT_QWERTY_F6 = 0x40, KEYBOARD_LAYOUT_QWERTY_F7 = 0x41, KEYBOARD_LAYOUT_QWERTY_F8 = 0x42, KEYBOARD_LAYOUT_QWERTY_F9 = 0x43, KEYBOARD_LAYOUT_QWERTY_F10 = 0x44, KEYBOARD_LAYOUT_QWERTY_F11 = 0x57, KEYBOARD_LAYOUT_QWERTY_F12 = 0x58, KEYBOARD_LAYOUT_QWERTY_SNAPSHOT = 0x54, KEYBOARD_LAYOUT_QWERTY_SCROLL = 0x46, KEYBOARD_LAYOUT_QWERTY_PAUSE = 0xE1D1, KEYBOARD_LAYOUT_QWERTY_OEM_3 = 0x29, KEYBOARD_LAYOUT_QWERTY_1 = 0x02, KEYBOARD_LAYOUT_QWERTY_2 = 0x03, KEYBOARD_LAYOUT_QWERTY_3 = 0x04, KEYBOARD_LAYOUT_QWERTY_4 = 0x05, KEYBOARD_LAYOUT_QWERTY_5 = 0x06, KEYBOARD_LAYOUT_QWERTY_6 = 0x07, KEYBOARD_LAYOUT_QWERTY_7 = 0x08, KEYBOARD_LAYOUT_QWERTY_8 = 0x09, KEYBOARD_LAYOUT_QWERTY_9 = 0x0A, KEYBOARD_LAYOUT_QWERTY_0 = 0x0B, KEYBOARD_LAYOUT_QWERTY_OEM_MI = 0x0C, KEYBOARD_LAYOUT_QWERTY_OEM_PL = 0x0D, KEYBOARD_LAYOUT_QWERTY_BACK = 0x0E, KEYBOARD_LAYOUT_QWERTY_TAB = 0x0F, KEYBOARD_LAYOUT_QWERTY_Q = 0x10, KEYBOARD_LAYOUT_QWERTY_W = 0x11, KEYBOARD_LAYOUT_QWERTY_E = 0x12, KEYBOARD_LAYOUT_QWERTY_R = 0x13, KEYBOARD_LAYOUT_QWERTY_T = 0x14, KEYBOARD_LAYOUT_QWERTY_Y = 0x15, KEYBOARD_LAYOUT_QWERTY_U = 0x16, KEYBOARD_LAYOUT_QWERTY_I = 0x17, KEYBOARD_LAYOUT_QWERTY_O = 0x18, KEYBOARD_LAYOUT_QWERTY_P = 0x19, KEYBOARD_LAYOUT_QWERTY_OEM_4 = 0x1A, KEYBOARD_LAYOUT_QWERTY_OEM_6 = 0x1B, KEYBOARD_LAYOUT_QWERTY_OEM_5 = 0x2B, KEYBOARD_LAYOUT_QWERTY_CAPITAL = 0x3A, KEYBOARD_LAYOUT_QWERTY_A = 0x1E, KEYBOARD_LAYOUT_QWERTY_S = 0x1F, KEYBOARD_LAYOUT_QWERTY_D = 0x20, KEYBOARD_LAYOUT_QWERTY_F = 0x21, KEYBOARD_LAYOUT_QWERTY_G = 0x22, KEYBOARD_LAYOUT_QWERTY_H = 0x23, KEYBOARD_LAYOUT_QWERTY_J = 0x24, KEYBOARD_LAYOUT_QWERTY_K = 0x25, KEYBOARD_LAYOUT_QWERTY_L = 0x26, KEYBOARD_LAYOUT_QWERTY_OEM_1 = 0x27, KEYBOARD_LAYOUT_QWERTY_OEM_7 = 0x28, KEYBOARD_LAYOUT_QWERTY_RETURN = 0x1C, KEYBOARD_LAYOUT_QWERTY_LSHIFT = 0x2A, KEYBOARD_LAYOUT_QWERTY_Z = 0x2C, KEYBOARD_LAYOUT_QWERTY_X = 0x2D, KEYBOARD_LAYOUT_QWERTY_C = 0x2E, KEYBOARD_LAYOUT_QWERTY_V = 0x2F, KEYBOARD_LAYOUT_QWERTY_B = 0x30, KEYBOARD_LAYOUT_QWERTY_N = 0x31, KEYBOARD_LAYOUT_QWERTY_M = 0x32, KEYBOARD_LAYOUT_QWERTY_OEM_CC = 0x33, KEYBOARD_LAYOUT_QWERTY_OEM_PE = 0x34, KEYBOARD_LAYOUT_QWERTY_OEM_2 = 0x35, KEYBOARD_LAYOUT_QWERTY_RSHIFT = 0x36, KEYBOARD_LAYOUT_QWERTY_LCONTROL = 0x1D, KEYBOARD_LAYOUT_QWERTY_LSUPER = 0xE05B, KEYBOARD_LAYOUT_QWERTY_LMENU = 0x38, KEYBOARD_LAYOUT_QWERTY_SPACE = 0x39, KEYBOARD_LAYOUT_QWERTY_RMENU = 0xE038, KEYBOARD_LAYOUT_QWERTY_RSUPER = 0xE05C, KEYBOARD_LAYOUT_QWERTY_APPS = 0xE05D, KEYBOARD_LAYOUT_QWERTY_RCONTROL = 0xE01D, KEYBOARD_LAYOUT_QWERTY_INSERT = 0xE052, KEYBOARD_LAYOUT_QWERTY_HOME = 0xE047, KEYBOARD_LAYOUT_QWERTY_PRIOR = 0xE049, KEYBOARD_LAYOUT_QWERTY_DELETE = 0xE053, KEYBOARD_LAYOUT_QWERTY_END = 0xE04F, KEYBOARD_LAYOUT_QWERTY_NEXT = 0xE051, KEYBOARD_LAYOUT_QWERTY_UP = 0xE048, KEYBOARD_LAYOUT_QWERTY_LEFT = 0xE04B, KEYBOARD_LAYOUT_QWERTY_RIGHT = 0xE04D, KEYBOARD_LAYOUT_QWERTY_DOWN = 0xE050, KEYBOARD_LAYOUT_QWERTY_NUMLOCK = 0x45, KEYBOARD_LAYOUT_QWERTY_DIVIDE = 0xE035, KEYBOARD_LAYOUT_QWERTY_MULTIPLY = 0x37, KEYBOARD_LAYOUT_QWERTY_SUBTRACT = 0x4A, KEYBOARD_LAYOUT_QWERTY_NUMPAD_1 = 0x47, KEYBOARD_LAYOUT_QWERTY_NUMPAD_2 = 0x48, KEYBOARD_LAYOUT_QWERTY_NUMPAD_3 = 0x49, KEYBOARD_LAYOUT_QWERTY_NUMPAD_4 = 0x4B, KEYBOARD_LAYOUT_QWERTY_NUMPAD_5 = 0x4C, KEYBOARD_LAYOUT_QWERTY_NUMPAD_6 = 0x4D, KEYBOARD_LAYOUT_QWERTY_NUMPAD_7 = 0x4F, KEYBOARD_LAYOUT_QWERTY_NUMPAD_8 = 0x50, KEYBOARD_LAYOUT_QWERTY_NUMPAD_9 = 0x51, KEYBOARD_LAYOUT_QWERTY_NUMPAD_0 = 0x52, KEYBOARD_LAYOUT_QWERTY_NUMPAD_PERIOD = 0x53, KEYBOARD_LAYOUT_QWERTY_ADD = 0x4E, KEYBOARD_LAYOUT_QWERTY_NUMPAD_RETURN = 0xE01, }; #ifdef __LAYOUT_QWERTY enum KEYBOARD_LAYOUT { KEYBOARD_LAYOUT_ESCAPE = KEYBOARD_LAYOUT_QWERTY_ESCAPE, KEYBOARD_LAYOUT_F1 = KEYBOARD_LAYOUT_QWERTY_F1, KEYBOARD_LAYOUT_F2 = KEYBOARD_LAYOUT_QWERTY_F2, KEYBOARD_LAYOUT_F3 = KEYBOARD_LAYOUT_QWERTY_F3, KEYBOARD_LAYOUT_F4 = KEYBOARD_LAYOUT_QWERTY_F4, KEYBOARD_LAYOUT_F5 = KEYBOARD_LAYOUT_QWERTY_F5, KEYBOARD_LAYOUT_F6 = KEYBOARD_LAYOUT_QWERTY_F6, KEYBOARD_LAYOUT_F7 = KEYBOARD_LAYOUT_QWERTY_F7, KEYBOARD_LAYOUT_F8 = KEYBOARD_LAYOUT_QWERTY_F8, KEYBOARD_LAYOUT_F9 = KEYBOARD_LAYOUT_QWERTY_F9, KEYBOARD_LAYOUT_F10 = KEYBOARD_LAYOUT_QWERTY_F10, KEYBOARD_LAYOUT_F11 = KEYBOARD_LAYOUT_QWERTY_F11, KEYBOARD_LAYOUT_F12 = KEYBOARD_LAYOUT_QWERTY_F12, KEYBOARD_LAYOUT_SNAPSHOT = KEYBOARD_LAYOUT_QWERTY_SNAPSHOT, KEYBOARD_LAYOUT_SCROLL = KEYBOARD_LAYOUT_QWERTY_SCROLL, KEYBOARD_LAYOUT_PAUSE = KEYBOARD_LAYOUT_QWERTY_PAUSE, KEYBOARD_LAYOUT_OEM_3 = KEYBOARD_LAYOUT_QWERTY_OEM_3, KEYBOARD_LAYOUT_1 = KEYBOARD_LAYOUT_QWERTY_1, KEYBOARD_LAYOUT_2 = KEYBOARD_LAYOUT_QWERTY_2, KEYBOARD_LAYOUT_3 = KEYBOARD_LAYOUT_QWERTY_3, KEYBOARD_LAYOUT_4 = KEYBOARD_LAYOUT_QWERTY_4, KEYBOARD_LAYOUT_5 = KEYBOARD_LAYOUT_QWERTY_5, KEYBOARD_LAYOUT_6 = KEYBOARD_LAYOUT_QWERTY_6, KEYBOARD_LAYOUT_7 = KEYBOARD_LAYOUT_QWERTY_7, KEYBOARD_LAYOUT_8 = KEYBOARD_LAYOUT_QWERTY_8, KEYBOARD_LAYOUT_9 = KEYBOARD_LAYOUT_QWERTY_9, KEYBOARD_LAYOUT_0 = KEYBOARD_LAYOUT_QWERTY_0, KEYBOARD_LAYOUT_OEM_MI = KEYBOARD_LAYOUT_QWERTY_OEM_MI, KEYBOARD_LAYOUT_OEM_PL = KEYBOARD_LAYOUT_QWERTY_OEM_PL, KEYBOARD_LAYOUT_BACK = KEYBOARD_LAYOUT_QWERTY_BACK, KEYBOARD_LAYOUT_TAB = KEYBOARD_LAYOUT_QWERTY_TAB, KEYBOARD_LAYOUT_Q = KEYBOARD_LAYOUT_QWERTY_Q, KEYBOARD_LAYOUT_W = KEYBOARD_LAYOUT_QWERTY_W, KEYBOARD_LAYOUT_E = KEYBOARD_LAYOUT_QWERTY_E, KEYBOARD_LAYOUT_R = KEYBOARD_LAYOUT_QWERTY_R, KEYBOARD_LAYOUT_T = KEYBOARD_LAYOUT_QWERTY_T, KEYBOARD_LAYOUT_Y = KEYBOARD_LAYOUT_QWERTY_Y, KEYBOARD_LAYOUT_U = KEYBOARD_LAYOUT_QWERTY_U, KEYBOARD_LAYOUT_I = KEYBOARD_LAYOUT_QWERTY_I, KEYBOARD_LAYOUT_O = KEYBOARD_LAYOUT_QWERTY_O, KEYBOARD_LAYOUT_P = KEYBOARD_LAYOUT_QWERTY_P, KEYBOARD_LAYOUT_OEM_4 = KEYBOARD_LAYOUT_QWERTY_OEM_4, KEYBOARD_LAYOUT_OEM_6 = KEYBOARD_LAYOUT_QWERTY_OEM_6, KEYBOARD_LAYOUT_OEM_5 = KEYBOARD_LAYOUT_QWERTY_OEM_5, KEYBOARD_LAYOUT_CAPITAL = KEYBOARD_LAYOUT_QWERTY_CAPITAL, KEYBOARD_LAYOUT_A = KEYBOARD_LAYOUT_QWERTY_A, KEYBOARD_LAYOUT_S = KEYBOARD_LAYOUT_QWERTY_S, KEYBOARD_LAYOUT_D = KEYBOARD_LAYOUT_QWERTY_D, KEYBOARD_LAYOUT_F = KEYBOARD_LAYOUT_QWERTY_F, KEYBOARD_LAYOUT_G = KEYBOARD_LAYOUT_QWERTY_G, KEYBOARD_LAYOUT_H = KEYBOARD_LAYOUT_QWERTY_H, KEYBOARD_LAYOUT_J = KEYBOARD_LAYOUT_QWERTY_J, KEYBOARD_LAYOUT_K = KEYBOARD_LAYOUT_QWERTY_K, KEYBOARD_LAYOUT_L = KEYBOARD_LAYOUT_QWERTY_L, KEYBOARD_LAYOUT_OEM_1 = KEYBOARD_LAYOUT_QWERTY_OEM_1, KEYBOARD_LAYOUT_OEM_7 = KEYBOARD_LAYOUT_QWERTY_OEM_7, KEYBOARD_LAYOUT_RETURN = KEYBOARD_LAYOUT_QWERTY_RETURN, KEYBOARD_LAYOUT_LSHIFT = KEYBOARD_LAYOUT_QWERTY_LSHIFT, KEYBOARD_LAYOUT_Z = KEYBOARD_LAYOUT_QWERTY_Z, KEYBOARD_LAYOUT_X = KEYBOARD_LAYOUT_QWERTY_X, KEYBOARD_LAYOUT_C = KEYBOARD_LAYOUT_QWERTY_C, KEYBOARD_LAYOUT_V = KEYBOARD_LAYOUT_QWERTY_V, KEYBOARD_LAYOUT_B = KEYBOARD_LAYOUT_QWERTY_B, KEYBOARD_LAYOUT_N = KEYBOARD_LAYOUT_QWERTY_N, KEYBOARD_LAYOUT_M = KEYBOARD_LAYOUT_QWERTY_M, KEYBOARD_LAYOUT_OEM_CC = KEYBOARD_LAYOUT_QWERTY_OEM_CC, KEYBOARD_LAYOUT_OEM_PE = KEYBOARD_LAYOUT_QWERTY_OEM_PE, KEYBOARD_LAYOUT_OEM_2 = KEYBOARD_LAYOUT_QWERTY_OEM_2, KEYBOARD_LAYOUT_RSHIFT = KEYBOARD_LAYOUT_QWERTY_RSHIFT, KEYBOARD_LAYOUT_LCONTROL = KEYBOARD_LAYOUT_QWERTY_LCONTROL, KEYBOARD_LAYOUT_LSUPER = KEYBOARD_LAYOUT_QWERTY_LSUPER, KEYBOARD_LAYOUT_LMENU = KEYBOARD_LAYOUT_QWERTY_LMENU, KEYBOARD_LAYOUT_SPACE = KEYBOARD_LAYOUT_QWERTY_SPACE, KEYBOARD_LAYOUT_RMENU = KEYBOARD_LAYOUT_QWERTY_RMENU, KEYBOARD_LAYOUT_RSUPER = KEYBOARD_LAYOUT_QWERTY_RSUPER, KEYBOARD_LAYOUT_APPS = KEYBOARD_LAYOUT_QWERTY_APPS, KEYBOARD_LAYOUT_RCONTROL = KEYBOARD_LAYOUT_QWERTY_RCONTROL, KEYBOARD_LAYOUT_INSERT = KEYBOARD_LAYOUT_QWERTY_INSERT, KEYBOARD_LAYOUT_HOME = KEYBOARD_LAYOUT_QWERTY_HOME, KEYBOARD_LAYOUT_PRIOR = KEYBOARD_LAYOUT_QWERTY_PRIOR, KEYBOARD_LAYOUT_DELETE = KEYBOARD_LAYOUT_QWERTY_DELETE, KEYBOARD_LAYOUT_END = KEYBOARD_LAYOUT_QWERTY_END, KEYBOARD_LAYOUT_NEXT = KEYBOARD_LAYOUT_QWERTY_NEXT, KEYBOARD_LAYOUT_UP = KEYBOARD_LAYOUT_QWERTY_UP, KEYBOARD_LAYOUT_LEFT = KEYBOARD_LAYOUT_QWERTY_LEFT, KEYBOARD_LAYOUT_RIGHT = KEYBOARD_LAYOUT_QWERTY_RIGHT, KEYBOARD_LAYOUT_DOWN = KEYBOARD_LAYOUT_QWERTY_DOWN, KEYBOARD_LAYOUT_NUMLOCK = KEYBOARD_LAYOUT_QWERTY_NUMLOCK, KEYBOARD_LAYOUT_DIVIDE = KEYBOARD_LAYOUT_QWERTY_DIVIDE, KEYBOARD_LAYOUT_MULTIPLY = KEYBOARD_LAYOUT_QWERTY_MULTIPLY, KEYBOARD_LAYOUT_SUBTRACT = KEYBOARD_LAYOUT_QWERTY_SUBTRACT, KEYBOARD_LAYOUT_NUMPAD_1 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_1, KEYBOARD_LAYOUT_NUMPAD_2 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_2, KEYBOARD_LAYOUT_NUMPAD_3 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_3, KEYBOARD_LAYOUT_NUMPAD_4 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_4, KEYBOARD_LAYOUT_NUMPAD_5 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_5, KEYBOARD_LAYOUT_NUMPAD_6 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_6, KEYBOARD_LAYOUT_NUMPAD_7 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_7, KEYBOARD_LAYOUT_NUMPAD_8 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_8, KEYBOARD_LAYOUT_NUMPAD_9 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_9, KEYBOARD_LAYOUT_NUMPAD_0 = KEYBOARD_LAYOUT_QWERTY_NUMPAD_0, KEYBOARD_LAYOUT_NUMPAD_PERIOD = KEYBOARD_LAYOUT_QWERTY_NUMPAD_PERIOD, KEYBOARD_LAYOUT_ADD = KEYBOARD_LAYOUT_QWERTY_ADD, KEYBOARD_LAYOUT_NUMPAD_RETURN = KEYBOARD_LAYOUT_QWERTY_NUMPAD_RETURN, }; #endif #ifdef __LAYOUT_DVORAK // I Need to implement this lol enum KEYBOARD_LAYOUT_DVORAK { KEYBOARD_LAYOUT_QWERTY_ESCAPE = 0x01, KEYBOARD_LAYOUT_QWERTY_F1 = 0x3B, KEYBOARD_LAYOUT_QWERTY_F2 = 0x3C, KEYBOARD_LAYOUT_QWERTY_F3 = 0x3D, KEYBOARD_LAYOUT_QWERTY_F4 = 0x3E, KEYBOARD_LAYOUT_QWERTY_F5 = 0x3F, KEYBOARD_LAYOUT_QWERTY_F6 = 0x40, KEYBOARD_LAYOUT_QWERTY_F7 = 0x41, KEYBOARD_LAYOUT_QWERTY_F8 = 0x42, KEYBOARD_LAYOUT_QWERTY_F9 = 0x43, KEYBOARD_LAYOUT_QWERTY_F10 = 0x44, KEYBOARD_LAYOUT_QWERTY_F11 = 0x57, KEYBOARD_LAYOUT_QWERTY_F12 = 0x58, KEYBOARD_LAYOUT_QWERTY_SNAPSHOT = 0x54, KEYBOARD_LAYOUT_QWERTY_SCROLL = 0x46, KEYBOARD_LAYOUT_QWERTY_PAUSE = 0xE1D1, KEYBOARD_LAYOUT_QWERTY_OEM_3 = 0x29, KEYBOARD_LAYOUT_QWERTY_1 = 0x02, KEYBOARD_LAYOUT_QWERTY_2 = 0x03, KEYBOARD_LAYOUT_QWERTY_3 = 0x04, KEYBOARD_LAYOUT_QWERTY_4 = 0x05, KEYBOARD_LAYOUT_QWERTY_5 = 0x06, KEYBOARD_LAYOUT_QWERTY_6 = 0x07, KEYBOARD_LAYOUT_QWERTY_7 = 0x08, KEYBOARD_LAYOUT_QWERTY_8 = 0x09, KEYBOARD_LAYOUT_QWERTY_9 = 0x0A, KEYBOARD_LAYOUT_QWERTY_0 = 0x0B, KEYBOARD_LAYOUT_QWERTY_OEM_MI = 0x0C, KEYBOARD_LAYOUT_QWERTY_OEM_PL = 0x0D, KEYBOARD_LAYOUT_QWERTY_BACK = 0x0E, KEYBOARD_LAYOUT_QWERTY_TAB = 0x0F, KEYBOARD_LAYOUT_QWERTY_Q = 0x10, KEYBOARD_LAYOUT_QWERTY_W = 0x11, KEYBOARD_LAYOUT_QWERTY_E = 0x12, KEYBOARD_LAYOUT_QWERTY_R = 0x13, KEYBOARD_LAYOUT_QWERTY_T = 0x14, KEYBOARD_LAYOUT_QWERTY_Y = 0x15, KEYBOARD_LAYOUT_QWERTY_U = 0x16, KEYBOARD_LAYOUT_QWERTY_I = 0x17, KEYBOARD_LAYOUT_QWERTY_O = 0x18, KEYBOARD_LAYOUT_QWERTY_P = 0x19, KEYBOARD_LAYOUT_QWERTY_OEM_4 = 0x1A, KEYBOARD_LAYOUT_QWERTY_OEM_6 = 0x1B, KEYBOARD_LAYOUT_QWERTY_OEM_5 = 0x2B, KEYBOARD_LAYOUT_QWERTY_CAPITAL = 0x3A, KEYBOARD_LAYOUT_QWERTY_A = 0x1E, KEYBOARD_LAYOUT_QWERTY_S = 0x1F, KEYBOARD_LAYOUT_QWERTY_D = 0x20, KEYBOARD_LAYOUT_QWERTY_F = 0x21, KEYBOARD_LAYOUT_QWERTY_G = 0x22, KEYBOARD_LAYOUT_QWERTY_H = 0x23, KEYBOARD_LAYOUT_QWERTY_J = 0x24, KEYBOARD_LAYOUT_QWERTY_K = 0x25, KEYBOARD_LAYOUT_QWERTY_L = 0x26, KEYBOARD_LAYOUT_QWERTY_OEM_1 = 0x27, KEYBOARD_LAYOUT_QWERTY_OEM_7 = 0x28, KEYBOARD_LAYOUT_QWERTY_RETURN = 0x1C, KEYBOARD_LAYOUT_QWERTY_LSHIFT = 0x2A, KEYBOARD_LAYOUT_QWERTY_Z = 0x2C, KEYBOARD_LAYOUT_QWERTY_X = 0x2D, KEYBOARD_LAYOUT_QWERTY_C = 0x2E, KEYBOARD_LAYOUT_QWERTY_V = 0x2F, KEYBOARD_LAYOUT_QWERTY_B = 0x30, KEYBOARD_LAYOUT_QWERTY_N = 0x31, KEYBOARD_LAYOUT_QWERTY_M = 0x32, KEYBOARD_LAYOUT_QWERTY_OEM_CC = 0x33, KEYBOARD_LAYOUT_QWERTY_OEM_PE = 0x34, KEYBOARD_LAYOUT_QWERTY_OEM_2 = 0x35, KEYBOARD_LAYOUT_QWERTY_RSHIFT = 0x36, KEYBOARD_LAYOUT_QWERTY_LCONTROL = 0x1D, KEYBOARD_LAYOUT_QWERTY_LSUPER = 0xE05B, KEYBOARD_LAYOUT_QWERTY_LMENU = 0x38, KEYBOARD_LAYOUT_QWERTY_SPACE = 0x39, KEYBOARD_LAYOUT_QWERTY_RMENU = 0xE038, KEYBOARD_LAYOUT_QWERTY_RSUPER = 0xE05C, KEYBOARD_LAYOUT_QWERTY_APPS = 0xE05D, KEYBOARD_LAYOUT_QWERTY_RCONTROL = 0xE01D, KEYBOARD_LAYOUT_QWERTY_INSERT = 0xE052, KEYBOARD_LAYOUT_QWERTY_HOME = 0xE047, KEYBOARD_LAYOUT_QWERTY_PRIOR = 0xE049, KEYBOARD_LAYOUT_QWERTY_DELETE = 0xE053, KEYBOARD_LAYOUT_QWERTY_END = 0xE04F, KEYBOARD_LAYOUT_QWERTY_NEXT = 0xE051, KEYBOARD_LAYOUT_QWERTY_UP = 0xE048, KEYBOARD_LAYOUT_QWERTY_LEFT = 0xE04B, KEYBOARD_LAYOUT_QWERTY_RIGHT = 0xE04D, KEYBOARD_LAYOUT_QWERTY_DOWN = 0xE050, KEYBOARD_LAYOUT_QWERTY_NUMLOCK = 0x45, KEYBOARD_LAYOUT_QWERTY_DIVIDE = 0xE035, KEYBOARD_LAYOUT_QWERTY_MULTIPLY = 0x37, KEYBOARD_LAYOUT_QWERTY_SUBTRACT = 0x4A, KEYBOARD_LAYOUT_QWERTY_NUMPAD_1 = 0x47, KEYBOARD_LAYOUT_QWERTY_NUMPAD_2 = 0x48, KEYBOARD_LAYOUT_QWERTY_NUMPAD_3 = 0x49, KEYBOARD_LAYOUT_QWERTY_NUMPAD_4 = 0x4B, KEYBOARD_LAYOUT_QWERTY_NUMPAD_5 = 0x4C, KEYBOARD_LAYOUT_QWERTY_NUMPAD_6 = 0x4D, KEYBOARD_LAYOUT_QWERTY_NUMPAD_7 = 0x4F, KEYBOARD_LAYOUT_QWERTY_NUMPAD_8 = 0x50, KEYBOARD_LAYOUT_QWERTY_NUMPAD_9 = 0x51, KEYBOARD_LAYOUT_QWERTY_NUMPAD_0 = 0x52, KEYBOARD_LAYOUT_QWERTY_NUMPAD_PERIOD = 0x53, KEYBOARD_LAYOUT_QWERTY_ADD = 0x4E, KEYBOARD_LAYOUT_QWERTY_NUMPAD_RETURN = 0xE01, } #endif