Keyboard layouts by virtual keys

As of Windows 10.0.25336.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 210 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
162OEM 102
196OEM 5
197OEM PLUS
203OEM 3 · Z
205OEM MINUS
2072 · 3 · 4 · 6 · OEM 4 · OEM 6 · OEM 7 · V
2081 · 5 · 7 · 8 · 9 · OEM 2 · OEM COMMA · Q · W
2090 · C · G · J · OEM 1 · OEM PERIOD · P · R · T · X · Y
210A · 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
10OEM 1 · OEM 6 · OEM 8 · OEM PERIOD · Z
9OEM 4 · OEM 7 · OEM COMMA
8C · F · J · M · OEM 5 · Q · Y
7B · D · G · I · L · OEM 3 · OEM MINUS · OEM PLUS · S · V · W
6A · E · H · K · N · O · P · U · X
50 · R · T
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
36OEM 102
200ABNT C1
201DBE NOCODEINPUT · HELP · OEM BACKTAB · OEM JUMP · OEM PA1 · OEM PA3 · OEM RESET · OEM WSCTRL · RMENU
203BROWSER 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
205CLEAR · DBE FLUSHSTRING · F18 · F19 · F20 · F21 · F22 · F23 · F24
206ABNT C2 · F16 · F17 · OEM AUTO
207CAPITAL
209APPS · LWIN · NUMLOCK · PAUSE · RWIN · SCROLL
210DELETE · 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
210ACCEPT · 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
209OEM AX
207DBE ALPHANUMERIC · IME OFF · IME ON
206OEM COPY · OEM NEC EQUAL · SEPARATOR
203HANJA · NONAME
202CONVERT
201NONCONVERT
200KANA
197OEM PA2
183OEM 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 210 (unless a driver uses the same virtual key on both textual and non-textual keys).