# Code Help Stuff

### Just some code stuff for later

C WinAPI Virtual-Key Codes || Link

Constant | Value | Description
--- | --- | ---
`VK_LBUTTON` | 0x01 | Left mouse button
`VK_RBUTTON` | 0x02 | Right mouse button
`VK_CANCEL` | 0x03 | Control-break processing
`VK_MBUTTON` | 0x04 | Middle mouse button
`VK_XBUTTON1` | 0x05 | X1 mouse button
`VK_XBUTTON2` | 0x06 | X2 mouse button
`-` | 0x07 | Reserved
`VK_BACK` | 0x08 | BACKSPACE key
`VK_TAB` | 0x09 | TAB key
`-` | 0x0A-0B | Reserved
`VK_CLEAR` | 0x0C | CLEAR key
`VK_RETURN` | 0x0D | ENTER key
`-` | 0x0E-0F | Unassigned
`VK_SHIFT` | 0x10 | SHIFT key
`VK_CONTROL` | 0x11 | CTRL key
`VK_MENU` | 0x12 | ALT key
`VK_PAUSE` | 0x13 | PAUSE key
`VK_CAPITAL` | 0x14 | CAPS LOCK key
`VK_KANA` | 0x15 | IME Kana mode
`VK_HANGUL` | 0x15 | IME Hangul mode
`VK_IME_ON` | 0x16 | IME On
`VK_JUNJA` | 0x17 | IME Junja mode
`VK_FINAL` | 0x18 | IME final mode
`VK_HANJA` | 0x19 | IME Hanja mode
`VK_KANJI` | 0x19 | IME Kanji mode
`VK_IME_OFF` | 0x1A | IME Off
`VK_ESCAPE` | 0x1B | ESC key
`VK_CONVERT` | 0x1C | IME convert
`VK_NONCONVERT` | 0x1D | IME nonconvert
`VK_ACCEPT` | 0x1E | IME accept
`VK_MODECHANGE` | 0x1F | IME mode change request
`VK_SPACE` | 0x20 | SPACEBAR
`VK_PRIOR` | 0x21 | PAGE UP key
`VK_NEXT` | 0x22 | PAGE DOWN key
`VK_END` | 0x23 | END key
`VK_HOME` | 0x24 | HOME key
`VK_LEFT` | 0x25 | LEFT ARROW key
`VK_UP` | 0x26 | UP ARROW key
`VK_RIGHT` | 0x27 | RIGHT ARROW key
`VK_DOWN` | 0x28 | DOWN ARROW key
`VK_SELECT` | 0x29 | SELECT key
`VK_PRINT` | 0x2A | PRINT key
`VK_EXECUTE` | 0x2B | EXECUTE key
`VK_SNAPSHOT` | 0x2C | PRINT SCREEN key
`VK_INSERT` | 0x2D | INS key
`VK_DELETE` | 0x2E | DEL key
`VK_HELP` | 0x2F | HELP key
| 0x30 | 0 key
| 0x31 | 1 key
| 0x32 | 2 key
| 0x33 | 3 key
| 0x34 | 4 key
| 0x35 | 5 key
| 0x36 | 6 key
| 0x37 | 7 key
| 0x38 | 8 key
| 0x39 | 9 key
`-` | 0x3A-40 | Undefined
| 0x41 | A key
| 0x42 | B key
| 0x43 | C key
| 0x44 | D key
| 0x45 | E key
| 0x46 | F key
| 0x47 | G key
| 0x48 | H key
| 0x49 | I key
| 0x4A | J key
| 0x4B | K key
| 0x4C | L key
| 0x4D | M key
| 0x4E | N key
| 0x4F | O key
| 0x50 | P key
| 0x51 | Q key
| 0x52 | R key
| 0x53 | S key
| 0x54 | T key
| 0x55 | U key
| 0x56 | V key
| 0x57 | W key
| 0x58 | X key
| 0x59 | Y key
| 0x5A | Z key
`VK_LWIN` | 0x5B | Left Windows key
`VK_RWIN` | 0x5C | Right Windows key
`VK_APPS` | 0x5D | Applications key
`-` | 0x5E | Reserved
`VK_SLEEP` | 0x5F | Computer Sleep key
`VK_NUMPAD0` | 0x60 | Numeric keypad 0 key
`VK_NUMPAD1` | 0x61 | Numeric keypad 1 key
`VK_NUMPAD2` | 0x62 | Numeric keypad 2 key
`VK_NUMPAD3` | 0x63 | Numeric keypad 3 key
`VK_NUMPAD4` | 0x64 | Numeric keypad 4 key
`VK_NUMPAD5` | 0x65 | Numeric keypad 5 key
`VK_NUMPAD6` | 0x66 | Numeric keypad 6 key
`VK_NUMPAD7` | 0x67 | Numeric keypad 7 key
`VK_NUMPAD8` | 0x68 | Numeric keypad 8 key
`VK_NUMPAD9` | 0x69 | Numeric keypad 9 key
`VK_MULTIPLY` | 0x6A | Multiply key
`VK_ADD` | 0x6B | Add key
`VK_SEPARATOR` | 0x6C | Separator key
`VK_SUBTRACT` | 0x6D | Subtract key
`VK_DECIMAL` | 0x6E | Decimal key
`VK_DIVIDE` | 0x6F | Divide key
`VK_F1` | 0x70 | F1 key
`VK_F2` | 0x71 | F2 key
`VK_F3` | 0x72 | F3 key
`VK_F4` | 0x73 | F4 key
`VK_F5` | 0x74 | F5 key
`VK_F6` | 0x75 | F6 key
`VK_F7` | 0x76 | F7 key
`VK_F8` | 0x77 | F8 key
`VK_F9` | 0x78 | F9 key
`VK_F10` | 0x79 | F10 key
`VK_F11` | 0x7A | F11 key
`VK_F12` | 0x7B | F12 key
`VK_F13` | 0x7C | F13 key
`VK_F14` | 0x7D | F14 key
`VK_F15` | 0x7E | F15 key
`VK_F16` | 0x7F | F16 key
`VK_F17` | 0x80 | F17 key
`VK_F18` | 0x81 | F18 key
`VK_F19` | 0x82 | F19 key
`VK_F20` | 0x83 | F20 key
`VK_F21` | 0x84 | F21 key
`VK_F22` | 0x85 | F22 key
`VK_F23` | 0x86 | F23 key
`VK_F24` | 0x87 | F24 key
`-` | 0x88-8F | Reserved
`VK_NUMLOCK` | 0x90 | NUM LOCK key
`VK_SCROLL` | 0x91 | SCROLL LOCK key
`-` | 0x92-96 | OEM specific
`-` | 0x97-9F | Unassigned
`VK_LSHIFT` | 0xA0 | Left SHIFT key
`VK_RSHIFT` | 0xA1 | Right SHIFT key
`VK_LCONTROL` | 0xA2 | Left CONTROL key
`VK_RCONTROL` | 0xA3 | Right CONTROL key
`VK_LMENU` | 0xA4 | Left ALT key
`VK_RMENU` | 0xA5 | Right ALT key
`VK_BROWSER_BACK` | 0xA6 | Browser Back key
`VK_BROWSER_FORWARD` | 0xA7 | Browser Forward key
`VK_BROWSER_REFRESH` | 0xA8 | Browser Refresh key
`VK_BROWSER_STOP` | 0xA9 | Browser Stop key
`VK_BROWSER_SEARCH` | 0xAA | Browser Search key
`VK_BROWSER_FAVORITES` | 0xAB | Browser Favorites key
`VK_BROWSER_HOME` | 0xAC | Browser Start and Home key
`VK_VOLUME_MUTE` | 0xAD | Volume Mute key
`VK_VOLUME_DOWN` | 0xAE | Volume Down key
`VK_VOLUME_UP` | 0xAF | Volume Up key
`VK_MEDIA_NEXT_TRACK` | 0xB0 | Next Track key
`VK_MEDIA_PREV_TRACK` | 0xB1 | Previous Track key
`VK_MEDIA_STOP` | 0xB2 | Stop Media key
`VK_MEDIA_PLAY_PAUSE` | 0xB3 | Play/Pause Media key
`VK_LAUNCH_MAIL` | 0xB4 | Start Mail key
`VK_LAUNCH_MEDIA_SELECT` | 0xB5 | Select Media key
`VK_LAUNCH_APP1` | 0xB6 | Start Application 1 key
`VK_LAUNCH_APP2` | 0xB7 | Start Application 2 key
`-` | 0xB8-B9 | Reserved
`VK_OEM_1` | 0xBA | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `;:` key
`VK_OEM_PLUS` | 0xBB | For any country/region, the `+` key
`VK_OEM_COMMA` | 0xBC | For any country/region, the `,` key
`VK_OEM_MINUS` | 0xBD | For any country/region, the `-` key
`VK_OEM_PERIOD` | 0xBE | For any country/region, the `.` key
`VK_OEM_2` | 0xBF | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `/?` key
`VK_OEM_3` | 0xC0 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ``~` key
`-` | 0xC1-DA | Reserved
`VK_OEM_4` | 0xDB | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `[{` key
`VK_OEM_5` | 0xDC | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `\\|` key
`VK_OEM_6` | 0xDD | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `]}` key
`VK_OEM_7` | 0xDE | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `'"` key
`VK_OEM_8` | 0xDF | Used for miscellaneous characters; it can vary by keyboard.
`-` | 0xE0 | Reserved
`-` | 0xE1 | OEM specific
`VK_OEM_102` | 0xE2 | The `<>` keys on the US standard keyboard, or the `\\|` key on the non-US 102-key keyboard
`-` | 0xE3-E4 | OEM specific
`VK_PROCESSKEY` | 0xE5 | IME PROCESS key
`-` | 0xE6 | OEM specific
`VK_PACKET` | 0xE7 | Used to pass Unicode characters as if they were keystrokes. The `VK_PACKET` key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in `KEYBDINPUT`, `SendInput`, `WM_KEYDOWN`, and `WM_KEYUP`
`-` | 0xE8 | Unassigned
`-` | 0xE9-F5 | OEM specific
`VK_ATTN` | 0xF6 | Attn key
`VK_CRSEL` | 0xF7 | CrSel key
`VK_EXSEL` | 0xF8 | ExSel key
`VK_EREOF` | 0xF9 | Erase EOF key
`VK_PLAY` | 0xFA | Play key
`VK_ZOOM` | 0xFB | Zoom key
`VK_NONAME` | 0xFC | Reserved
`VK_PA1` | 0xFD | PA1 key
`VK_OEM_CLEAR` | 0xFE | Clear key