Virtual-key codes

Constant name Value QM Key or mouse button
      
VK_LBUTTON 0x1   Left mouse button
VK_RBUTTON 0x2   Right mouse button
VK_CANCEL 0x3   Control-break (Ctrl+Pause)
VK_MBUTTON 0x4   Middle mouse button
VK_XBUTTON1 0x5   X1 mouse button
VK_XBUTTON2 0x6   X2 mouse button
- 0x7   Undefined
VK_BACK 0x8 B BACKSPACE key
VK_TAB 0x9 T TAB key
- 0xA-0xB   Reserved
VK_CLEAR 0xC   CLEAR key (Shift+Num5)
VK_RETURN 0xD Y ENTER key
- 0xE-0xF   Undefined
VK_SHIFT 0x10 S SHIFT key
VK_CONTROL 0x11 C CTRL key
VK_MENU 0x12 A ALT key
VK_PAUSE 0x13 G PAUSE key
VK_CAPITAL 0x14 K CAPS LOCK key
VK_KANA 0x15   IME Kana mode
VK_HANGUEL 0x15   IME Hanguel mode
VK_HANGUL 0x15   IME Hangul mode
- 0x16   Undefined
VK_JUNJA 0x17   IME Junja mode
VK_FINAL 0x18   IME final mode
VK_HANJA 0x19   IME Hanja mode
VK_KANJI 0x19   IME Kanji mode
- 0x1A   Undefined
VK_ESCAPE 0x1B Z ESC key
VK_CONVERT 0x1C   IME convert
VK_NONCONVERT 0x1D   IME nonconvert
VK_ACCEPT 0x1E   IME accept
VK_MODECHANGE 0x1F   IME mode change request
VK_SPACE 0x20 V SPACEBAR
VK_PRIOR 0x21 P PAGE UP key
VK_NEXT 0x22 Q PAGE DOWN key
VK_END 0x23 E END key
VK_HOME 0x24 H HOME key
VK_LEFT 0x25 L LEFT ARROW key
VK_UP 0x26 U UP ARROW key
VK_RIGHT 0x27 R RIGHT ARROW key
VK_DOWN 0x28 D DOWN ARROW key
VK_SELECT 0x29   SELECT key
VK_PRINT 0x2A   PRINT key
VK_EXECUTE 0x2B   EXECUTE key
VK_SNAPSHOT 0x2C   PRINT SCREEN key
VK_INSERT 0x2D I INS key
VK_DELETE 0x2E X DEL key
VK_HELP 0x2F   HELP key
  0x30 0 0 key
  0x31 1 1 key
  0x32 2 2 key
  0x33 3 3 key
  0x34 4 4 key
  0x35 5 5 key
  0x36 6 6 key
  0x37 7 7 key
  0x38 8 8 key
  0x39 9 9 key
- 0x3A-0x40   Undefined
  0x41 a A key
  0x42 b B key
  0x43 c C key
  0x44 d D key
  0x45 e E key
  0x46 f F key
  0x47 g G key
  0x48 h H key
  0x49 i I key
  0x4A j J key
  0x4B k K key
  0x4C l L key
  0x4D m M key
  0x4E n N key
  0x4F o O key
  0x50 p P key
  0x51 q Q key
  0x52 r R key
  0x53 s S key
  0x54 t T key
  0x55 u U key
  0x56 v V key
  0x57 w W key
  0x58 x X key
  0x59 y Y key
  0x5A z Z key
VK_LWIN 0x5B W Left Windows key
VK_RWIN 0x5C   Right Windows key
VK_APPS 0x5D M Applications key
- 0x5E   Reserved
VK_SLEEP 0x5F   Computer Sleep key
VK_NUMPAD0 0x60 N0 Numeric keypad 0 key
VK_NUMPAD1 0x61 N1 Numeric keypad 1 key
VK_NUMPAD2 0x62 N2 Numeric keypad 2 key
VK_NUMPAD3 0x63 N3 Numeric keypad 3 key
VK_NUMPAD4 0x64 N4 Numeric keypad 4 key
VK_NUMPAD5 0x65 N5 Numeric keypad 5 key
VK_NUMPAD6 0x66 N6 Numeric keypad 6 key
VK_NUMPAD7 0x67 N7 Numeric keypad 7 key
VK_NUMPAD8 0x68 N8 Numeric keypad 8 key
VK_NUMPAD9 0x69 N9 Numeric keypad 9 key
VK_MULTIPLY 0x6A N* Multiply key
VK_ADD 0x6B N+ Add key
VK_SEPARATOR 0x6C   Separator key
VK_SUBTRACT 0x6D N- Subtract key
VK_DECIMAL 0x6E N. Decimal key
VK_DIVIDE 0x6F N/ Divide key
VK_F1 0x70 F1 F1 key
VK_F2 0x71 F2 F2 key
VK_F3 0x72 F3 F3 key
VK_F4 0x73 F4 F4 key
VK_F5 0x74 F5 F5 key
VK_F6 0x75 F6 F6 key
VK_F7 0x76 F7 F7 key
VK_F8 0x77 F8 F8 key
VK_F9 0x78 F9 F9 key
VK_F10 0x79 F10 F10 key
VK_F11 0x7A F11 F11 key
VK_F12 0x7B F12 F12 key
VK_F13 0x7C F13 F13 key
VK_F14 0x7D F14 F14 key
VK_F15 0x7E F15 F15 key
VK_F16 0x7F F16 F16 key
VK_F17 0x80 F17 F17 key
VK_F18 0x81 F18 F18 key
VK_F19 0x82 F19 F19 key
VK_F20 0x83 F20 F20 key
VK_F21 0x84 F21 F21 key
VK_F22 0x85 F22 F22 key
VK_F23 0x86 F23 F23 key
VK_F24 0x87 F24 F24 key
- 0x88-0x8F   Unassigned
VK_NUMLOCK 0x90 O NUM LOCK key
VK_SCROLL 0x91 J SCROLL LOCK key
  0x92-0x96   OEM specific
