Virtual Key Codes
The following table shows the symbolic constant names, decimal values (in brackets), and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order.
VK_LBUTTON (1): Left mouse button
VK_RBUTTON (2): Right mouse button
VK_CANCEL (3): Control-break processing
VK_MBUTTON (4): Middle mouse button (three-button mouse)
VK_XBUTTON1 (5): Windows 2000/XP: X1 mouse button
VK_XBUTTON2 (6): Windows 2000/XP: X2 mouse button
- (7): Undefined
VK_BACK (8): BACKSPACE key
VK_TAB (9): TAB key
- (10-11): Reserved
VK_CLEAR (12): CLEAR key
VK_RETURN (13): ENTER key
- (14-15): Undefined
VK_SHIFT (16): SHIFT key
VK_CONTROL (17): CTRL key
VK_MENU (18): ALT key
VK_PAUSE (19): PAUSE key
VK_CAPITAL (20): CAPS LOCK key
VK_KANA (21): Input Method Editor (IME) Kana mode
VK_HANGUEL (21): IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
VK_HANGUL (21): IME Hangul mode
- (22): Undefined
VK_JUNJA (23): IME Junja mode
VK_FINAL (24): IME final mode
VK_HANJA (25): IME Hanja mode
VK_KANJI (25): IME Kanji mode
- (26): Undefined
VK_ESCAPE (27): ESC key
VK_CONVERT (28): IME convert
VK_NONCONVERT (29): IME nonconvert
VK_ACCEPT (30): IME accept
VK_MODECHANGE (31): IME mode change request
VK_SPACE (32): SPACEBAR
VK_PRIOR (33): PAGE UP key
VK_NEXT (34): PAGE DOWN key
VK_END (35): END key
VK_HOME (36): HOME key
VK_LEFT (37): LEFT ARROW key
VK_UP (38): UP ARROW key
VK_RIGHT (39): RIGHT ARROW key
VK_DOWN (40): DOWN ARROW key
VK_SELECT (41): SELECT key
VK_PRINT (42): PRINT key
VK_EXECUTE (43): EXECUTE key
VK_SNAPSHOT (44): PRINT SCREEN key
VK_INSERT (45): INS key
VK_DELETE (46): DEL key
VK_HELP (47): HELP key
(48): 0 key
(49): 1 key
(50): 2 key
(51): 3 key
(52): 4 key
(53): 5 key
(54): 6 key
(55): 7 key
(56): 8 key
(57): 9 key
- (58-64): Undefined
(65): A key
(66): B key
(67): C key
(68): D key
(69): E key
(70): F key
(71): G key
(72): H key
(73): I key
(74): J key
(75): K key
(76): L key
(77): M key
(78): N key
(79): O key
(80): P key
(81): Q key
(82): R key
(83): S key
(84): T key
(85): U key
(86): V key
(87): W key
(88): X key
(89): Y key
(90): Z key
VK_LWIN (91): Left Windows key (Microsoft� Natural� keyboard)
VK_RWIN (92): Right Windows key (Natural keyboard)
VK_APPS (93): Applications key (Natural keyboard)
- (94): Reserved
VK_SLEEP (95): Computer Sleep key
VK_NUMPAD0 (96): Numeric keypad 0 key
VK_NUMPAD1 (97): Numeric keypad 1 key
VK_NUMPAD2 (98): Numeric keypad 2 key
VK_NUMPAD3 (99): Numeric keypad 3 key
VK_NUMPAD4 (100): Numeric keypad 4 key
VK_NUMPAD5 (101): Numeric keypad 5 key
VK_NUMPAD6 (102): Numeric keypad 6 key
VK_NUMPAD7 (103): Numeric keypad 7 key
VK_NUMPAD8 (104): Numeric keypad 8 key
VK_NUMPAD9 (105): Numeric keypad 9 key
VK_MULTIPLY (106): Multiply key
VK_ADD (107): Add key
VK_SEPARATOR (108): Separator key
VK_SUBTRACT (109): Subtract key
VK_DECIMAL (110): Decimal key
VK_DIVIDE (111): Divide key
VK_F1 (112): F1 key
VK_F2 (113): F2 key
VK_F3 (114): F3 key
VK_F4 (115): F4 key
VK_F5 (116): F5 key
VK_F6 (117): F6 key
VK_F7 (118): F7 key
VK_F8 (119): F8 key
VK_F9 (120): F9 key
VK_F10 (121): F10 key
VK_F11 (122): F11 key
VK_F12 (123): F12 key
VK_F13 (124): F13 key
VK_F14 (125): F14 key
VK_F15 (126): F15 key
VK_F16 (127): F16 key
VK_F17 (128): F17 key
VK_F18 (129): F18 key
VK_F19 (130): F19 key
VK_F20 (131): F20 key
VK_F21 (132): F21 key
VK_F22 (133): F22 key
VK_F23 (134): F23 key
VK_F24 (135): F24 key
- (136-143): Unassigned
VK_NUMLOCK (144): NUM LOCK key
VK_SCROLL (145): SCROLL LOCK key
(146-150): OEM specific
- (151-159): Unassigned
VK_LSHIFT (160): Left SHIFT key
VK_RSHIFT (161): Right SHIFT key
VK_LCONTROL (162): Left CONTROL key
VK_RCONTROL (163): Right CONTROL key
VK_LMENU (164): Left MENU key
VK_RMENU (165): Right MENU key
VK_BROWSER_BACK (166): Windows 2000/XP: Browser Back key
VK_BROWSER_FORWARD (167): Windows 2000/XP: Browser Forward key
VK_BROWSER_REFRESH (168): Windows 2000/XP: Browser Refresh key
VK_BROWSER_STOP (169): Windows 2000/XP: Browser Stop key
VK_BROWSER_SEARCH (170): Windows 2000/XP: Browser Search key
VK_BROWSER_FAVORITES (171): Windows 2000/XP: Browser Favorites key
VK_BROWSER_HOME (172): Windows 2000/XP: Browser Start and Home key
VK_VOLUME_MUTE (173): Windows 2000/XP: Volume Mute key
VK_VOLUME_DOWN (174): Windows 2000/XP: Volume Down key
VK_VOLUME_UP (175): Windows 2000/XP: Volume Up key
VK_MEDIA_NEXT_TRACK (176): Windows 2000/XP: Next Track key
VK_MEDIA_PREV_TRACK (177): Windows 2000/XP: Previous Track key
VK_MEDIA_STOP (178): Windows 2000/XP: Stop Media key
VK_MEDIA_PLAY_PAUSE (179): Windows 2000/XP: Play/Pause Media key
VK_LAUNCH_MAIL (180): Windows 2000/XP: Start Mail key
VK_LAUNCH_MEDIA_SELECT (181): Windows 2000/XP: Select Media key
VK_LAUNCH_APP1 (182): Windows 2000/XP: Start Application 1 key
VK_LAUNCH_APP2 (183): Windows 2000/XP: Start Application 2 key
- (184-185): Reserved
VK_OEM_1 (186): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the ';:' key
VK_OEM_PLUS (187): Windows 2000/XP: For any country/region, the '+' key
VK_OEM_COMMA (188): Windows 2000/XP: For any country/region, the ',' key
VK_OEM_MINUS (189): Windows 2000/XP: For any country/region, the '-' key
VK_OEM_PERIOD (190): Windows 2000/XP: For any country/region, the '.' key
VK_OEM_2 (191): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the '/?' key
VK_OEM_3 (192): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the '`~' key
- (193-215): Reserved
- (216-218): Unassigned
VK_OEM_4 (219): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the '[{' key
VK_OEM_5 (220): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the '\|' key
VK_OEM_6 (221): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the ']}' key
VK_OEM_7 (222): Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
VK_OEM_8 (223): Used for miscellaneous characters; it can vary by keyboard.
- (224): Reserved
(225): OEM specific
VK_OEM_102 (226): Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
(227-228): OEM specific
VK_PROCESSKEY (229): Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
(230): OEM specific
VK_PACKET (231): 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.
- (232): Unassigned
(233-245): OEM specific
VK_ATTN (246): Attn key
VK_CRSEL (247): CrSel key
VK_EXSEL (248): ExSel key
VK_EREOF (249): Erase EOF key
VK_PLAY (250): Play key
VK_ZOOM (251): Zoom key
VK_NONAME (252): Reserved for future use
VK_PA1 (253): PA1 key
VK_OEM_CLEAR (254): Clear key