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. - ________________________ 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.