List of Virtual Key Codes

 

//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

Name

Numeric value

Description

VK_ABNT_C1

0xC1

Abnt C1

VK_ABNT_C2

0xC2

Abnt C2

VK_ADD

0x6B

Numpad +

VK_ATTN

0xF6

Attn

VK_BACK

0x08

Backspace

VK_CANCEL

0x03

Break

VK_CLEAR

0x0C

Clear

VK_CRSEL

0xF7

Cr Sel

VK_DECIMAL

0x6E

Numpad .

VK_DIVIDE

0x6F

Numpad /

VK_EREOF

0xF9

Er Eof

VK_ESCAPE

0x1B

Esc

VK_EXECUTE

0x2B

Execute

VK_EXSEL

0xF8

Ex Sel

VK_ICO_CLEAR

0xE6

IcoClr

VK_ICO_HELP

0xE3

IcoHlp

VK_KEY_0

0x30 ('0')

0

VK_KEY_1

0x31 ('1')

1

VK_KEY_2

0x32 ('2')

2

VK_KEY_3

0x33 ('3')

3

VK_KEY_4

0x34 ('4')

4

VK_KEY_5

0x35 ('5')

5

VK_KEY_6

0x36 ('6')

6

VK_KEY_7

0x37 ('7')

7

VK_KEY_8

0x38 ('8')

8

VK_KEY_9

0x39 ('9')

9

VK_KEY_A

0x41 ('A')

A

VK_KEY_B

0x42 ('B')

B

VK_KEY_C

0x43 ('C')

C

VK_KEY_D

0x44 ('D')

D

VK_KEY_E

0x45 ('E')

E

VK_KEY_F

0x46 ('F')

F

VK_KEY_G

0x47 ('G')

G

VK_KEY_H

0x48 ('H')

H

VK_KEY_I

0x49 ('I')

I

VK_KEY_J

0x4A ('J')

J

VK_KEY_K

0x4B ('K')

K

VK_KEY_L

0x4C ('L')

L

VK_KEY_M

0x4D ('M')

M

VK_KEY_N

0x4E ('N')

N

VK_KEY_O

0x4F ('O')

O

VK_KEY_P

0x50 ('P')

P

VK_KEY_Q

0x51 ('Q')

Q

VK_KEY_R

0x52 ('R')

R

VK_KEY_S

0x53 ('S')

S

VK_KEY_T

0x54 ('T')

T

VK_KEY_U

0x55 ('U')

U

VK_KEY_V

0x56 ('V')

V

VK_KEY_W

0x57 ('W')

W

VK_KEY_X

0x58 ('X')

X

VK_KEY_Y

0x59 ('Y')

Y

VK_KEY_Z

0x5A ('Z')

Z

VK_MULTIPLY

0x6A

Numpad *

VK_NONAME

0xFC

NoName

VK_NUMPAD0

0x60

Numpad 0

VK_NUMPAD1

0x61

Numpad 1

VK_NUMPAD2

0x62

Numpad 2

VK_NUMPAD3

0x63

Numpad 3

VK_NUMPAD4

0x64

Numpad 4

VK_NUMPAD5

0x65

Numpad 5

VK_NUMPAD6

0x66

Numpad 6

VK_NUMPAD7

0x67

Numpad 7

VK_NUMPAD8

0x68

Numpad 8

VK_NUMPAD9

0x69

Numpad 9

VK_OEM_1

0xBA

OEM_1 (: ;)

VK_OEM_102

0xE2

OEM_102 (> <)

VK_OEM_2

0xBF

OEM_2 (? /)

VK_OEM_3

0xC0

