Export (0) Print
Expand All
75 out of 100 rated this helpful - Rate this topic

Virtual-Key Codes (Windows CE 5.0)

Windows CE 5.0
Send Feedback

The following table shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual-key codes used by the Microsoft Windows CE 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.

ms927178.note(en-us,MSDN.10).gifImportant:
This topic applies to an older product version. See documentation for the most current version of Windows Embedded Compact. Or visit Windows Embedded Products & Solutions for the latest information about intelligent systems powered by Microsoft.

Virtual key codes

Symbolic constantHexadecimal valueMouse or keyboard equivalent
VK_LBUTTON 01 Left mouse button
VK_RBUTTON 02 Right mouse button
VK_CANCEL 03 Control-break processing
VK_MBUTTON 04 Middle mouse button on a three-button mouse
0507 Undefined
VK_BACK 08 BACKSPACE key
VK_TAB 09 TAB key
0A0B Undefined
VK_CLEAR 0C CLEAR key
VK_RETURN 0D ENTER key
0E0F 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
1519 Reserved for Kanji systems
1A Undefined
VK_ESCAPE 1B ESC key
1C1F 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
 2A Specific to original equipment manufacturer
VK_EXECUTE 2B EXECUTE key
VK_SNAPSHOT 2C PRINT SCREEN key
VK_INSERT 2D INS key
VK_DELETE 2E DEL key
VK_HELP 2F HELP key
 3A40 Undefined
VK_LWIN 5B Left Windows key on a Microsoft Natural Keyboard
VK_RWIN 5C Right Windows key on a Microsoft Natural Keyboard
VK_APPS 5D Applications key on a Microsoft Natural Keyboard
 5E5F Undefined
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

(PPC only) Key used to lock device.

VK_F23 86H F23 key
VK_F24 87H F24 key
 888F Unassigned
VK_NUMLOCK 90 NUM LOCK key
VK_SCROLL 91 SCROLL LOCK key
VK_LSHIFT0xA0Left SHIFT
VK_RSHIFT0xA1Right SHIFT
VK_LCONTROL0xA2Left CTRL
VK_RCONTROL0xA3Right CTRL
VK_LMENU0xA4Left ALT
VK_RMENU0xA5Right ALT
 BA-C0 Specific to original equipment manufacturer; reserved. See following tables.
 C1-DA Unassigned
 DB-E2 Specific to original equipment manufacturer; reserved. See following tables.
 E3 – E4Specific to original equipment manufacturer
 E5 Unassigned
 E6 Specific to original equipment manufacturer
VK_PACKETE7Used 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.
 E8 Unassigned
 E9-F5 Specific to original equipment manufacturer
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
VK_KEYLOCKF22Key used to lock device

Original equipment manufacturers should make special note of the VK key ranges reserved for specific original equipment manufacturer use: 2A, DBE4, E6, and E9F5.

In addition to the VK key assignments in the previous table, Microsoft has assigned the following specific original equipment manufacturer VK keys.

Symbolic constantHexadecimal valueMouse or keyboard equivalent
VK_OEM_SCROLL 0x91None
VK_OEM_10xBA";:" for US
VK_OEM_PLUS0xBB"+" any country/region
VK_OEM_COMMA0xBC"," any country/region
VK_OEM_MINUS0xBD"-" any country/region
VK_OEM_PERIOD0xBE"." any country/region
VK_OEM_20xBF"/?" for US
VK_OEM_30xC0"`~" for US
VK_OEM_40xDB"[{" for US
VK_OEM_50xDC"\|" for US
VK_OEM_60xDD"]}" for US
VK_OEM_70xDE"'"" for US
VK_OEM_80xDFNone
VK_OEM_AX0xE1AX key on Japanese AX keyboard
VK_OEM_1020xE2"<>" or "\|" on RT 102-key keyboard

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

Symbolic constantHexadecimal valueDescription
VK_DBE_ALPHANUMERIC0x0f0Changes the mode to alphanumeric.
VK_DBE_KATAKANA0x0f1Changes the mode to Katakana.
VK_DBE_HIRAGANA0x0f2Changes the mode to Hiragana.
VK_DBE_SBCSCHAR0x0f3Changes the mode to single-byte characters.
VK_DBE_DBCSCHAR0x0f4Changes the mode to double-byte characters.
VK_DBE_ROMAN0x0f5Changes the mode to Roman characters.
VK_DBE_NOROMAN0x0f6Changes the mode to non-Roman characters.
VK_DBE_ENTERWORDREGISTERMODE0x0f7Activates the word registration dialog box.
VK_DBE_ENTERIMECONFIGMODE0x0f8Activates a dialog box for setting up an IME environment.
VK_DBE_FLUSHSTRING0x0f9Deletes the undetermined string without determining it.
VK_DBE_CODEINPUT0x0faChanges the mode to code input.
VK_DBE_NOCODEINPUT0x0fbChanges the mode to no-code input.

Original equipment manufacturers should not use the unassigned portions of the 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

Using Virtual-Key Codes | Manufacturer-specific Virtual-Key Codes


Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.


Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.