# Virtual key codes

The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order.

Symbolic constant name | Value (hex) | Mouse or keyboard equivalents
--- | --- | ---
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)
VK_XBUTTON1 | 05 | Windows 2000/XP/2003/Vista/2008/7: X1 mouse button
VK_XBUTTON2 | 06 | Windows 2000/XP/2003/Vista/2008/7: X2 mouse button
- | 07 | Undefined
VK_BACK | 08 | BACKSPACE key
VK_TAB | 09 | TAB key
- | 0A-0B | Reserved
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
VK_KANA | 15 | Input Method Editor (IME) Kana mode
VK_HANGUEL | 15 | IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
VK_HANGUL | 15 | IME Hangul mode
- | 16 | Undefined
VK_JUNJA | 17 | IME Junja mode
VK_FINAL | 18 | IME final mode
VK_HANJA | 19 | IME Hanja mode
VK_KANJI | 19 | IME Kanji mode
- | 1A | Undefined
VK_ESCAPE | 1B | ESC key
VK_CONVERT | 1C | IME convert (Reserved for Kanji systems)
VK_NONCONVERT | 1D | IME nonconvert (Reserved for Kanji systems)
VK_ACCEPT | 1E | IME accept (Reserved for Kanji systems)
VK_MODECHANGE | 1F | IME mode change request (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
VK_PRINT | 2A | PRINT key
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
VK_LWIN | 5B | Left Windows key (Microsoft Natural Keyboard)
VK_RWIN | 5C | Right Windows key (Microsoft Natural Keyboard)
VK_APPS | 5D | Applications key (Microsoft Natural Keyboard)
- | 5E | Reserved
VK_SLEEP | 5F | Computer Sleep key
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
VK_OEM_NEC_EQUAL | 92 | NEC PC-9800 kbd definitions: '=' key on numpad
VK_OEM_FJ_JISHO | 92 | Fujitsu/OASYS kbd definitions: 'Dictionary' key
VK_OEM_FJ_MASSHOU | 93 | Fujitsu/OASYS kbd definitions: 'Unregister word' key
VK_OEM_FJ_TOUROKU | 94 | Fujitsu/OASYS kbd definitions: 'Register word' key
VK_OEM_FJ_LOYA | 95 | Fujitsu/OASYS kbd definitions: 'Left OYAYUBI' key
VK_OEM_FJ_ROYA | 96 | Fujitsu/OASYS kbd definitions: 'Right OYAYUBI' key
- | 97-9F | Unassigned
VK_LSHIFT | A0 | Left SHIFT key
VK_RSHIFT | A1 | Right SHIFT key
VK_LCONTROL | A2 | Left CONTROL key
VK_RCONTROL | A3 | Right CONTROL key
VK_LMENU | A4 | Left MENU key
VK_RMENU | A5 | Right MENU key
VK_BROWSER_BACK | A6 | Windows 2000/XP/2003/Vista/2008/7: Browser Back key
VK_BROWSER_FORWARD | A7 | Windows 2000/XP/2003/Vista/2008/7: Browser Forward key
VK_BROWSER_REFRESH | A8 | Windows 2000/XP/2003/Vista/2008/7: Browser Refresh key
VK_BROWSER_STOP | A9 | Windows 2000/XP/2003/Vista/2008/7: Browser Stop key
VK_BROWSER_SEARCH | AA | Windows 2000/XP/2003/Vista/2008/7: Browser Search key
VK_BROWSER_FAVORITES | AB | Windows 2000/XP/2003/Vista/2008/7: Browser Favorites key
VK_BROWSER_HOME | AC | Windows 2000/XP/2003/Vista/2008/7: Browser Start and Home key
VK_VOLUME_MUTE | AD | Windows 2000/XP/2003/Vista/2008/7: Volume Mute key
VK_VOLUME_DOWN | AE | Windows 2000/XP/2003/Vista/2008/7: Volume Down key
VK_VOLUME_UP | AF | Windows 2000/XP/2003/Vista/2008/7: Volume Up key
VK_MEDIA_NEXT_TRACK | B0 | Windows 2000/XP/2003/Vista/2008/7: Next Track key
VK_MEDIA_PREV_TRACK | B1 | Windows 2000/XP/2003/Vista/2008/7: Previous Track key
VK_MEDIA_STOP | B2 | Windows 2000/XP/2003/Vista/2008/7: Stop Media key
VK_MEDIA_PLAY_PAUSE | B3 | Windows 2000/XP/2003/Vista/2008/7: Play/Pause Media key
VK_LAUNCH_MAIL | B4 | Windows 2000/XP/2003/Vista/2008/7: Start Mail key
VK_LAUNCH_MEDIA_SELECT | B5 | Windows 2000/XP/2003/Vista/2008/7: Select Media key
VK_LAUNCH_APP1 | B6 | Windows 2000/XP/2003/Vista/2008/7: Start Application 1 key
VK_LAUNCH_APP2 | B7 | Windows 2000/XP/2003/Vista/2008/7: Start Application 2 key
- | B8-B9 | Reserved
VK_OEM_1 | BA | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the ';:' key
VK_OEM_PLUS | BB | Windows 2000/XP/2003/Vista/2008/7: For any country/region, the '+' key
VK_OEM_COMMA | BC | Windows 2000/XP/2003/Vista/2008/7: For any country/region, the ',' key
VK_OEM_MINUS | BD | Windows 2000/XP/2003/Vista/2008/7: For any country/region, the '-' key
VK_OEM_PERIOD | BE | Windows 2000/XP/2003/Vista/2008/7: For any country/region, the '.' key
VK_OEM_2 | BF | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the '/?' key
VK_OEM_3 | C0 | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the '`~' key
- | C1-D7 | Reserved
- | D8-DA | Unassigned
VK_OEM_4 | DB | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the '[{' key
VK_OEM_5 | DC | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the '\|' key
VK_OEM_6 | DD | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the ']}' key
VK_OEM_7 | DE | Windows 2000/XP/2003/Vista/2008/7: For the US standard keyboard, the 'single-quote/double-quote' key
VK_OEM_8 | DF | Used for miscellaneous characters; it can vary by keyboard.
- | E0 | Reserved
| E1 | OEM specific
VK_OEM_102 | E2 | Windows 2000/XP/2003/Vista/2008/7: Either the angle bracket key or the backslash key on the RT 102-key keyboard
- | E3-E4 | OEM specific
VK_PROCESSKEY | E5 | Windows 95/98/Me, Windows NT/2000/XP/2003/Vista/2008/7: IME PROCESS key
- | E6 | OEM specific
VK_PACKET | E7 | Windows 2000/XP/2003/Vista/2008/7: 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
- | E8 | Unassigned
VK_OEM_RESET | E9 | Only used by Nokia.
VK_OEM_JUMP | EA | Only used by Nokia.
VK_OEM_PA1 | EB | Only used by Nokia.
VK_OEM_PA2 | EC | Only used by Nokia.
VK_OEM_PA3 | ED | Only used by Nokia.
VK_OEM_WSCTRL | EE | Only used by Nokia.
VK_OEM_CUSEL | EF | Only used by Nokia.
VK_OEM_ATTN | F0 | Only used by Nokia.
VK_OEM_FINNISH | F1 | Only used by Nokia.
VK_OEM_COPY | F2 | Only used by Nokia.
VK_OEM_AUTO | F3 | Only used by Nokia.
VK_OEM_ENLW | F4 | Only used by Nokia.
VK_OEM_BACKTAB | F5 | Only used by Nokia.
VK_ATTN | F6 | Attn key
VK_CRSEL | F7 | CrSel key
VK_EXSEL | F8 | ExSel key
VK_EREOF | F9 | Erase EOF key
VK_PLAY | FA | Play key
VK_ZOOM | FB | Zoom key
VK_NONAME | FC | Reserved for future use.
VK_PA1 | FD | PA1 key
VK_OEM_CLEAR | FE | Clear key
| FF | Multimedia keys. See ScanCode keys.