Added all keyboard keycodes

This commit is contained in:
NicoHood 2015-10-23 18:49:54 +02:00
parent 1a676a2d20
commit c4eb9c7ef2
2 changed files with 144 additions and 10 deletions

View file

@ -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

View file

@ -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