OEM_3 (~ `)

VK_OEM_4

0xDB

OEM_4 ({ [)

VK_OEM_5

0xDC

OEM_5 (| \)

VK_OEM_6

0xDD

OEM_6 (} ])

VK_OEM_7

0xDE

OEM_7 (" ')

VK_OEM_8

0xDF

OEM_8 (§ !)

VK_OEM_ATTN

0xF0

Oem Attn

VK_OEM_AUTO

0xF3

Auto

VK_OEM_AX

0xE1

Ax

VK_OEM_BACKTAB

0xF5

Back Tab

VK_OEM_CLEAR

0xFE

OemClr

VK_OEM_COMMA

0xBC

OEM_COMMA (< ,)

VK_OEM_COPY

0xF2

Copy

VK_OEM_CUSEL

0xEF

Cu Sel

VK_OEM_ENLW

0xF4

Enlw

VK_OEM_FINISH

0xF1

Finish

VK_OEM_FJ_LOYA

0x95

Loya

VK_OEM_FJ_MASSHOU

0x93

Mashu

VK_OEM_FJ_ROYA

0x96

Roya

VK_OEM_FJ_TOUROKU

0x94

Touroku

VK_OEM_JUMP

0xEA

Jump

VK_OEM_MINUS

0xBD

OEM_MINUS (_ -)

VK_OEM_PA1

0xEB

OemPa1

VK_OEM_PA2

0xEC

OemPa2

VK_OEM_PA3

0xED

OemPa3

VK_OEM_PERIOD

0xBE

OEM_PERIOD (> .)

VK_OEM_PLUS

0xBB

OEM_PLUS (+ =)

VK_OEM_RESET

0xE9

Reset

VK_OEM_WSCTRL

0xEE

WsCtrl

VK_PA1

0xFD

Pa1

VK_PACKET

0xE7

Packet

VK_PLAY

0xFA

Play

VK_PROCESSKEY

0xE5

Process

VK_RETURN

0x0D

Enter

VK_SELECT

0x29

Select

VK_SEPARATOR

0x6C

Separator

VK_SPACE

0x20

Space

VK_SUBTRACT

0x6D

Num -

VK_TAB

0x09

Tab

VK_ZOOM

0xFB

Zoom

Name

Numeric value

Description

VK__none_

0xFF

no VK mapping

VK_ACCEPT

0x1E

Accept

VK_APPS

0x5D

Context Menu

VK_BROWSER_BACK

0xA6

Browser Back

VK_BROWSER_FAVORITES

0xAB

Browser Favorites

VK_BROWSER_FORWARD

0xA7

Browser Forward

VK_BROWSER_HOME

0xAC

Browser Home

VK_BROWSER_REFRESH

0xA8

Browser Refresh

VK_BROWSER_SEARCH

0xAA

Browser Search

VK_BROWSER_STOP

0xA9

Browser Stop

VK_CAPITAL

0x14

Caps Lock

VK_CONVERT

0x1C

Convert

VK_DELETE

0x2E

Delete

VK_DOWN

0x28

Arrow Down

VK_END

0x23

End

VK_F1

0x70

F1

VK_F10

0x79

F10

VK_F11

0x7A

F11

VK_F12

0x7B

F12

VK_F13

0x7C

F13

VK_F14

0x7D

F14

VK_F15

0x7E

F15

VK_F16

0x7F

F16

VK_F17

0x80

F17

VK_F18

0x81

F18

VK_F19

0x82

F19

VK_F2

0x71

F2

VK_F20

0x83

F20

VK_F21

0x84

F21

VK_F22

0x85

F22

VK_F23

0x86

F23

VK_F24

0x87

F24

VK_F3

0x72

F3

VK_F4

0x73

F4

VK_F5

0x74

F5

VK_F6

0x75

F6

VK_F7

0x76

F7

VK_F8

0x77

F8

VK_F9

0x78

F9

VK_FINAL

0x18

Final

VK_HELP

0x2F

Help

VK_HOME

0x24

Home

VK_ICO_00

0xE4

Ico00 *

VK_INSERT

0x2D

Insert

VK_JUNJA

0x17

Junja

VK_KANA

0x15

Kana

VK_KANJI

0x19

Kanji

VK_LAUNCH_APP1

0xB6

App1

VK_LAUNCH_APP2

0xB7

App2

VK_LAUNCH_MAIL

0xB4

Mail

VK_LAUNCH_MEDIA_SELECT

0xB5

Media

VK_LBUTTON

0x01

Left Button **

VK_LCONTROL

0xA2

Left Ctrl

VK_LEFT

0x25

Arrow Left

VK_LMENU

0xA4

Left Alt

VK_LSHIFT

0xA0

Left Shift

VK_LWIN

0x5B

Left Win

VK_MBUTTON

0x04

Middle Button **

VK_MEDIA_NEXT_TRACK

0xB0

Next Track

VK_MEDIA_PLAY_PAUSE

0xB3

Play / Pause

VK_MEDIA_PREV_TRACK

0xB1

Previous Track

VK_MEDIA_STOP

0xB2

Stop

VK_MODECHANGE

0x1F

Mode Change

VK_NEXT

0x22

Page Down

VK_NONCONVERT

0x1D

Non Convert

VK_NUMLOCK

0x90

Num Lock

VK_OEM_FJ_JISHO

0x92

Jisho

VK_PAUSE

0x13

Pause

VK_PRINT

0x2A

Print

VK_PRIOR

0x21

Page Up

VK_RBUTTON

0x02

Right Button **

VK_RCONTROL

0xA3

Right Ctrl

VK_RIGHT

0x27

Arrow Right

VK_RMENU

0xA5

Right Alt

VK_RSHIFT

0xA1

Right Shift

VK_RWIN

0x5C

Right Win

VK_SCROLL

0x91

Scrol Lock

VK_SLEEP

0x5F

Sleep

VK_SNAPSHOT

0x2C

Print Screen

VK_UP

0x26

Arrow Up

VK_VOLUME_DOWN

0xAE

Volume Down

VK_VOLUME_MUTE

0xAD

Volume Mute

VK_VOLUME_UP

0xAF

Volume Up

VK_XBUTTON1

0x05

X Button 1 **

VK_XBUTTON2

0x06

X Button 2 **

*) 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
posted @ 2014-09-07 17:21  BiG5  阅读(227)  评论(0编辑  收藏  举报