분류 전체보기 (328)
.NET (111)
S/W tip (35)
etc (63)
DB (34)
HOT item~! (48)
Disign pettens (4)
UX (6)
나의 S/W (2)
개발관련 이슈 (16)
Diary (1)
웹플러스 (1)
calendar
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
tags
archive
link
ColorSwitch 00 01 02
▣  Virtual key codes - .NET/C# - 2010. 11. 22. 16:34
Virtual key codes

출처 : http://blog.naver.com/linknote/10082834240


http://msdn.microsoft.com/en-us/library/bb431750.aspx

 

Keys and Key Codes for Windows Mobile

 

Key Codes

The following table shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual key codes used by the Windows Mobile operating system. The codes are listed in numeric order. You can combine any of the codes with a modifier key to create a hot key.

A VK_code is a byte, and so there are only 256 VK_codes total. The virtual key codes listed in the "Virtual key codes" section below are shared with Windows Embedded CE. More virtual keys were required for functionality, and so many hex values are shared between both a traditional Windows Embedded CE value and a Windows Mobile–specific value.

The following table provides a list of the mappings between the traditional VK constants and the additional Windows Mobile–specific value.

Hexadecimal value Windows Embedded CE constant Shared Windows Mobile constant Windows Mobile purpose

0x08

VK_BACK

VK_TBACK

Back.

0x0D

VK_RETURN

VK_TACTION

Action.

0x25

VK_LEFT

VK_TLEFT 

Left.

0x26

VK_UP

VK_TUP

Up.

0x27

VK_RIGHT

VK_TRIGHT

Right.

0x28

VK_DOWN

VK_TDOWN

Down.

0x5B

VK_LWIN

VK_THOME

Home screen or Today screen

0x70

VK_F1

VK_TSOFT1

Softkey 1.

0x71

VK_F2

VK_TSOFT2

Softkey 2.

0x72

VK_F3

VK_TTALK

Talk

0x73

VK_F4

VK_TEND

End

0x75

VK_F6

VK_TVOLUMEUP

Volume Up.

0x76

VK_F7

VK_TVOLUMEDOWN

Volume Down.

0x77

VK_F8

VK_TSTAR

*

0x78

VK_F9

VK_TPOUND

#

0x79

VK_F10

VK_TRECORD

Record.

0x7A

VK_F11

VK_SYMBOL

Symbol (SYM) key.

0x7E

VK_F15

VK_END_ALL_DATA_CALLS

Disconnects all data calls without affecting the status of voice calls.

0x7F

VK_F16

VK_TSPEAKERPHONE_TOGGLE

Toggles speakerphone on and off.

0x80

VK_F17

VK_TFLIP

Flip.

0x81

VK_F18

VK_TPOWER

Power.

0x82

VK_F19

VK_REDKEY

Sent by a keypad that has a special red function key.

0x83

VK_F20

VK_ROCKER

Arrow keys came from a Rocker.

0x84

VK_F21

VK_DPAD

Arrow keys came from a d–pad.

0x85

VK_F22

VK_KEYLOCK

Key used to lock device.

0x86

VK_F23

VK_ACTION

Sent with VK_RETURN when doing Action on Windows Mobile 6 Classic rockers.

0x87

VK_F24

VK_VOICEDIAL

Key used to kick off voice dial recognition.

For more information about the d-pad, see D-pad Virtual Key Code Support. For more information about soft keys, see Soft Key Virtual Key Codes.

The following keys were undefined for Windows Embedded CE, but are overridden as application keys in Windows Mobile.

Hexadecimal value Windows Mobile constant

0xC1

VK_APP_FIRST

0xC1

VK_APP1

0xC2

VK_APP2

0xC3

VK_APP3

0xC4

VK_APP4

0xC5

VK_APP5

0xC6

VK_APP6

0xC6

VK_APP_LAST

