//z 2014-09-07 17:21:11 L.115'23929 BG57IV3@XCL T2556027922.K.F3248207396[T514,L51221,R355,V8940]
List of Virtual Key Codes
Following is a full list of VK codes that can be assigned to physical keys ("scan codes") in the Low-level editor.
The list is divided in two categories:
1. "Mappable" codes, to which Unicode characters can be assigned in the High-level editor
2. "Non-mappable" codes (modifiers, special keys)
"Mappable" codes | "Non-mappable" codes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
*) VK_ICO_00 virtual code produces '00' (two zeros) when pressed. Windows does not allow mapping of arbitrary Unicode codepoints to this VK code.
**) "mouse button" quasi VK codes are generated by Windows when user clicks left/middle/right/X1/X2 mouse buttons. KbdEdit allows these codes to be assigned to physical keys, but such mappings make no sense: pressing a key with VK_LBUTTON assigned to it will NOT make Windows act as if physical mouse button was pressed.
//z 2014-09-07 17:21:11 L.115'23929 BG57IV3@XCL T2556027922.K.F3248207396[T514,L51221,R355,V8940]
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.
Constant/value
Description
- VK_LBUTTON
- 0x01
Left mouse button
- VK_RBUTTON
- 0x02
Right mouse button
- VK_CANCEL
- 0x03
Control-break processing
- VK_MBUTTON
- 0x04
Middle mouse button (three-button mouse)
- VK_XBUTTON1
- 0x05
X1 mouse button
- VK_XBUTTON2
- 0x06
X2 mouse button
- -
- 0x07
Undefined
- VK_BACK
- 0x08
BACKSPACE key
- VK_TAB
- 0x09
TAB key
- -
- 0x0A-0B
Reserved
- VK_CLEAR
- 0x0C
CLEAR key
- VK_RETURN
- 0x0D
ENTER key
- -
- 0x0E-0F
Undefined
- VK_SHIFT
- 0x10
SHIFT key
- VK_CONTROL
- 0x11
CTRL key
- VK_MENU
- 0x12
ALT key
- VK_PAUSE
- 0x13
PAUSE key
- VK_CAPITAL
- 0x14
CAPS LOCK key
- VK_KANA
- 0x15
IME Kana mode
- VK_HANGUEL
- 0x15
IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
- 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
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
SPACEBAR
- VK_PRIOR
- 0x21
PAGE UP key
- VK_NEXT
- 0x22
PAGE DOWN key
- VK_END
- 0x23
END key
- VK_HOME
- 0x24
HOME key
- VK_LEFT
- 0x25
LEFT ARROW key
- VK_UP
- 0x26
UP ARROW key
- VK_RIGHT
- 0x27
RIGHT ARROW key
- VK_DOWN
- 0x28
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
INS key
- VK_DELETE
- 0x2E
DEL key
- VK_HELP
- 0x2F
HELP key
- 0x30
0 key
- 0x31
1 key
- 0x32
2 key
- 0x33
3 key
- 0x34
4 key
- 0x35
5 key
- 0x36
6 key
- 0x37
7 key
- 0x38
8 key
- 0x39
9 key
- -
- 0x3A-40
Undefined
- 0x41
A key
- 0x42
B key
- 0x43
C key
- 0x44
D key
- 0x45
E key
- 0x46
F key
- 0x47
G key
- 0x48
H key
- 0x49
I key
- 0x4A
J key
- 0x4B
K key
- 0x4C
L key
- 0x4D
M key
- 0x4E
N key
- 0x4F
O key
- 0x50
P key
- 0x51
Q key
- 0x52
R key
- 0x53
S key
- 0x54
T key
- 0x55
U key
- 0x56
V key
- 0x57
W key
- 0x58
X key
- 0x59
Y key
- 0x5A
Z key
- VK_LWIN
- 0x5B
Left Windows key (Natural keyboard)
- VK_RWIN
- 0x5C
Right Windows key (Natural keyboard)
- VK_APPS
- 0x5D
Applications key (Natural keyboard)
- -
- 0x5E
Reserved
- VK_SLEEP
- 0x5F
Computer Sleep key
- VK_NUMPAD0
- 0x60
Numeric keypad 0 key
- VK_NUMPAD1
- 0x61
Numeric keypad 1 key
- VK_NUMPAD2
- 0x62
Numeric keypad 2 key
- VK_NUMPAD3
- 0x63
Numeric keypad 3 key
- VK_NUMPAD4
- 0x64
Numeric keypad 4 key
- VK_NUMPAD5
- 0x65
Numeric keypad 5 key
- VK_NUMPAD6
- 0x66
Numeric keypad 6 key
- VK_NUMPAD7
- 0x67
Numeric keypad 7 key
- VK_NUMPAD8
- 0x68
Numeric keypad 8 key
- VK_NUMPAD9
- 0x69
Numeric keypad 9 key
- VK_MULTIPLY
- 0x6A
Multiply key
- VK_ADD
- 0x6B
Add key
- VK_SEPARATOR
- 0x6C
Separator key
- VK_SUBTRACT
- 0x6D
Subtract key
- VK_DECIMAL
- 0x6E
Decimal key
- VK_DIVIDE
- 0x6F
Divide key
- VK_F1
- 0x70
F1 key
- VK_F2
- 0x71
F2 key
- VK_F3
- 0x72
F3 key
- VK_F4
- 0x73
F4 key
- VK_F5
- 0x74
F5 key
- VK_F6
- 0x75
F6 key
- VK_F7
- 0x76
F7 key
- VK_F8
- 0x77
F8 key
- VK_F9
- 0x78
F9 key
- VK_F10
- 0x79
F10 key
- VK_F11
- 0x7A
F11 key
- VK_F12
- 0x7B
F12 key
- VK_F13
- 0x7C
F13 key
- VK_F14
- 0x7D
F14 key
- VK_F15
- 0x7E
F15 key
- VK_F16
- 0x7F
F16 key
- VK_F17
- 0x80
F17 key
- VK_F18
- 0x81
F18 key
- VK_F19
- 0x82
F19 key
- VK_F20
- 0x83
F20 key
- VK_F21
- 0x84
F21 key
- VK_F22
- 0x85
F22 key
- VK_F23
- 0x86
F23 key
- VK_F24
- 0x87
F24 key
- -
- 0x88-8F
Unassigned
- VK_NUMLOCK
- 0x90
NUM LOCK key
- VK_SCROLL
- 0x91
SCROLL LOCK key
- 0x92-96
OEM specific
- -
- 0x97-9F
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-B9
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
For any country/region, the '+' key
- VK_OEM_COMMA
- 0xBC
For any country/region, the ',' key
- VK_OEM_MINUS
- 0xBD
For any country/region, the '-' key
- VK_OEM_PERIOD
- 0xBE
For any country/region, the '.' key
- VK_OEM_2
- 0xBF
Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '/?' key
- VK_OEM_3
- 0xC0
Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the '`~' key
- -
- 0xC1-D7
Reserved
- -
- 0xD8-DA
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
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-E4
OEM specific
- VK_PROCESSKEY
- 0xE5
IME PROCESS key
- 0xE6
OEM specific
- VK_PACKET
- 0xE7
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
- -
- 0xE8
Unassigned
- 0xE9-F5
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
- VK_PA1
- 0xFD
PA1 key
- VK_OEM_CLEAR
- 0xFE
Clear key
Requirements
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
- Winuser.h