Added all keyboard keycodes
This commit is contained in:
parent
1a676a2d20
commit
c4eb9c7ef2
2 changed files with 144 additions and 10 deletions
|
|
@ -91,6 +91,8 @@ Version History
|
|||
* Added a few key definitions
|
||||
* Uses .alinkage custom IDE option
|
||||
* Added BootKeyboard support (BIOS compatibility)
|
||||
* KEY_MENU switched to KEY_APPLICATION
|
||||
* KEY_RETURN is not KEY_ENTER anymore!
|
||||
|
||||
2.3 Release (never released)
|
||||
* Updated Libraries
|
||||
|
|
|
|||
|
|
@ -28,21 +28,18 @@ THE SOFTWARE.
|
|||
#error This API does not support non US english layouts.
|
||||
#endif
|
||||
|
||||
// Key alias
|
||||
#define KEY_RETURN KEY_ENTER
|
||||
#define KEY_LEFT_WINDOWS KEY_LEFT_GUI
|
||||
#define KEY_RIGHT_WINDOWS KEY_RIGHT_GUI
|
||||
#define KEY_PRINTSCREEN KEY_PRINT
|
||||
|
||||
// Hut1_12v2.pdf
|
||||
enum KeyboardModifier : uint8_t {
|
||||
KEY_LEFT_CTRL = (1 << 0),
|
||||
KEY_LEFT_SHIFT = (1 << 1),
|
||||
KEY_LEFT_ALT = (1 << 2),
|
||||
KEY_LEFT_GUI = (1 << 3),
|
||||
KEY_LEFT_WINDOWS = (1 << 3), // Alias
|
||||
KEY_RIGHT_CTRL = (1 << 4),
|
||||
KEY_RIGHT_SHIFT = (1 << 5),
|
||||
KEY_RIGHT_ALT = (1 << 6),
|
||||
KEY_RIGHT_GUI = (1 << 7),
|
||||
KEY_RIGHT_WINDOWS = (1 << 7), // Alias
|
||||
};
|
||||
|
||||
enum KeyboardKeycode : uint8_t {
|
||||
|
|
@ -117,6 +114,7 @@ enum KeyboardKeycode : uint8_t {
|
|||
KEY_F11 = 0x44,
|
||||
KEY_F12 = 0x45,
|
||||
KEY_PRINT = 0x46,
|
||||
KEY_PRINTSCREEN = 0x46, // Alias
|
||||
KEY_SCROLL_LOCK = 0x47,
|
||||
KEY_PAUSE = 0x48,
|
||||
KEY_INSERT = 0x49,
|
||||
|
|
@ -130,14 +128,148 @@ enum KeyboardKeycode : uint8_t {
|
|||
KEY_DOWN_ARROW = 0x51,
|
||||
KEY_UP_ARROW = 0x52,
|
||||
KEY_NUM_LOCK = 0x53,
|
||||
|
||||
KEYPAD_SLASH = 0x54,
|
||||
KEYPAD_ASTERICS = 0x55,
|
||||
KEYPAD_MINUS = 0x56,
|
||||
KEYPAD_PLUS = 0x57,
|
||||
KEYPAD_ENTER = 0x59,
|
||||
KEYPAD_1 = 0x59,
|
||||
KEYPAD_2 = 0x5A,
|
||||
KEYPAD_3 = 0x5B,
|
||||
KEYPAD_4 = 0x5C,
|
||||
KEYPAD_5 = 0x5D,
|
||||
KEYPAD_6 = 0x5E,
|
||||
KEYPAD_7 = 0x5F,
|
||||
KEYPAD_8 = 0x60,
|
||||
KEYPAD_9 = 0x61,
|
||||
KEYPAD_0 = 0x62,
|
||||
KEYPAD_DOT = 0x63,
|
||||
KEY_NON_US = 0x64,
|
||||
KEY_MENU = 0x65,
|
||||
KEY_POWER = 0x66,
|
||||
KEY_APPLICATION = 0x65, // Context menu/right click
|
||||
|
||||
KEY_VOLUME_MUTE = 0x7F,
|
||||
// Most of the following keys will only work with Linux or not at all.
|
||||
// F13+ keys are mostly used for laptop functions like ECO key.
|
||||
KEY_POWER = 0x66,
|
||||
KEY_PAD_EQUAL = 0x67,
|
||||
KEY_F13 = 0x68,
|
||||
KEY_F14 = 0x69,
|
||||
KEY_F15 = 0x6A,
|
||||
KEY_F16 = 0x6B,
|
||||
KEY_F17 = 0x6C,
|
||||
KEY_F18 = 0x6D,
|
||||
KEY_F19 = 0x6E,
|
||||
KEY_F20 = 0x6F,
|
||||
KEY_F21 = 0x70,
|
||||
KEY_F22 = 0x71,
|
||||
KEY_F23 = 0x72,
|
||||
KEY_F24 = 0x73,
|
||||
KEY_EXECUTE = 0x74,
|
||||
KEY_HELP = 0x75,
|
||||
KEY_MENU = 0x76,
|
||||
KEY_SELECT = 0x77,
|
||||
KEY_STOP = 0x78,
|
||||
KEY_AGAIN = 0x79,
|
||||
KEY_UNDO = 0x7A,
|
||||
KEY_CUT = 0x7B,
|
||||
KEY_COPY = 0x7C,
|
||||
KEY_PASTE = 0x7D,
|
||||
KEY_FIND = 0x7E,
|
||||
KEY_MUTE = 0x7F,
|
||||
KEY_VOLUME_MUTE = 0x7F, // Alias
|
||||
KEY_VOLUME_UP = 0x80,
|
||||
KEY_VOLUME_DOWN = 0x81,
|
||||
KEY_LOCKING_CAPS_LOCK = 0x82,
|
||||
KEY_LOCKING_NUM_LOCK = 0x83,
|
||||
KEY_LOCKING_SCROLL_LOCK = 0x84,
|
||||
KEYPAD_COMMA = 0x85,
|
||||
KEYPAD_EQUAL_SIGN = 0x86, // Dont confuse with KEYPAD_EQUAL
|
||||
KEY_INTERNATIONAL1 = 0x87,
|
||||
KEY_INTERNATIONAL2 = 0x88,
|
||||
KEY_INTERNATIONAL3 = 0x89,
|
||||
KEY_INTERNATIONAL4 = 0x8A,
|
||||
KEY_INTERNATIONAL5 = 0x8B,
|
||||
KEY_INTERNATIONAL6 = 0x8C,
|
||||
KEY_INTERNATIONAL7 = 0x8D,
|
||||
KEY_INTERNATIONAL8 = 0x8E,
|
||||
KEY_INTERNATIONAL9 = 0x8F,
|
||||
KEY_LANG1 = 0x90,
|
||||
KEY_LANG2 = 0x91,
|
||||
KEY_LANG3 = 0x92,
|
||||
KEY_LANG4 = 0x93,
|
||||
KEY_LANG5 = 0x94,
|
||||
KEY_LANG6 = 0x95,
|
||||
KEY_LANG7 = 0x96,
|
||||
KEY_LANG8 = 0x97,
|
||||
KEY_LANG9 = 0x98,
|
||||
KEY_ALTERNATE_ERASE = 0x99,
|
||||
KEY_SYSREQ_ATTENTION = 0x9A,
|
||||
KEY_CANCEL = 0x9B,
|
||||
KEY_CLEAR = 0x9C,
|
||||
KEY_PRIOR = 0x9D,
|
||||
KEY_RETURN = 0x9E, // Do not confuse this with KEY_ENTER
|
||||
KEY_SEPARATOR = 0x9F,
|
||||
KEY_OUT = 0xA0,
|
||||
KEY_OPER = 0xA1,
|
||||
KEY_CLEAR_AGAIN = 0xA2,
|
||||
KEY_CRSEL_PROPS = 0xA3,
|
||||
KEY_EXSEL = 0xA4,
|
||||
|
||||
KEY_PAD_00 = 0xB0,
|
||||
KEY_PAD_000 = 0xB1,
|
||||
KEY_THOUSANDS_SEPARATOR = 0xB2,
|
||||
KEY_DECIMAL_SEPARATOR = 0xB3,
|
||||
KEY_CURRENCY_UNIT = 0xB4,
|
||||
KEY_CURRENCY_SUB_UNIT = 0xB5,
|
||||
KEYPAD_LEFT_BRACE = 0xB6,
|
||||
KEYPAD_RIGHT_BRACE = 0xB7,
|
||||
KEYPAD_LEFT_CURLY_BRACE = 0xB8,
|
||||
KEYPAD_RIGHT_CURLY_BRACE = 0xB9,
|
||||
KEYPAD_TAB = 0xBA,
|
||||
KEYPAD_BACKSPACE = 0xBB,
|
||||
KEYPAD_A = 0xBC,
|
||||
KEYPAD_B = 0xBD,
|
||||
KEYPAD_C = 0xBE,
|
||||
KEYPAD_D = 0xBF,
|
||||
KEYPAD_E = 0xC0,
|
||||
KEYPAD_F = 0xC1,
|
||||
KEYPAD_XOR = 0xC2,
|
||||
KEYPAD_CARET = 0xC3,
|
||||
KEYPAD_PERCENT = 0xC4,
|
||||
KEYPAD_LEFT_ANGLE = 0xC5,
|
||||
KEYPAD_RIGHT_ANGLE = 0xC6,
|
||||
KEYPAD_AMPERSAND = 0xC7,
|
||||
KEYPAD_DOUBLE_AMPERSAND = 0xC8,
|
||||
KEYPAD_PIPE = 0xC9,
|
||||
KEYPAD_DOUBLE_PIPE = 0xCA,
|
||||
KEYPAD_COLON = 0xCB,
|
||||
KEYPAD_POUND = 0xCC,
|
||||
KEYPAD_SPACE = 0xCD,
|
||||
KEYPAD_AT = 0xCE,
|
||||
KEYPAD_EXCLAMATION = 0xCF,
|
||||
KEYPAD_MEMORY_STORE = 0xD0,
|
||||
KEYPAD_MEMORY_RECALL = 0xD1,
|
||||
KEYPAD_MEMORY_CLEAR = 0xD2,
|
||||
KEYPAD_MEMORY_ADD = 0xD3,
|
||||
KEYPAD_MEMORY_SUBTRACT = 0xD4,
|
||||
KEYPAD_MEMORY_MULTIPLY = 0xD5,
|
||||
KEYPAD_MEMORY_DIVIDE = 0xD6,
|
||||
KEYPAD_PLUS_MINUS = 0xD7,
|
||||
KEYPAD_CLEAR = 0xD8,
|
||||
KEYPAD_CLEAR_ENTRY = 0xD9,
|
||||
KEYPAD_BINARY = 0xDA,
|
||||
KEYPAD_OCTAL = 0xDB,
|
||||
KEYPAD_DECIMAL = 0xDC,
|
||||
KEYPAD_HEXADECIMAL = 0xDD,
|
||||
|
||||
// Used in KeyboardModifier enum directly
|
||||
//KEY_LEFT_CTRL = 0xE0,
|
||||
//KEY_LEFT_SHIFT = 0xE1,
|
||||
//KEY_LEFT_ALT = 0xE2,
|
||||
//KEY_LEFT_GUI = 0xE3,
|
||||
//KEY_RIGHT_CTRL = 0xE4,
|
||||
//KEY_RIGHT_SHIFT = 0xE5,
|
||||
//KEY_RIGHT_ALT = 0xE6,
|
||||
//KEY_RIGHT_GUI = 0xE7,
|
||||
};
|
||||
|
||||
// Keyboard Leds
|
||||
|
|
|
|||
Loading…
Reference in a new issue