Keyboard layouts by virtual keys

As of Windows 10.0.27729.1000

By dead keys • By ligatures • By SGCAPS • By Unicode • By virtual keys • By shift states • By flags • By languages
Sorting It All Out • MSKLC • Terminology

This page is based on 216 system keyboard drivers.

Virtual keys with text output

The following tables contain virtual keys mapped to keys that output characters.

By least used

DriversVirtual keys used in this number of drivers
1ABNT C1 · ABNT C2 · OEM AUTO
4OEM NEC EQUAL · SEPARATOR
26OEM 8
167OEM 102
202OEM 5
203OEM PLUS
209OEM 3 · Z
211OEM MINUS
2132 · 3 · 4 · 6 · OEM 4 · OEM 6 · OEM 7 · V
2141 · 5 · 7 · 8 · 9 · OEM 2 · OEM COMMA · Q · W
2150 · C · G · J · OEM 1 · OEM PERIOD · P · R · T · X · Y
216A · ADD · B · BACK · CANCEL · D · DECIMAL · DIVIDE · E · ESCAPE · F · H · I · K · L · M · MULTIPLY · N · NUMPAD0 · NUMPAD1 · NUMPAD2 · NUMPAD3 · NUMPAD4 · NUMPAD5 · NUMPAD6 · NUMPAD7 · NUMPAD8 · NUMPAD9 · O · RETURN · S · SPACE · SUBTRACT · TAB · U

For example, there is one keyboard driver that contains VK_ABNT_C1 which types something when the key is pressed, and similarly there is one keyboard driver that contains VK_OEM_AUTO that types something. Note however that they are not the same keyboard driver.

By least stable

PositionsVirtual keys at this number of different positions across all drivers
14OEM 2
11OEM 1
10OEM 6 · OEM 8 · OEM PERIOD · Z
9F · J · OEM 4 · OEM 7 · OEM COMMA
8C · D · G · I · L · M · OEM 5 · Q · Y
7B · E · K · N · O · OEM 3 · OEM MINUS · OEM PLUS · S · V · W
6A · H · P · R · T · U · X
50
45 · 6 · 7 · 8 · 9
31 · 2 · 3 · 4 · ADD · OEM NEC EQUAL · RETURN · SEPARATOR
2CANCEL · DECIMAL · DIVIDE · ESCAPE · MULTIPLY · NUMPAD0 · NUMPAD1 · NUMPAD2 · NUMPAD3 · NUMPAD4 · NUMPAD5 · NUMPAD6 · NUMPAD7 · NUMPAD8 · NUMPAD9 · OEM 102 · SPACE · SUBTRACT · TAB
1ABNT C1 · ABNT C2 · BACK · OEM AUTO

Virtual keys assigned to keys without any output

The following tables consider virtual keys that are present in the scancode to virtual key mapping tables, but not in the virtual key to character tables. Note that a virtual key can output text on one layout but not on another, in which case it appears both above and below.

By least used

DriversVirtual keys used in this number of drivers
10 · C · G · J · OEM 1 · OEM 7 · OEM 8 · OEM AX · OEM PERIOD · P · R · T · X · Y
21 · 5 · 7 · 8 · 9 · OEM 2 · OEM COMMA · OEM MINUS · Q · W
32 · 3 · 4 · 6 · DBE ALPHANUMERIC · IME OFF · IME ON · OEM 4 · OEM 6 · V
4OEM COPY
5OEM PLUS
6OEM 3
7HANJA · NONAME · Z
8CONVERT
9NONCONVERT
10KANA
13OEM 5 · OEM PA2
37OEM 102
206ABNT C1
207DBE NOCODEINPUT · HELP · OEM BACKTAB · OEM JUMP · OEM PA1 · OEM PA3 · OEM RESET · OEM WSCTRL · RMENU
209BROWSER BACK · BROWSER FAVORITES · BROWSER FORWARD · BROWSER HOME · BROWSER REFRESH · BROWSER SEARCH · BROWSER STOP · DBE KATAKANA · LAUNCH APP1 · LAUNCH APP2 · LAUNCH MAIL · LAUNCH MEDIA SELECT · MEDIA NEXT TRACK · MEDIA PLAY PAUSE · MEDIA PREV TRACK · MEDIA STOP · RCONTROL · SLEEP · VOLUME DOWN · VOLUME MUTE · VOLUME UP
211CLEAR · DBE FLUSHSTRING · F18 · F19 · F20 · F21 · F22 · F23 · F24
212ABNT C2 · F16 · F17 · OEM AUTO
213CAPITAL
215APPS · LWIN · NUMLOCK · PAUSE · RWIN · SCROLL
216DELETE · DOWN · END · F1 · F10 · F11 · F12 · F13 · F14 · F15 · F2 · F3 · F4 · F5 · F6 · F7 · F8 · F9 · HOME · INSERT · LCONTROL · LEFT · LMENU · LSHIFT · NEXT · PRIOR · RIGHT · RSHIFT · SNAPSHOT · UP

By least stable

