Virtual Keys
Virtual Key Codes shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual-key codes used by the Microsoft Windows operating system. The codes are listed in numeric order.
| Symbolic Constant Name | Hexadecimal Value | Mouse or Keyboard Equivalent |
|---|---|---|
| VK_LBUTTON | 01 | Left mouse button |
| VK_RBUTTON | 02 | Right mouse button |
| VK_CANCEL | 03 | Control-break processing |
| VK_MBUTTON | 04 | Middle mouse button (three-button mouse) |
| 05-07 | Undefined | |
| VK_BACK | 08 | BACKSPACE key |
| VK_TAB | 09 | TAB key |
| 0A-0B | Undefined | |
| VK_CLEAR | 0C | CLEAR key |
| VK_RETURN | 0D | ENTER key |
| 0E-0F | Undefined | |
| VK_SHIFT | 10 | SHIFT key |
| VK_CONTROL | 11 | CTRL key |
| VK_MENU | 12 | ALT key |
| VK_PAUSE | 13 | PAUSE key |
| VK_CAPITAL | 14 | CAPS LOCK key |
| 15-19 | Reserved for Kanji systems | |
| 1A | Undefined | |
| VK_ESCAPE | 1B | ESC key |
| 1C-1F | Reserved for Kanji systems | |
| VK_SPACE | 20 | SPACEBAR |
| VK_PRIOR | 21 | PAGE UP key |
| VK_NEXT | 22 | PAGE DOWN key |
| VK_END | 23 | END key |
| VK_HOME | 24 | HOME key |
| VK_LEFT | 25 | LEFT ARROW key |
| VK_UP | 26 | UP ARROW key |
| VK_RIGHT | 27 | RIGHT ARROW key |
| VK_DOWN | 28 | DOWN ARROW key |
| VK_SELECT | 29 | SELECT key |
| 2A | Original equipment manufacturer (OEM) specific | |
| VK_EXECUTE | 2B | EXECUTE key |
| VK_SNAPSHOT | 2C | PRINT SCREEN key for Windows 3.0 and later |
| VK_INSERT | 2D | INS key |
| VK_DELETE | 2E | DEL key |
| VK_HELP | 2F | HELP key |
| VK_0 | 30 | 0 key |
| VK_1 | 31 | 1 key |
| VK_2 | 32 | 2 key |
| VK_3 | 33 | 3 key |
| VK_4 | 34 | 4 key |
| VK_5 | 35 | 5 key |
| VK_6 | 36 | 6 key |
| VK_7 | 37 | 7 key |
| VK_8 | 38 | 8 key |
| VK_9 | 39 | 9 key |
| 3A-40 | Undefined | |
| VK_A | 41 | A key |
| VK_B | 42 | B key |
| VK_C | 43 | C key |
| VK_D | 44 | D key |
| VK_E | 45 | E key |
| VK_F | 46 | F key |
| VK_G | 47 | G key |
| VK_H | 48 | H key |
| VK_I | 49 | I key |
| VK_J | 4A | J key |
| VK_K | 4B | K key |
| VK_L | 4C | L key |
| VK_M | 4D | M key |
| VK_N | 4E | N key |
| VK_O | 4F | O key |
| VK_P | 50 | P key |
| VK_Q | 51 | Q key |
| VK_R | 52 | R key |
| VK_S | 53 | S key |
| VK_T | 54 | T key |
| VK_U | 55 | U key |
| VK_V | 56 | V key |
| VK_W | 57 | W key |
| VK_X | 58 | X key |
| VK_Y | 59 | Y key |
| VK_Z | 5A | Z key |
| 5B-5F | Undefined | |
| VK_NUMPAD0 | 60 | Numeric keypad 0 key |
| VK_NUMPAD1 | 61 | Numeric keypad 1 key |
| VK_NUMPAD2 | 62 | Numeric keypad 2 key |
| VK_NUMPAD3 | 63 | Numeric keypad 3 key |
| VK_NUMPAD4 | 64 | Numeric keypad 4 key |
| VK_NUMPAD5 | 65 | Numeric keypad 5 key |
| VK_NUMPAD6 | 66 | Numeric keypad 6 key |
| VK_NUMPAD7 | 67 | Numeric keypad 7 key |
| VK_NUMPAD8 | 68 | Numeric keypad 8 key |
| VK_NUMPAD9 | 69 | Numeric keypad 9 key |
| VK_MULTIPLY | 6A | Multiply key |
| VK_ADD | 6B | Add key |
| VK_SEPARATOR | 6C | Separator key |
| VK_SUBTRACT | 6D | Subtract key |
| VK_DECIMAL | 6E | Decimal key |
| VK_DIVIDE | 6F | Divide key |
| VK_F1 | 70 | F1 key |
| VK_F2 | 71 | F2 key |
| VK_F3 | 72 | F3 key |
| VK_F4 | 73 | F4 key |
| VK_F5 | 74 | F5 key |
| VK_F6 | 75 | F6 key |
| VK_F7 | 76 | F7 key |
| VK_F8 | 77 | F8 key |
| VK_F9 | 78 | F9 key |
| VK_F10 | 79 | F10 key |
| VK_F11 | 7A | F11 key |
| VK_F12 | 7B | F12 key |
| VK_F13 | 7C | F13 key |
| VK_F14 | 7D | F14 key |
| VK_F15 | 7E | F15 key |
| VK_F16 | 7F | F16 key |
| VK_F17 | 80H | F17 key |
| VK_F18 | 81H | F18 key |
| VK_F19 | 82H | F19 key |
| VK_F20 | 83H | F20 key |
| VK_F21 | 84H | F21 key |
| VK_F22 | 85H | F22 key |
| VK_F23 | 86H | F23 key |
| VK_F24 | 87H | F24 key |
| 88-8F | Unassigned | |
| VK_NUMLOCK | 90 | NUM LOCK key |
| VK_SCROLL | 91 | SCROLL LOCK key |
| 92-B9 | Unassigned | |
| BA-C0 | OEM specific | |
| C1-DA | Unassigned | |
| DB-E4 | OEM specific | |
| E5 | Unassigned | |
| E6 | OEM specific | |
| E7-E8 | Unassigned | |
| E9-F5 | OEM specific | |
| F6-FE | Unassigned |