The VK_APP keys will only be recognized by the system if they are wrapped with VK_LWIN. The following code snippet demonstrates how to do this programmatically.

keybd_event(VK_LWIN, 0, KEYEVENTF_SILENT, 0);
GenKeyEvent(VK_APP1);
keybd_event(VK_LWIN, 0, KEYEVENTF_SILENT | KEYEVENTF_KEYUP, 0);

And finally, the following chorded keys are implemented for Windows Mobile.

Windows Mobile constant Hexadecimal value Purpose

VK_DONE

VK_RWIN + VK_F6

<OK/Close> hotkey code.

See SmartMinimize Button.

MOD_DONE

(MOD_WIN | MOD_KEYUP)

<OK/Close> hotkey modifiers

VK_MOJI

VK_RWIN + VK_F7

Key used to switch between East Asian language layouts.

MOD_MOJI

(MOD_WIN | MOD_KEYUP)

Modifiers so MOJI goes to the shell.

VK_A to VK_Z and VK_0 to VK_9 are defined to be the same values as their ASCII counterparts. So VK_A is 0x41 and VK_0 is 0x30. Windows Mobile also defines the following numerical codes.

Hexadecimal value Windows Embedded CE constant Windows Mobile constant

0x30

VK_0

VK_T0

0x31

VK_1

VK_T1

0x32

VK_2

VK_T2

0x33

VK_3

VK_T3

0x34

VK_4

VK_T4

0x35

VK_5

VK_T5

0x36

VK_6

VK_T6

0x37

VK_7

VK_T7

0x38

VK_8

VK_T8

0x39

VK_9

VK_T9

VK_0 (which is the same as VK_T0) and VK_NUMPAD0 are different keys. On the desktop keyboard, VK_0 is the key just above and to the left of VK_P. VK_NUMPAD0 is the key at the bottom of the number pad on the far right of the keyboard. Windows Mobile applications will always look for VK_0, but can also look for both VK_0 and VK_NUMPAD0 in order to do the correct thing if there was a devide with a numpad.

Virtual key codes in Windows Embedded CE

Symbolic constant Hexadecimal value Additional mapping defined for Windows Mobile  Mouse or keyboard equivalent

VK_LBUTTON

0x01

Left mouse button.

VK_RBUTTON

0x02

Right mouse button.

VK_CANCEL

0x03

Control–break processing.

VK_MBUTTON

0x04

Middle mouse button on a three–button mouse.

 

0x05–0x07

Undefined.

VK_BACK

0x08

BACKSPACE key.

VK_TAB

0x09

TAB key.

 

0x0A–0x0B

Undefined.

VK_CLEAR

0x0C

CLEAR key.

VK_RETURN

0x0D

ENTER key.

 

0x0E–0x0F

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.

 

0x15–0x19

Reserved for Kanji systems.

 

0x1A

Undefined.

VK_ESCAPE

0x1B

ESC key.

 

0x1C–0x1F

Reserved for Kanji systems.

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.

 

0x2A

Specific to OEM.

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.

 

0x3A–0x40

Undefined.

VK_LWIN

0x5B

Left Windows key on a Microsoft Natural Keyboard.

VK_RWIN

0x5C

Right Windows key on a Microsoft Natural Keyboard.

VK_APPS

0x5D

Applications key on a Microsoft Natural Keyboard.

 

0x5E–0x5F

Undefined

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.

Key used to lock device.

VK_F23

0x86

F23 key.

VK_F24

0x87

F24 key.

 

0x89–0x8F

Unassigned.

VK_NUMLOCK

0x90

NUM LOCK key.

VK_SCROLL

0x91

SCROLL LOCK key.

VK_LSHIFT

0xA0

Left SHIFT.

VK_RSHIFT

0xA1

Right SHIFT.

VK_LCONTROL

0xA2

Left CTRL.

VK_RCONTROL

0xA3

Right CTRL.

VK_LMENU

0xA4

Left ALT.

VK_RMENU

0xA5