PositionsVirtual keys at this number of different positions across all drivers
6KANA
4F13 · F14 · F15 · NONAME
3CONVERT · DBE KATAKANA · HANJA · NONCONVERT · OEM AUTO · SNAPSHOT
2APPS · CAPITAL · DBE NOCODEINPUT · DELETE · DOWN · END · F1 · F10 · F11 · F12 · F16 · F17 · F2 · F3 · F4 · F5 · F6 · F7 · F8 · F9 · HELP · HOME · INSERT · LCONTROL · LEFT · LMENU · LSHIFT · LWIN · NEXT · OEM COPY · PRIOR · RIGHT · RSHIFT · RWIN · UP
10 · 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · ABNT C1 · ABNT C2 · BROWSER BACK · BROWSER FAVORITES · BROWSER FORWARD · BROWSER HOME · BROWSER REFRESH · BROWSER SEARCH · BROWSER STOP · C · CLEAR · DBE ALPHANUMERIC · DBE FLUSHSTRING · F18 · F19 · F20 · F21 · F22 · F23 · F24 · G · IME OFF · IME ON · J · LAUNCH APP1 · LAUNCH APP2 · LAUNCH MAIL · LAUNCH MEDIA SELECT · MEDIA NEXT TRACK · MEDIA PLAY PAUSE · MEDIA PREV TRACK · MEDIA STOP · NUMLOCK · OEM 1 · OEM 102 · OEM 2 · OEM 3 · OEM 4 · OEM 5 · OEM 6 · OEM 7 · OEM 8 · OEM AX · OEM BACKTAB · OEM COMMA · OEM JUMP · OEM MINUS · OEM PA1 · OEM PA2 · OEM PA3 · OEM PERIOD · OEM PLUS · OEM RESET · OEM WSCTRL · P · PAUSE · Q · R · RCONTROL · RMENU · SCROLL · SLEEP · T · V · VOLUME DOWN · VOLUME MUTE · VOLUME UP · W · X · Y · Z

Unused virtual keys

The following table shows virtual keys that are not used, ordered by the number of drivers that don't use the specific virtual key. Notably, the first row shows virtual keys that are defined in the SDK but not mapped to any physical key by any of the system keyboard drivers.

DriversVirtual keys not used in this number of drivers
216ACCEPT · CONTROL · CRSEL · DBE CODEINPUT · DBE ENTERDLGCONVERSIONMODE · DBE ENTERIMECONFIGMODE · DBE NOROMAN · EXECUTE · FINAL · ICO 00 · ICO CLEAR · ICO HELP · JUNJA · LBUTTON · MBUTTON · MENU · MODECHANGE · OEM CLEAR · OEM CUSEL · OEM ENLW · OEM FJ LOYA · OEM FJ MASSHOU · OEM FJ ROYA · OEM FJ TOUROKU · PACKET · POWER · PRINT · PROCESSKEY · RBUTTON · SELECT · SHIFT · XBUTTON1 · XBUTTON2
215OEM AX
213DBE ALPHANUMERIC · IME OFF · IME ON
212OEM COPY · OEM NEC EQUAL · SEPARATOR
209HANJA · NONAME
208CONVERT
207NONCONVERT
206KANA
203OEM PA2
189OEM 8
12OEM 102
9ABNT C1 · DBE NOCODEINPUT · HELP · OEM BACKTAB · OEM JUMP · OEM PA1 · OEM PA3 · OEM RESET · OEM WSCTRL · RMENU
8OEM PLUS
7BROWSER BACK · BROWSER FAVORITES · BROWSER FORWARD · BROWSER HOME · BROWSER REFRESH · BROWSER SEARCH · BROWSER STOP · DBE KATAKANA · LAUNCH APP1 · LAUNCH APP2 · LAUNCH MAIL · LAUNCH MEDIA SELECT · MEDIA NEXT TRACK · MEDIA PLAY PAUSE · MEDIA PREV TRACK · MEDIA STOP · RCONTROL · SLEEP · VOLUME DOWN · VOLUME MUTE · VOLUME UP
5CLEAR · DBE FLUSHSTRING · F18 · F19 · F20 · F21 · F22 · F23 · F24
4F16 · F17
3ABNT C2 · CAPITAL · OEM AUTO · OEM MINUS
2OEM 7
1APPS · LWIN · NUMLOCK · OEM 3 · OEM 5 · PAUSE · RWIN · SCROLL
00 · 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · A · ADD · B · BACK · C · CANCEL · D · DECIMAL · DELETE · DIVIDE · DOWN · E · END · ESCAPE · F · F1 · F10 · F11 · F12 · F13 · F14 · F15 · F2 · F3 · F4 · F5 · F6 · F7 · F8 · F9 · G · H · HOME · I · INSERT · J · K · L · LCONTROL · LEFT · LMENU · LSHIFT · M · MULTIPLY · N · NEXT · NUMPAD0 · NUMPAD1 · NUMPAD2 · NUMPAD3 · NUMPAD4 · NUMPAD5 · NUMPAD6 · NUMPAD7 · NUMPAD8 · NUMPAD9 · O · OEM 1 · OEM 2 · OEM 4 · OEM 6 · OEM COMMA · OEM PERIOD · P · PRIOR · Q · R · RETURN · RIGHT · RSHIFT · S · SNAPSHOT · SPACE · SUBTRACT · T · TAB · U · UP · V · W · X · Y · Z

Similarly, the last row shows list of virtual keys that are mapped by all system keyboard drivers. Note that for each virtual key, the driver counts in all tables above should add up to 216 (unless a driver uses the same virtual key on both textual and non-textual keys).