Keyboard layouts by shift states

As of Windows 10.0.27729.1000

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

Numbers represent the number of keys defined for given shift state.

Layouts with extra shift states

To obtain an additional shift state, some keyboards have extra physical keys (such as VK_KANA), and some map physical keys to uncommon virtual keys (e.g. VK_OEM_8 in Canadian Multilingual Standard is mapped to the right Ctrl key), so make sure to check key mappings for these.

VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT Σ
VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL
VK_MENU VK_MENU VK_MENU VK_MENU VK_MENU VK_MENU
VK_OEM_8 VK_OEM_8 VK_OEM_8 VK_OEM_8 VK_OEM_8 VK_OEM_8
Canadian Multilingual Standard 60 60 6 34 44 16 220
VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT Σ
VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL
VK_KANA VK_KANA VK_KANA VK_KANA VK_KANA VK_KANA VK_KANA VK_KANA
JP Japanese Keyboard Layout for (NEC PC-9800 Windows 95) 71 62 12 72 3 62 12 3 297
JP Japanese Keyboard Layout for (NEC PC-9800 on PC98-NX) 62 63 12 63 3 63 12 3 281
JP Japanese Keyboard Layout for (NEC PC-9800) 61 62 12 62 3 62 12 3 277
JP Japanese NEC PC-9800 Keyboard Layout 60 61 12 61 3 61 12 3 273
JP Japanese Keyboard Layout for 101 60 60 10 60 3 60 10 3 266
JP Japanese Keyboard Layout for AX2 60 60 10 60 3 60 10 3 266
Japanese 60 60 10 60 3 60 10 3 266
JP Japanese Keyboard Layout for 106 60 59 10 60 3 60 10 3 265
JP Japanese Keyboard Layout for 106 60 59 10 60 3 60 10 3 265
JP Japanese Keyboard Layout for IBM 5576-002/003 60 59 10 60 3 60 10 3 265
DEC LK411-AJ Keyboard Layout 59 59 9 59 3 59 9 3 260

Layouts with common shift states

Ordered by number of shift states and the total number of keys defined.

VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT Σ
VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL
VK_MENU VK_MENU VK_MENU VK_MENU VK_MENU VK_MENU
Vietnamese 60 60 10 2 48 48 228
Khmer 59 59 22 0 41 44 225
Myanmar (Phonetic order)
Myanmar (Visual order)
60 60 5 0 49 49 223
Inuktitut - Nattilik 60 60 9 3 45 45 222
Colemak 60 60 8 3 49 36 216
Cherokee Nation 59 59 5 0 46 44 213
French (Standard, AZERTY) 60 60 9 3 48 31 211
Dzongkha 59 58 5 0 46 41 209
French (Standard, BÉPO) 60 60 8 3 46 32 209
Inuktitut - Latin 60 60 6 0 42 40 208
Inuktitut - Naqittaut 60 60 6 0 42 39 207
United States-International 60 60 10 3 37 23 193
Greek Latin 60 60 10 2 37 23 192
Setswana
Sesotho sa Leboa
60 60 10 0 38 24 192
Canadian French (Legacy) 60 60 11 1 34 18 184
German Extended (E1) 60 60 8 3 49 1 181
German Extended (E2) 60 60 8 3 49 1 181
Turkish F 60 60 10 3 34 14 181
Tamil Anjal
English (India)
60 60 9 1 25 25 180
Swedish with Sami
Finnish with Sami
60 60 6 0 31 18 175
Latvian (QWERTY) 60 60 10 3 22 20 175
Hebrew (Standard) 60 60 10 0 35 9 174
Hungarian 101-key 60 60 9 3 42 0 174
Hungarian 60 60 11 2 41 0 174
Latvian 60 60 10 2 22 20 174
Norwegian with Sami 60 60 6 0 30 18 174
Sami Extended Finland-Sweden 60 60 6 0 31 17 174
Sinhala - Wij 9 59 58 6 0 42 9 174
Sami Extended Norway 60 60 6 0 30 17 173
Tibetan (PRC) - Updated 59 59 6 0 1 48 173
Tibetan (PRC) 59 59 6 0 1 48 173
Slovak 60 60 11 4 37 0 172
Hebrew (Standard, 2018) 60 60 10 0 32 9 171
Latvian (Standard) 60 60 10 0 21 19 170
Georgian (Old Alphabets) 60 60 6 0 29 14 169
Nepali 59 59 5 16 14 16 169
Slovak (QWERTY) 60 60 11 1 37 0 169
Armenian Phonetic 60 60 6 0 21 21 168
Devanagari - INSCRIPT 60 60 10 5 23 10 168
Igbo 60 60 10 0 21 17 168
Marathi 58 56 6 3 21 23 167
Czech 60 60 9 3 34 0 166
Czech (QWERTY) 60 60 11 0 23 12 166
Czech Programmers 60 60 11 0 23 12 166
Hindi Traditional 58 56 6 3 21 22 166
Pashto (Afghanistan) 59 59 5 0 43 0 166
Greek Polytonic 60 60 11 4 23 7 165
Armenian Typewriter 59 58 5 0 21 21 164
Javanese 59 54 10 0 26 15 164
Romanian (Standard) 60 60 6 0 26 12 164
Syriac Phonetic 60 60 8 0 36 0 164
Syriac 60 60 8 0 36 0 164
Albanian 60 60 11 1 31 0 163
Romanian (Legacy) 60 60 9 4 30 0 163
Standard
Slovenian
60 60 10 3 29 0 162
Estonian 60 60 11 1 16 14 162
Romanian (Programmers) 60 60 6 0 27 9 162
Polish (214) 60 60 10 3 27 0 160
ADLaM 60 60 5 0 22 12 159
Spanish Variation 60 60 10 1 28 0 159
Tatar (Legacy) 60 60 11 1 18 9 159
Canadian French 60 60 11 1 26 0 158
Turkish Q 60 60 10 3 23 2 158
Tatar 60 60 10 0 18 9 157
Serbian (Latin) 60 60 6 0 29 0 155
German (IBM) 60 60 9 2 12 11 154
Lithuanian 60 60 11 2 12 9 154
Polish (Programmers) 60 60 12 3 10 9 154
Greek 60 60 11 4 18 0 153
Portuguese (Brazil ABNT)
Portuguese (Brazil ABNT2)
62 62 11 3 14 0 152
Dutch 60 60 10 1 21 0 152
Greek (220) 60 60 9 4 19 0 152
Guarani 60 60 10 0 15 7 152
Osage 60 60 6 0 13 13 152
Georgian (MES) 60 60 6 0 25 0 151
United Kingdom Extended 60 60 6 0 14 11 151
Arabic (102) 60 60 10 6 7 7 150
Arabic (102) AZERTY 60 60 10 6 7 7 150
Belgian (Comma) 60 60 11 1 15 3 150
Belgian French
Belgian (Period)
60 60 11 1 15 3 150
Greek (220) Latin 60 60 10 4 16 0 150
Khmer (NIDA) 59 59 5 0 27 0 150
Scottish Gaelic 60 60 10 2 10 8 150
Lithuanian Standard 60 60 6 0 23 0 149
Sinhala 60 60 5 0 24 0 149
Luxembourgish
Swiss French
60 60 11 1 16 0 148
Swiss German 60 60 11 1 16 0 148
Faeroese 60 60 11 1 15 0 147
French (Legacy, AZERTY) 60 59 11 4 13 0 147
Irish 60 60 10 2 8 7 147
United Kingdom 60 60 10 3 8 6 147
Icelandic 60 60 11 1 14 0 146
Danish 60 60 11 1 13 0 145
Finnish 60 60 11 1 13 0 145
German 60 60 9 3 12 1 145
Greenlandic 60 60 6 0 17 2 145
Maltese 48-Key 60 60 6 0 10 9 145
Swedish 60 60 11 1 13 0 145
Bangla 56 51 5 3 21 8 144
Hausa 60 60 10 0 9 5 144
New Tai Lue 59 60 5 0 20 0 144
Norwegian 60 60 11 1 12 0 144
Yoruba 60 60 10 0 8 6 144
Macedonian 60 60 11 1 11 0 143
Sorbian Extended 60 60 6 0 17 0 143
Sorbian Standard (Legacy) 60 60 6 0 17 0 143
Spanish 60 60 10 1 12 0 143
Wolof 60 60 10 0 13 0 143
Central Atlas Tamazight 60 59 10 0 13 0 142
Hawaiian 60 60 10 0 6 6 142
Italian (142) 60 60 11 1 10 0 142
Macedonian - Standard 60 60 5 0 17 0 142
Maltese 47-Key 59 59 5 0 10 9 142
Odia 57 52 6 3 17 6 141
Georgian (Ergonomic) 60 27 6 0 28 19 140
Italian 60 60 11 1 6 2 140
Hebrew 60 60 10 4 6 0 140
Bosnian (Cyrillic) 60 60 6 0 13 0 139
Portuguese 60 60 7 1 11 0 139
Kyrgyz Cyrillic 60 60 8 3 4 3 138
Latin American 60 60 11 1 6 0 138
Sorbian Standard 60 60 6 0 12 0 138
Lithuanian IBM 60 60 10 2 5 0 137
Malayalam 58 53 5 3 11 7 137
Tifinagh (Extended) 60 60 5 0 12 0 137
Tamil 56 51 5 3 21 0 136
Telugu 57 52 6 3 15 3 136
Azerbaijani Cyrillic 60 60 10 3 2 0 135
Divehi Phonetic 60 60 9 0 6 0 135
Divehi Typewriter 60 60 9 0 6 0 135
Greek (319) 60 60 10 3 2 0 135
Kannada 57 52 6 3 13 4 135
Gujarati 57 53 6 3 12 3 134
Lao 59 59 6 0 10 0 134
Russian - Mnemonic 60 60 8 3 3 0 134
Ukrainian 60 60 11 1 1 1 134
Russian (Typewriter) 60 60 11 1 1 0 133
Georgian (Legacy) 60 60 6 0 6 0 132
Punjabi 55 48 6 3 17 3 132
Russian 60 60 8 3 1 0 132
Greek (319) Latin 60 60 9 1 1 0 131
Phags-pa 59 48 10 0 12 2 131
Georgian (QWERTY) 60 42 6 0 22 0 130
Serbian (Cyrillic) 60 60 6 0 3 0 129
Azerbaijani Latin 60 60 6 0 2 0 128
Turkmen 60 60 6 0 2 0 128
Ukrainian (Enhanced) 60 60 6 0 1 1 128
Bulgarian (Phonetic Traditional) 60 60 5 0 0 2 127
Sakha 60 60 6 0 1 0 127
Bashkir 59 59 6 0 1 0 125
Azerbaijani (Standard) 58 58 5 0 2 0 123
Tifinagh (Basic) 55 39 5 0 12 0 111
Tai Le 57 33 5 0 10 0 105
VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT Σ
VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL
Urdu 60 60 9 14 143
Arabic (101) 60 60 10 6 136
Persian 60 60 10 6 136
Bulgarian (Typewriter) 60 60 10 3 133
Central Kurdish 60 60 9 4 133
United States-Dvorak for left hand 60 60 10 3 133
United States-Dvorak for right hand 60 60 10 3 133
United States-Dvorak 60 60 10 3 133
KO Hangeul Keyboard Layout for 101 (Type A) 60 60 10 3 133
KO Hangeul Keyboard Layout for 101(Type B) 60 60 10 3 133
KO Hangeul Keyboard Layout for 101(Type C) 60 60 10 3 133
KO Hangeul Keyboard Layout for 103 60 60 10 3 133
Korean 60 60 10 3 133
Maori
NZ Aotearoa
60 60 10 3 133
Persian (Standard) 60 60 9 4 133
Bulgarian (Latin)
Chinese (Traditional) - US
US
Chinese (Simplified) - US
Chinese (Traditional, Hong Kong S.A.R.) - US
Chinese (Simplified, Singapore) - US
Chinese (Traditional, Macao S.A.R.) - US
60 60 10 3 133
US English Table for IBM Arabic 238_L 60 60 10 3 133
Kazakh 60 60 11 1 132
Thai Kedmanee (non-ShiftLock) 60 60 10 2 132
Thai Kedmanee 60 60 10 2 132
Thai Pattachote (non-ShiftLock) 60 60 10 2 132
Thai Pattachote 60 60 10 2 132
Belarusian 60 60 8 3 131
Mongolian Cyrillic 60 60 8 3 131
Uzbek Cyrillic 60 60 8 3 131
Bulgarian 60 60 6 0 126
Armenian Eastern (Legacy) 60 60 6 0 126
Tajik 60 60 6 0 126
Armenian Western (Legacy) 60 60 6 0 126
Bulgarian (Phonetic) 60 60 5 0 125
Tamil 99 59 58 8 0 125
Lisu (Standard) 60 56 5 0 121
N’Ko 60 55 6 0 121
Lisu (Basic) 60 55 5 0 120
Bangla - INSCRIPT 57 54 5 3 119
Cherokee Phonetic 55 55 9 0 119
Assamese - INSCRIPT 57 52 5 3 117
Traditional Mongolian (MNS) 59 50 6 0 115
Bangla - INSCRIPT (Legacy) 56 50 5 3 114
Osmanya 58 40 10 0 108
Buginese 60 37 10 0 107
Mongolian (Mongolian Script) 59 42 6 0 107
Traditional Mongolian (Standard) 59 41 6 0 106
Uyghur (Legacy) 59 40 5 0 104
Uyghur 59 40 5 0 104
Sora 59 34 9 1 103
Gothic 59 33 5 0 97
Ol Chiki 51 23 5 1 80
Futhark 46 20 5 0 71
Old Italic 39 23 5 0 67
Ogham 40 13 5 0 58