Right ALT.

 

0xBA–0xC0

Specific to OEM; reserved. See following tables.

 

0xC1–0xDA

0xC1–0xC6

Unassigned.

 

0xDB–0xDE

Specific to OEM; reserved. See following tables.

VK_OFF

0xDF

Used to power the device on and off. No keyboard equivalent.

 

0xE1–0xE4

Specific to OEM.

 

0xE5

Unassigned.

 

0xE6

Specific to OEM.

VK_PACKET

0xE7

Used to pass Unicode characters as if they were keystrokes. If VK_PACKET is used with SendInput, then the Unicode character to be delivered should be placed into the lower 16 bits of the scan code. If a keyboard message is removed from the message queue and the virtual key is VK_PACKET, then the Unicode character will be the upper 16 bits of the lparam.

 

0xE8

Unassigned.

 

0xE9–0xF5

Specific to OEM.

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.

VK_KEYLOCK

0xF22

Key used to lock device.

OEMs should make special note of the VK key ranges reserved for specific OEM use: 2A, DB–E4, E6, and E9–F5.

In addition to the virtual key assignments in the previous table, Microsoft has assigned the following specific OEM virtual keys.

Symbolic constant Hexadecimal value Mouse or keyboard equivalent

VK_OEM_SCROLL

0x91

None.

VK_OEM_1

0xBA

";:" for US.

VK_OEM_PLUS

0xBB

"+" any country/region.

VK_OEM_COMMA

0xBC

"," any country/region.

VK_OEM_MINUS

0xBD

"-" any country/region.

VK_OEM_PERIOD

0xBE

"." any country/region.

VK_OEM_2

0xBF

"/?" for US.

VK_OEM_3

0xC0

"`~" for US.

VK_OEM_4

0xDB

"[{" for US.

VK_OEM_5

0xDC

"\|" for US.

VK_OEM_6

0xDD

"]}" for US

VK_OEM_7

0xDE

"'"" for US.

VK_OEM_8

0xDF

None. By default, this is equivalent to VK_OFF.

VK_OEM_AX

0xE1

AX key on Japanese AX keyboard.

VK_OEM_102

0xE2

"<>" or "\|" on RT 102-key keyboard.

For East Asian Input Method Editors (IMEs) the following additional virtual keyboard definitions must be observed.

Symbolic constant Hexadecimal value Description

VK_DBE_ALPHANUMERIC

0x0f0

Changes the mode to alphanumeric.

VK_DBE_KATAKANA

0x0f1

Changes the mode to Katakana.

VK_DBE_HIRAGANA

0x0f2

Changes the mode to Hiragana.

VK_DBE_SBCSCHAR

0x0f3

Changes the mode to single–byte characters.

VK_DBE_DBCSCHAR

0x0f4

Changes the mode to double–byte characters.

VK_DBE_ROMAN

0x0f5

Changes the mode to Roman characters.

VK_DBE_NOROMAN

0x0f6

Changes the mode to non–Roman characters.

VK_DBE_ENTERWORDREGISTERMODE

0x0f7

Activates the word registration dialog box.

VK_DBE_ENTERIMECONFIGMODE

0x0f8

Activates a dialog box for setting up an IME environment.

VK_DBE_FLUSHSTRING

0x0f9

Deletes the undetermined string without determining it.

VK_DBE_CODEINPUT

0x0fa

Changes the mode to code input.

VK_DBE_NOCODEINPUT

0x0fb

Changes the mode to no-code input.

OEMs should not use the unassigned portions of the virtual key (VK) mapping tables. Microsoft will assign these values in the future. If manufacturers require additional VK mappings, they should reuse some of the current manufacturer–specific and vendor–specific assignments.

See Also

Reference

WM_CHAR

Concepts

Processing Character Messages

Other Resources

Keyboard
Navigation Keys
Message Map for Navigation Controls

articles
recent replies
recent trackbacks
notice
Admin : New post