key = {} # from https://circuitpython.readthedocs.io/projects/hid/en/latest/_modules/adafruit_hid/keycode.html A = 0x04 """``a`` and ``A``""" B = 0x05 """``b`` and ``B``""" C = 0x06 """``c`` and ``C``""" D = 0x07 """``d`` and ``D``""" E = 0x08 """``e`` and ``E``""" F = 0x09 """``f`` and ``F``""" G = 0x0A """``g`` and ``G``""" H = 0x0B """``h`` and ``H``""" I = 0x0C """``i`` and ``I``""" J = 0x0D """``j`` and ``J``""" K = 0x0E """``k`` and ``K``""" L = 0x0F """``l`` and ``L``""" M = 0x10 """``m`` and ``M``""" N = 0x11 """``n`` and ``N``""" O = 0x12 """``o`` and ``O``""" P = 0x13 """``p`` and ``P``""" Q = 0x14 """``q`` and ``Q``""" R = 0x15 """``r`` and ``R``""" S = 0x16 """``s`` and ``S``""" T = 0x17 """``t`` and ``T``""" U = 0x18 """``u`` and ``U``""" V = 0x19 """``v`` and ``V``""" W = 0x1A """``w`` and ``W``""" X = 0x1B """``x`` and ``X``""" Y = 0x1C """``y`` and ``Y``""" Z = 0x1D """``z`` and ``Z``""" ONE = 0x1E """``1`` and ``!``""" TWO = 0x1F """``2`` and ``@``""" THREE = 0x20 """``3`` and ``#``""" FOUR = 0x21 """``4`` and ``$``""" FIVE = 0x22 """``5`` and ``%``""" SIX = 0x23 """``6`` and ``^``""" SEVEN = 0x24 """``7`` and ``&``""" EIGHT = 0x25 """``8`` and ``*``""" NINE = 0x26 """``9`` and ``(``""" ZERO = 0x27 """``0`` and ``)``""" ENTER = 0x28 """Enter (Return)""" RETURN = ENTER """Alias for ``ENTER``""" ESCAPE = 0x29 """Escape""" BACKSPACE = 0x2A """Delete backward (Backspace)""" TAB = 0x2B """Tab and Backtab""" SPACEBAR = 0x2C """Spacebar""" SPACE = SPACEBAR """Alias for SPACEBAR""" MINUS = 0x2D """``-` and ``_``""" EQUALS = 0x2E """``=` and ``+``""" LEFT_BRACKET = 0x2F """``[`` and ``{``""" RIGHT_BRACKET = 0x30 """``]`` and ``}``""" BACKSLASH = 0x31 r"""``\`` and ``|``""" POUND = 0x32 """``#`` and ``~`` (Non-US keyboard)""" SEMICOLON = 0x33 """``;`` and ``:``""" QUOTE = 0x34 """``'`` and ``"``""" GRAVE_ACCENT = 0x35 r""":literal:`\`` and ``~``""" COMMA = 0x36 """``,`` and ``<``""" PERIOD = 0x37 """``.`` and ``>``""" FORWARD_SLASH = 0x38 """``/`` and ``?``""" CAPS_LOCK = 0x39 """Caps Lock""" F1 = 0x3A """Function key F1""" F2 = 0x3B """Function key F2""" F3 = 0x3C """Function key F3""" F4 = 0x3D """Function key F4""" F5 = 0x3E """Function key F5""" F6 = 0x3F """Function key F6""" F7 = 0x40 """Function key F7""" F8 = 0x41 """Function key F8""" F9 = 0x42 """Function key F9""" F10 = 0x43 """Function key F10""" F11 = 0x44 """Function key F11""" F12 = 0x45 """Function key F12""" PRINT_SCREEN = 0x46 """Print Screen (SysRq)""" SCROLL_LOCK = 0x47 """Scroll Lock""" PAUSE = 0x48 """Pause (Break)""" INSERT = 0x49 """Insert""" HOME = 0x4A """Home (often moves to beginning of line)""" PAGE_UP = 0x4B """Go back one page""" DELETE = 0x4C """Delete forward""" END = 0x4D """End (often moves to end of line)""" PAGE_DOWN = 0x4E """Go forward one page""" RIGHT_ARROW = 0x4F """Move the cursor right""" LEFT_ARROW = 0x50 """Move the cursor left""" DOWN_ARROW = 0x51 """Move the cursor down""" UP_ARROW = 0x52 """Move the cursor up""" KEYPAD_NUMLOCK = 0x53 """Num Lock (Clear on Mac)""" KEYPAD_FORWARD_SLASH = 0x54 """Keypad ``/``""" KEYPAD_ASTERISK = 0x55 """Keypad ``*``""" KEYPAD_MINUS = 0x56 """Keyapd ``-``""" KEYPAD_PLUS = 0x57 """Keypad ``+``""" KEYPAD_ENTER = 0x58 """Keypad Enter""" KEYPAD_ONE = 0x59 """Keypad ``1`` and End""" KEYPAD_TWO = 0x5A """Keypad ``2`` and Down Arrow""" KEYPAD_THREE = 0x5B """Keypad ``3`` and PgDn""" KEYPAD_FOUR = 0x5C """Keypad ``4`` and Left Arrow""" KEYPAD_FIVE = 0x5D """Keypad ``5``""" KEYPAD_SIX = 0x5E """Keypad ``6`` and Right Arrow""" KEYPAD_SEVEN = 0x5F """Keypad ``7`` and Home""" KEYPAD_EIGHT = 0x60 """Keypad ``8`` and Up Arrow""" KEYPAD_NINE = 0x61 """Keypad ``9`` and PgUp""" KEYPAD_ZERO = 0x62 """Keypad ``0`` and Ins""" KEYPAD_PERIOD = 0x63 """Keypad ``.`` and Del""" KEYPAD_BACKSLASH = 0x64 """Keypad ``\\`` and ``|`` (Non-US)""" APPLICATION = 0x65 """Application: also known as the Menu key (Windows)""" POWER = 0x66 """Power (Mac)""" KEYPAD_EQUALS = 0x67 """Keypad ``=`` (Mac)""" F13 = 0x68 """Function key F13 (Mac)""" F14 = 0x69 """Function key F14 (Mac)""" F15 = 0x6A """Function key F15 (Mac)""" F16 = 0x6B """Function key F16 (Mac)""" F17 = 0x6C """Function key F17 (Mac)""" F18 = 0x6D """Function key F18 (Mac)""" F19 = 0x6E """Function key F19 (Mac)""" F20 = 0x6F """Function key F20""" F21 = 0x70 """Function key F21""" F22 = 0x71 """Function key F22""" F23 = 0x72 """Function key F23""" F24 = 0x73 """Function key F24""" LEFT_CONTROL = 0xE0 """Control modifier left of the spacebar""" CONTROL = LEFT_CONTROL """Alias for LEFT_CONTROL""" LEFT_SHIFT = 0xE1 """Shift modifier left of the spacebar""" SHIFT = LEFT_SHIFT """Alias for LEFT_SHIFT""" LEFT_ALT = 0xE2 """Alt modifier left of the spacebar""" ALT = LEFT_ALT """Alias for LEFT_ALT; Alt is also known as Option (Mac)""" OPTION = ALT """Labeled as Option on some Mac keyboards""" LEFT_GUI = 0xE3 """GUI modifier left of the spacebar""" GUI = LEFT_GUI """Alias for LEFT_GUI; GUI is also known as the Windows key, Command (Mac), or Meta""" WINDOWS = GUI """Labeled with a Windows logo on Windows keyboards""" COMMAND = GUI """Labeled as Command on Mac keyboards, with a clover glyph""" RIGHT_CONTROL = 0xE4 """Control modifier right of the spacebar""" RIGHT_SHIFT = 0xE5 """Shift modifier right of the spacebar""" RIGHT_ALT = 0xE6 """Alt modifier right of the spacebar""" RIGHT_GUI = 0xE7 """GUI modifier right of the spacebar""" key[A] = 0x04 key[B] = 0x05 key[C] = 0x06 key[D] = 0x07 key[E] = 0x08 key[F] = 0x09 key[G] = 0x0A key[H] = 0x0B key[I] = 0x0C key[J] = 0x0D key[K] = 0x0E key[L] = 0x0F key[M] = 0x10 key[N] = 0x11 key[O] = 0x12 key[P] = 0x13 key[Q] = 0x14 key[R] = 0x15 key[S] = 0x16 key[T] = 0x17 key[U] = 0x18 key[V] = 0x19 key[W] = 0x1A key[X] = 0x1B key[Y] = 0x1C key[Z] = 0x1D key[ONE] = 0x1E key[TWO] = 0x1F key[THREE] = 0x20 key[FOUR] = 0x21 key[FIVE] = 0x22 key[SIX] = 0x23 key[SEVEN] = 0x24 key[EIGHT] = 0x25 key[NINE] = 0x26 key[ZERO] = 0x27 key[ENTER] = 0x28 key[RETURN] = ENTER key[ESCAPE] = 0x29 key[BACKSPACE] = 0x2A key[TAB] = 0x2B key[SPACEBAR] = 0x2C key[SPACE] = key[SPACEBAR] key[MINUS] = 0x2D key[EQUALS] = 0x2E key[LEFT_BRACKET] = 0x2F key[RIGHT_BRACKET] = 0x30 key[BACKSLASH] = 0x31 key[POUND] = 0x32 key[SEMICOLON] = 0x33 key[QUOTE] = 0x34 key[GRAVE_ACCENT] = 0x35 key[COMMA] = 0x36 key[PERIOD] = 0x37 key[FORWARD_SLASH] = 0x38 key[CAPS_LOCK] = 0x39 key[F1] = 0x3A key[F2] = 0x3B key[F3] = 0x3C key[F4] = 0x3D key[F5] = 0x3E key[F6] = 0x3F key[F7] = 0x40 key[F8] = 0x41 key[F9] = 0x42 key[F10] = 0x43 key[F11] = 0x44 key[F12] = 0x45 key[PRINT_SCREEN] = 0x46 key[SCROLL_LOCK] = 0x47 key[PAUSE] = 0x48 key[INSERT] = 0x49 key[HOME] = 0x4A key[PAGE_UP] = 0x4B key[DELETE] = 0x4C key[END] = 0x4D key[PAGE_DOWN] = 0x4E key[RIGHT_ARROW] = 0x4F key[LEFT_ARROW] = 0x50 key[DOWN_ARROW] = 0x51 key[UP_ARROW] = 0x52 key[KEYPAD_NUMLOCK] = 0x53 key[KEYPAD_FORWARD_SLASH] = 0x54 key[KEYPAD_ASTERISK] = 0x55 key[KEYPAD_MINUS] = 0x56 key[KEYPAD_PLUS] = 0x57 key[KEYPAD_ENTER] = 0x58 key[KEYPAD_ONE] = 0x59 key[KEYPAD_TWO] = 0x5A key[KEYPAD_THREE] = 0x5B key[KEYPAD_FOUR] = 0x5C key[KEYPAD_FIVE] = 0x5D key[KEYPAD_SIX] = 0x5E key[KEYPAD_SEVEN] = 0x5F key[KEYPAD_EIGHT] = 0x60 key[KEYPAD_NINE] = 0x61 key[KEYPAD_ZERO] = 0x62 key[KEYPAD_PERIOD] = 0x63 key[KEYPAD_BACKSLASH] = 0x64 key[APPLICATION] = 0x65 key[POWER] = 0x66 key[KEYPAD_EQUALS] = 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[LEFT_CONTROL] = 0xE0 key[CONTROL] = key[LEFT_CONTROL] key[LEFT_SHIFT] = 0xE1 key[SHIFT] = key[LEFT_SHIFT] key[LEFT_ALT] = 0xE2 key[ALT] = key[LEFT_ALT] key[OPTION] = key[ALT] key[LEFT_GUI] = 0xE3 key[GUI] = key[LEFT_GUI] key[WINDOWS] = key[GUI] key[COMMAND] = key[GUI] key[RIGHT_CONTROL] = 0xE4 key[RIGHT_SHIFT] = 0xE5 key[RIGHT_ALT] = 0xE6 key[RIGHT_GUI] = 0xE7