- 0x97-0x9F   Unassigned
VK_LSHIFT 0xA0   Left SHIFT key
VK_RSHIFT 0xA1   Right SHIFT key
VK_LCONTROL 0xA2   Left CONTROL key
VK_RCONTROL 0xA3   Right CONTROL key
VK_LMENU 0xA4   Left MENU key
VK_RMENU 0xA5   Right MENU key
VK_BROWSER_BACK 0xA6   Browser Back key
VK_BROWSER_FORWARD 0xA7   Browser Forward key
VK_BROWSER_REFRESH 0xA8   Browser Refresh key
VK_BROWSER_STOP 0xA9   Browser Stop key
VK_BROWSER_SEARCH 0xAA   Browser Search key
VK_BROWSER_FAVORITES 0xAB   Browser Favorites key
VK_BROWSER_HOME 0xAC   Browser Start and Home key
VK_VOLUME_MUTE 0xAD   Volume Mute key
VK_VOLUME_DOWN 0xAE   Volume Down key
VK_VOLUME_UP 0xAF   Volume Up key
VK_MEDIA_NEXT_TRACK 0xB0   Next Track key
VK_MEDIA_PREV_TRACK 0xB1   Previous Track key
VK_MEDIA_STOP 0xB2   Stop Media key
VK_MEDIA_PLAY_PAUSE 0xB3   Play/Pause Media key
VK_LAUNCH_MAIL 0xB4   Start Mail key
VK_LAUNCH_MEDIA_SELECT 0xB5   Select Media key
VK_LAUNCH_APP1 0xB6   Start Application 1 key
VK_LAUNCH_APP2 0xB7   Start Application 2 key
- 0xB8-0xB9   Reserved
VK_OEM_1 0xBA : Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the ';:' key
VK_OEM_PLUS 0xBB + or = For any country/region, the '+' key
VK_OEM_COMMA 0xBC , or < For any country/region, the ',' key
VK_OEM_MINUS 0xBD - or _ For any country/region, the '-' key
VK_OEM_PERIOD 0xBE . or > For any country/region, the '.' key
VK_OEM_2 0xBF / or ? Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '/?' key
VK_OEM_3 0xC0 ` or ~ Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '`~' key
- 0xC1-0xD7   Reserved
- 0xD8-0xDA   Unassigned
VK_OEM_4 0xDB [ Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '[{' key
VK_OEM_5 0xDC \ or | Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '\|' key
VK_OEM_6 0xDD ] Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the ']}' key
VK_OEM_7 0xDE ' Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the 'single-quote/double-quote' key
VK_OEM_8 0xDF   Used for miscellaneous characters; it can vary by keyboard.
- 0xE0   Reserved
  0xE1   OEM specific
VK_OEM_102 0xE2   Either the angle bracket key or the backslash key on the RT 102-key keyboard
  0xE3-0xE4   OEM specific
VK_PROCESSKEY 0xE5   IME PROCESS key
  0xE6   OEM specific
VK_PACKET 0xE7   Used to pass Unicode characters as if they were keystrokes.
- 0xE8   Unassigned
  0xE9-0xF5   OEM specific
VK_ATTN 0xF6   Attn key
VK_CRSEL 0xF7   CrSel key
VK_EXSEL 0xF8   ExSel key
VK_EREOF 0xF9   Erase EOF key
VK_PLAY 0xFA   Play key
VK_ZOOM 0xFB   Zoom key
VK_NONAME 0xFC   Reserved for future use
VK_PA1 0xFD   PA1 key
VK_OEM_CLEAR 0xFE   Clear key

 

Columns:

  1. Constant name. Can be used with key, like key (VK_TAB).
  2. Value, in hexadecimal format. Can be used with key, like key (0x9).
  3. QM key code. Can be used with key, like key T.

The constants and values also can be used with Windows API functions.

 

Virtual-key codes of alphanumeric keys match character codes of corresponding uppercase characters. For example, 'A' is virtual-key code of key A.

 

See also: key, QmKeyCodeFromVK, QmKeyCodeToVK