[Home] [Purchase] [Download] [Manual] [Acknowledgements] [Sitemap] [Release Notes] [FAQ]

Up ] Editing VK Mappings ] Modifiers ] Special NLS functions ] Special NLS Functions Editor ] Mouse keys ] [ List of Virtual Key Codes ]

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
NameNumeric valueDescription
VK_ABNT_C10xC1Abnt C1
VK_ABNT_C20xC2Abnt C2
VK_ADD0x6BNumpad +
VK_ATTN0xF6Attn
VK_BACK0x08Backspace
VK_CANCEL0x03Break
VK_CLEAR0x0CClear
VK_CRSEL0xF7Cr Sel
VK_DECIMAL0x6ENumpad .
VK_DIVIDE0x6FNumpad /
VK_EREOF0xF9Er Eof
VK_ESCAPE0x1BEsc
VK_EXECUTE0x2BExecute
VK_EXSEL0xF8Ex Sel
VK_ICO_CLEAR0xE6IcoClr
VK_ICO_HELP0xE3IcoHlp
VK_KEY_00x30 ('0')0
VK_KEY_10x31 ('1')1
VK_KEY_20x32 ('2')2
VK_KEY_30x33 ('3')3
VK_KEY_40x34 ('4')4
VK_KEY_50x35 ('5')5
VK_KEY_60x36 ('6')6
VK_KEY_70x37 ('7')7
VK_KEY_80x38 ('8')8
VK_KEY_90x39 ('9')9
VK_KEY_A0x41 ('A')A
VK_KEY_B0x42 ('B')B
VK_KEY_C0x43 ('C')C
VK_KEY_D0x44 ('D')D
VK_KEY_E0x45 ('E')E
VK_KEY_F0x46 ('F')F
VK_KEY_G0x47 ('G')G
VK_KEY_H0x48 ('H')H
VK_KEY_I0x49 ('I')I
VK_KEY_J0x4A ('J')J
VK_KEY_K0x4B ('K')K
VK_KEY_L0x4C ('L')L
VK_KEY_M0x4D ('M')M
VK_KEY_N0x4E ('N')N
VK_KEY_O0x4F ('O')O
VK_KEY_P0x50 ('P')P
VK_KEY_Q0x51 ('Q')Q
VK_KEY_R0x52 ('R')R
VK_KEY_S0x53 ('S')S
VK_KEY_T0x54 ('T')T
VK_KEY_U0x55 ('U')U
VK_KEY_V0x56 ('V')V
VK_KEY_W0x57 ('W')W
VK_KEY_X0x58 ('X')X
VK_KEY_Y0x59 ('Y')Y
VK_KEY_Z0x5A ('Z')Z
VK_MULTIPLY0x6ANumpad *
VK_NONAME0xFCNoName
VK_NUMPAD00x60Numpad 0
VK_NUMPAD10x61Numpad 1
VK_NUMPAD20x62Numpad 2
VK_NUMPAD30x63Numpad 3
VK_NUMPAD40x64Numpad 4
VK_NUMPAD50x65Numpad 5
VK_NUMPAD60x66Numpad 6
VK_NUMPAD70x67Numpad 7
VK_NUMPAD80x68Numpad 8
VK_NUMPAD90x69Numpad 9
VK_OEM_10xBAOEM_1 (: ;)
VK_OEM_1020xE2OEM_102 (> <)
VK_OEM_20xBFOEM_2 (? /)
VK_OEM_30xC0OEM_3 (~ `)
VK_OEM_40xDBOEM_4 ({ [)
VK_OEM_50xDCOEM_5 (| \)
VK_OEM_60xDDOEM_6 (} ])
VK_OEM_70xDEOEM_7 (" ')
VK_OEM_80xDFOEM_8 (§ !)
VK_OEM_ATTN0xF0Oem Attn
VK_OEM_AUTO0xF3Auto
VK_OEM_AX0xE1Ax
VK_OEM_BACKTAB0xF5Back Tab
VK_OEM_CLEAR0xFEOemClr
VK_OEM_COMMA0xBCOEM_COMMA (< ,)
VK_OEM_COPY0xF2Copy
VK_OEM_CUSEL0xEFCu Sel
VK_OEM_ENLW0xF4Enlw
VK_OEM_FINISH0xF1Finish
VK_OEM_FJ_LOYA0x95Loya
VK_OEM_FJ_MASSHOU0x93Mashu
VK_OEM_FJ_ROYA0x96Roya
VK_OEM_FJ_TOUROKU0x94Touroku
VK_OEM_JUMP0xEAJump
VK_OEM_MINUS0xBDOEM_MINUS (_ -)
VK_OEM_PA10xEBOemPa1
VK_OEM_PA20xECOemPa2
VK_OEM_PA30xEDOemPa3
VK_OEM_PERIOD0xBEOEM_PERIOD (> .)
VK_OEM_PLUS0xBBOEM_PLUS (+ =)
VK_OEM_RESET0xE9Reset
VK_OEM_WSCTRL0xEEWsCtrl
VK_PA10xFDPa1
VK_PACKET0xE7Packet
VK_PLAY0xFAPlay
VK_PROCESSKEY0xE5Process
VK_RETURN0x0DEnter
VK_SELECT0x29Select
VK_SEPARATOR0x6CSeparator
VK_SPACE0x20Space
VK_SUBTRACT0x6DNum -
VK_TAB0x09Tab
VK_ZOOM0xFBZoom
NameNumeric valueDescription
VK__none_0xFFno VK mapping
VK_ACCEPT0x1E Accept
VK_APPS0x5DContext Menu
VK_BROWSER_BACK0xA6Browser Back
VK_BROWSER_FAVORITES0xABBrowser Favorites
VK_BROWSER_FORWARD0xA7Browser Forward
VK_BROWSER_HOME0xACBrowser Home
VK_BROWSER_REFRESH0xA8Browser Refresh
VK_BROWSER_SEARCH0xAABrowser Search
VK_BROWSER_STOP0xA9Browser Stop
VK_CAPITAL0x14Caps Lock
VK_CONVERT0x1C Convert
VK_DELETE0x2EDelete
VK_DOWN0x28Arrow Down
VK_END0x23End
VK_F10x70F1
VK_F100x79F10
VK_F110x7AF11
VK_F120x7BF12
VK_F130x7CF13
VK_F140x7DF14
VK_F150x7EF15
VK_F160x7FF16
VK_F170x80F17
VK_F180x81F18
VK_F190x82F19
VK_F20x71F2
VK_F200x83F20
VK_F210x84F21
VK_F220x85F22
VK_F230x86F23
VK_F240x87F24
VK_F30x72F3
VK_F40x73F4
VK_F50x74F5
VK_F60x75F6
VK_F70x76F7
VK_F80x77F8
VK_F90x78F9
VK_FINAL0x18Final
VK_HELP0x2FHelp
VK_HOME0x24Home
VK_ICO_000xE4Ico00 *
VK_INSERT0x2DInsert
VK_JUNJA0x17Junja
VK_KANA0x15Kana
VK_KANJI0x19Kanji
VK_LAUNCH_APP10xB6App1
VK_LAUNCH_APP20xB7App2
VK_LAUNCH_MAIL0xB4Mail
VK_LAUNCH_MEDIA_SELECT0xB5Media
VK_LBUTTON0x01 Left Button **
VK_LCONTROL0xA2 Left Ctrl
VK_LEFT0x25Arrow Left
VK_LMENU0xA4 Left Alt
VK_LSHIFT0xA0 Left Shift
VK_LWIN0x5B Left Win
VK_MBUTTON0x04 Middle Button **
VK_MEDIA_NEXT_TRACK0xB0 Next Track
VK_MEDIA_PLAY_PAUSE0xB3 Play / Pause
VK_MEDIA_PREV_TRACK0xB1 Previous Track
VK_MEDIA_STOP0xB2Stop
VK_MODECHANGE0x1F Mode Change
VK_NEXT0x22 Page Down
VK_NONCONVERT0x1D Non Convert
VK_NUMLOCK0x90Num Lock
VK_OEM_FJ_JISHO0x92Jisho
VK_PAUSE0x13Pause
VK_PRINT0x2APrint
VK_PRIOR0x21Page Up
VK_RBUTTON0x02 Right Button **
VK_RCONTROL0xA3 Right Ctrl
VK_RIGHT0x27 Arrow Right
VK_RMENU0xA5 Right Alt
VK_RSHIFT0xA1 Right Shift
VK_RWIN0x5C Right Win
VK_SCROLL0x91 Scrol Lock
VK_SLEEP0x5FSleep
VK_SNAPSHOT0x2C Print Screen
VK_UP0x26Arrow Up
VK_VOLUME_DOWN0xAE Volume Down
VK_VOLUME_MUTE0xAD Volume Mute
VK_VOLUME_UP0xAF Volume Up
VK_XBUTTON10x05 X Button 1 **
VK_XBUTTON20x06 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.

Back to Editing Virtual Key mappingsLow-level editor

Manual index

Copyright © KbdSoft 2007-2023