// ┌──────────────────┬───────────┬───────────┐
// │ Key Name         │ Scan Code │ Virt Code │
// ├──────────────────┼───────────┼───────────┤
KEY(CTRL               ,0x001D     ,0xA2      )
KEY(LEFT_CTRL          ,0x001D     ,0xA2      )
KEY(RIGHT_CTRL         ,0xE01D     ,0xA3      )
KEY(SHIFT              ,0x002A     ,0xA0      )
KEY(LEFT_SHIFT         ,0x002A     ,0xA0      )
KEY(RIGHT_SHIFT        ,0x0036     ,0xA1      )
KEY(ALT                ,0x0038     ,0xA4      )
KEY(LEFT_ALT           ,0x0038     ,0xA4      )
KEY(RIGHT_ALT          ,0xE038     ,0xA5      )
KEY(WIN                ,0xE05B     ,0x5B      )
KEY(LEFT_WIN           ,0xE05B     ,0x5B      )
KEY(RIGHT_WIN          ,0xE05C     ,0x5C      )
KEY(BACKSPACE          ,0x0E       ,0x08      )
KEY(CAPSLOCK           ,0x3A       ,0x14      )
KEY(ENTER              ,0x1C       ,0x0D      )
KEY(ESCAPE             ,0x01       ,0x1B      )
KEY(SPACE              ,0x39       ,0x20      )
KEY(TAB                ,0x0F       ,0x09      )
KEY(NOOP               ,0x0000     ,0x00      )

KEY(UP                 ,0xE048     ,0x26      )
KEY(LEFT               ,0xE04B     ,0x25      )
KEY(RIGHT              ,0xE04D     ,0x27      )
KEY(DOWN               ,0xE050     ,0x28      )

KEY(LBRACKET           ,0x1A       ,0xDB      )
KEY(RBRACKET           ,0x1B       ,0xDD      )
KEY(BACKSLASH          ,0x2B       ,0xDC      )
KEY(APOSTROPHE         ,0x28       ,0xDE      )

KEY(F1                 ,0x3B       ,0x70      )
KEY(F2                 ,0x3C       ,0x71      )
KEY(F3                 ,0x3D       ,0x72      )
KEY(F4                 ,0x3E       ,0x73      )
KEY(F5                 ,0x3F       ,0x74      )
KEY(F6                 ,0x40       ,0x75      )
KEY(F7                 ,0x41       ,0x76      )
KEY(F8                 ,0x42       ,0x77      )
KEY(F9                 ,0x43       ,0x78      )
KEY(F10                ,0x44       ,0x79      )
KEY(F11                ,0x57       ,0x7A      )
KEY(F12                ,0x58       ,0x7B      )
KEY(F13                ,0x64       ,0x7C      )
KEY(F14                ,0x65       ,0x7D      )
KEY(F15                ,0x66       ,0x7E      )
KEY(F16                ,0x67       ,0x7F      )
KEY(F17                ,0x68       ,0x80      )
KEY(F18                ,0x69       ,0x81      )
KEY(F19                ,0x6A       ,0x82      )
KEY(F20                ,0x6B       ,0x83      )
KEY(F21                ,0x6C       ,0x84      )
KEY(F22                ,0x6D       ,0x85      )
KEY(F23                ,0x6E       ,0x86      )
KEY(F24                ,0x6F       ,0x87      )

KEY(KEY_0              ,0x0B       ,0x30      )
KEY(KEY_1              ,0x02       ,0x31      )
KEY(KEY_2              ,0x03       ,0x32      )
KEY(KEY_3              ,0x04       ,0x33      )
KEY(KEY_4              ,0x05       ,0x34      )
KEY(KEY_5              ,0x06       ,0x35      )
KEY(KEY_6              ,0x07       ,0x36      )
KEY(KEY_7              ,0x08       ,0x37      )
KEY(KEY_8              ,0x09       ,0x38      )
KEY(KEY_9              ,0x0A       ,0x39      )

