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.
Constants
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: X1 mouse button
VK_XBUTTON2(06)- Windows 2000/XP: 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
VK_NONCONVERT(1D)- IME nonconvert
VK_ACCEPT(1E)- IME accept
VK_MODECHANGE(1F)- IME mode change request
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
VK_INSERT(2D)- INS key
VK_DELETE(2E)- DEL key
VK_HELP(2F)- HELP key
(30)- 0 key
(31)- 1 key
(32)- 2 key
(33)- 3 key
(34)- 4 key
(35)- 5 key
(36)- 6 key
(37)- 7 key
(38)- 8 key
(39)- 9 key
-(3A-40)- Undefined
(41)- A key
(42)- B key
(43)- C key
(44)- D key
(45)- E key
(46)- F key
(47)- G key
(48)- H key
(49)- I key
(4A)- J key
(4B)- K key
(4C)- L key
(4D)- M key
(4E)- N key
(4F)- O key
(50)- P key
(51)- Q key
(52)- R key
(53)- S key
(54)- T key
(55)- U key
(56)- V key
(57)- W key
(58)- X key
(59)- Y key
(5A)- Z key
VK_LWIN(5B)- Left Windows key (Microsoft Natural keyboard)
VK_RWIN(5C)- Right Windows key (Natural keyboard)
VK_APPS(5D)- Applications key (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
(92-96)- OEM specific
-(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: Browser Back key
VK_BROWSER_FORWARD(A7)- Windows 2000/XP: Browser Forward key
VK_BROWSER_REFRESH(A8)- Windows 2000/XP: Browser Refresh key
VK_BROWSER_STOP(A9)- Windows 2000/XP: Browser Stop key
VK_BROWSER_SEARCH(AA)- Windows 2000/XP: Browser Search key
VK_BROWSER_FAVORITES(AB)- Windows 2000/XP: Browser Favorites key
VK_BROWSER_HOME(AC)- Windows 2000/XP: Browser Start and Home key
VK_VOLUME_MUTE(AD)- Windows 2000/XP: Volume Mute key
VK_VOLUME_DOWN(AE)- Windows 2000/XP: Volume Down key
VK_VOLUME_UP(AF)- Windows 2000/XP: Volume Up key
VK_MEDIA_NEXT_TRACK(B0)- Windows 2000/XP: Next Track key
VK_MEDIA_PREV_TRACK(B1)- Windows 2000/XP: Previous Track key
VK_MEDIA_STOP(B2)- Windows 2000/XP: Stop Media key
VK_MEDIA_PLAY_PAUSE(B3)- Windows 2000/XP: Play/Pause Media key
VK_LAUNCH_MAIL(B4)- Windows 2000/XP: Start Mail key
VK_LAUNCH_MEDIA_SELECT(B5)- Windows 2000/XP: Select Media key
VK_LAUNCH_APP1(B6)- Windows 2000/XP: Start Application 1 key
VK_LAUNCH_APP2(B7)- Windows 2000/XP: Start Application 2 key
-(B8-B9)- Reserved
VK_OEM_1(BA)- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_PLUS(BB)Windows 2000/XP: For the US standard keyboard, the ';:' key
- Windows 2000/XP: For any country/region, the '+' key
VK_OEM_COMMA(BC)- Windows 2000/XP: For any country/region, the ',' key
VK_OEM_MINUS(BD)- Windows 2000/XP: For any country/region, the '-' key
VK_OEM_PERIOD(BE)- Windows 2000/XP: For any country/region, the '.' key
VK_OEM_2(BF)- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_3(C0)Windows 2000/XP: For the US standard keyboard, the '/?' key
- Used for miscellaneous characters; it can vary by keyboard.
-(C1-D7)Windows 2000/XP: For the US standard keyboard, the '`~' key
- Reserved
-(D8-DA)- Unassigned
VK_OEM_4(DB)- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_5(DC)Windows 2000/XP: For the US standard keyboard, the '[{' key
- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_6(DD)Windows 2000/XP: For the US standard keyboard, the '/|' key
- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_7(DE)Windows 2000/XP: For the US standard keyboard, the ']}' key
- Used for miscellaneous characters; it can vary by keyboard.
VK_OEM_8(DF)Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
- Used for miscellaneous characters; it can vary by keyboard.
-(E0)- Reserved
(E1)- OEM specific
VK_OEM_102(E2)- Windows 2000/XP: 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 4.0, Windows 2000/XP: IME PROCESS key
(E6)- OEM specific
VK_PACKET(E7)- Windows 2000/XP: 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
(E9-F5)- OEM specific
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
VK_PA1(FD)- PA1 key
VK_OEM_CLEAR(FE)- Clear key