KEY(KEY_A              ,0x1E       ,0x41      )
KEY(KEY_B              ,0x30       ,0x42      )
KEY(KEY_C              ,0x2E       ,0x43      )
KEY(KEY_D              ,0x20       ,0x44      )
KEY(KEY_E              ,0x12       ,0x45      )
KEY(KEY_F              ,0x21       ,0x46      )
KEY(KEY_G              ,0x22       ,0x47      )
KEY(KEY_H              ,0x23       ,0x48      )
KEY(KEY_I              ,0x17       ,0x49      )
KEY(KEY_J              ,0x24       ,0x4A      )
KEY(KEY_K              ,0x25       ,0x4B      )
KEY(KEY_L              ,0x26       ,0x4C      )
KEY(KEY_M              ,0x32       ,0x4D      )
KEY(KEY_N              ,0x31       ,0x4E      )
KEY(KEY_O              ,0x18       ,0x4F      )
KEY(KEY_P              ,0x19       ,0x50      )
KEY(KEY_Q              ,0x10       ,0x51      )
KEY(KEY_R              ,0x13       ,0x52      )
KEY(KEY_S              ,0x1F       ,0x53      )
KEY(KEY_T              ,0x14       ,0x54      )
KEY(KEY_U              ,0x16       ,0x55      )
KEY(KEY_V              ,0x2F       ,0x56      )
KEY(KEY_W              ,0x11       ,0x57      )
KEY(KEY_X              ,0x2D       ,0x58      )
KEY(KEY_Y              ,0x15       ,0x59      )
KEY(KEY_Z              ,0x2C       ,0x5A      )

KEY(NUM0               ,0x52       ,0x60      )
KEY(NUM1               ,0x4F       ,0x61      )
KEY(NUM2               ,0x50       ,0x62      )
KEY(NUM3               ,0x51       ,0x63      )
KEY(NUM4               ,0x4B       ,0x64      )
KEY(NUM5               ,0x4C       ,0x65      )
KEY(NUM6               ,0x4D       ,0x66      )
KEY(NUM7               ,0x47       ,0x67      )
KEY(NUM8               ,0x48       ,0x68      )
KEY(NUM9               ,0x49       ,0x69      )
KEY(NUM_MULTIPLY       ,0x37       ,0x6A      )
KEY(NUM_ADD            ,0x4E       ,0x6B      )
KEY(NUM_SUBTRACT       ,0x4A       ,0x6D      )
KEY(NUM_DECIMAL        ,0x53       ,0x6E      )
KEY(NUM_DIVIDE         ,0xE035     ,0x6F      )

KEY(APPS               ,0xE05D     ,0x5D      )
KEY(INSERT             ,0xE052     ,0x2D      )
KEY(DELETE             ,0xE053     ,0x2E      )
KEY(HOME               ,0xE047     ,0x24      )
KEY(END                ,0xE04F     ,0x23      )
KEY(PAGE_UP            ,0xE049     ,0x21      )
KEY(PAGE_DOWN          ,0xE051     ,0x22      )

KEY(PRINT_SCREEN       ,0xE037     ,0x2C      )
KEY(NUMLOCK            ,0x145      ,0x90      )
KEY(SCROLLLOCK         ,0x46       ,0x91      )
KEY(PAUSE              ,0xE11D     ,0x13      )

KEY(MEDIA_PLAY_PAUSE   ,0xE022     ,0xB3      )
KEY(MEDIA_NEXT_TRACK   ,0xE019     ,0xB0      )
KEY(MEDIA_PREV_TRACK   ,0xE010     ,0xB1      )
KEY(MEDIA_STOP         ,0xE024     ,0xB2      )
KEY(VOLUME_MUTE        ,0xE020     ,0xAD      )
KEY(VOLUME_DOWN        ,0xE02E     ,0xAE      )
KEY(VOLUME_UP          ,0xE030     ,0xAF      )

KEY(PLUS               ,0x0D       ,0xBB      )
KEY(COMMA              ,0x33       ,0xBC      )
KEY(MINUS              ,0x0C       ,0xBD      )
KEY(PERIOD             ,0x34       ,0xBE      )
KEY(US_SEMI            ,0x27       ,0xBA      )
KEY(US_SLASH           ,0x35       ,0xBF      )
KEY(US_TILDE           ,0x29       ,0xC0      )
// └──────────────────┴───────────┴───────────┘
