Keyboard layouts by shift states

As of Microsoft Windows NT 6.3.9600.0

By dead keysBy ligaturesBy SGCAPSBy UnicodeBy shift statesBy flagsTerminology
Sorting It All OutMSKLCkeyboard-layout-editor.com

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 Keyboard Layout 58 58 5 34 44 16 215
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 Stub driver 58 58 9 58 2 58 9 2 254

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 Keyboard Layout 58 58 9 2 48 48 223
Cambodian Standard Keyboard Layout 57 57 21 0 41 44 220
Myanmar Keyboard Layout 58 58 4 0 49 49 218
Norsk kyrillisk Keyboard Layout CUSTOM 58 58 4 0 48 44 212
Cherokee Nation Keyboard Layout 57 57 4 0 46 44 208
Norsk utvidet Juli2018 Keyboard Layout CUSTOM 58 58 5 1 49 34 205
Inuktitut Latin Keyboard Layout 58 58 5 0 42 40 203
Inuktitut Naqittaut Keyboard Layout 58 58 5 0 42 39 202
Greek_Latin Keyboard Layout 58 58 9 2 37 23 187
Sesotho sa Leboa Keyboard Layout 58 58 9 0 38 24 187
US Multinational Keyboard Layout 58 58 9 2 37 23 187
Canadian French Keyboard Layout 58 58 10 1 33 18 178
Turkish F Keyboard Layout 58 58 9 2 34 14 175
Finnish-Swedish with Sami Keyboard Layout 58 58 5 0 31 18 170
Hebrew Standard Keyboard Layout 58 58 9 0 35 9 169
Latvia Keyboard Layout 58 58 9 2 22 20 169
Norwegian with Sami Keyboard Layout 58 58 5 0 30 18 169
Sami Extended Finland-Sweden Keyboard Layout 58 58 5 0 31 17 169
Sinhala - Wij 9 Keyboard Layout 57 56 5 0 42 9 169
Hungarian 101-key Keyboard Layout 58 58 8 2 42 0 168
Hungarian Keyboard Layout 58 58 10 1 41 0 168
Sami Extended Norway Keyboard Layout 58 58 5 0 30 17 168
Tibetan (PRC) - Updated Keyboard Layout 57 57 5 0 1 48 168
Tibetan (PRC) Keyboard Layout 57 57 5 0 1 48 168
Latvia-QWERTY Keyboard Layout 58 58 9 2 21 19 167
Slovak Keyboard Layout 58 58 10 3 37 0 166
Latvian (Standard) Keyboard Layout 58 58 9 0 21 19 165
Georgian (Old Alphabets) Keyboard Layout 58 58 5 0 29 14 164
Slovak(QWERTY) Keyboard Layout 58 58 10 1 37 0 164
Armenian Phonetic Keyboard Layout 58 58 5 0 21 21 163
Devanagari Keyboard Layout 58 58 9 5 23 10 163
Igbo Keyboard Layout 58 58 9 0 21 17 163
Marathi Keyboard Layout 56 54 5 3 21 23 162
Czech_101 Keyboard Layout 58 58 10 0 23 12 161
Czech_Programmer's Keyboard Layout 58 58 10 0 23 12 161
Hindi Keyboard Layout 56 54 5 3 21 22 161
Pashto (Afghanistan) Keyboard Layout 57 57 4 0 43 0 161
Czech Keyboard Layout 58 58 8 2 34 0 160
Armenian Typewriter Keyboard Layout 57 56 4 0 21 21 159
Romanian (Standard) Keyboard Layout 58 58 5 0 26 12 159
Syriac Phoenetic Keyboard Layout 58 58 7 0 36 0 159
Syriac Standard Keyboard Layout 58 58 7 0 36 0 159
Albania Keyboard Layout 58 58 10 1 31 0 158
Greek_Polytonic Keyboard Layout 58 58 10 2 23 7 158
Estonia Keyboard Layout 58 58 10 1 16 14 157
Javanese Keyboard Layout 55 52 9 0 26 15 157
Romanian (Legacy) Keyboard Layout 58 58 8 3 30 0 157
Romanian (Programmers) Keyboard Layout 58 58 5 0 27 9 157
Croatian/Slovenian Keyboard Layout 58 58 9 2 29 0 156
Polish Keyboard Layout 58 58 9 2 27 0 154
Spanish Alernate Keyboard Layout 58 58 9 1 28 0 154
Canadian Multilingual Keyboard Layout 58 58 10 1 25 0 152
Turkish Q Keyboard Layout 58 58 9 2 23 2 152
Serbian (Latin) Keyboard Layout 58 58 5 0 29 0 150
Tatar (Legacy) Keyboard Layout 58 58 10 1 16 7 150
German_IBM Keyboard Layout 58 58 8 2 12 11 149
Lithuanian Keyboard Layout 58 58 9 2 12 9 148
Nepali Keyboard Layout 57 57 4 16 14 0 148
Polish Programmer's Keyboard Layout 58 58 11 2 10 9 148
Tatar Keyboard Layout 58 58 9 0 16 7 148
Dutch Keyboard Layout 58 58 9 1 21 0 147
Brazilian Keyboard Layout 60 60 10 2 14 0 146
Georgian (MES) Keyboard Layout 58 58 5 0 25 0 146
Greek IBM 220 Keyboard Layout 58 58 8 3 19 0 146
Greek Keyboard Layout 58 58 10 2 18 0 146
United Kingdom Extended Keyboard Layout 58 58 5 0 14 11 146
Belgian Dutch Keyboard Layout 58 58 10 1 15 3 145
Belgian Keyboard Layout 58 58 10 1 15 3 145
Khmer (NIDA) Keyboard Layout 57 57 4 0 27 0 145
Arabic_2 Keyboard Layout 58 57 9 6 7 7 144
Arabic_French_102 Keyboard Layout 58 57 9 6 7 7 144
Greek IBM 220 Latin Keyboard Layout 58 58 9 3 16 0 144
Lithuanian Standard Keyboard Layout 58 58 5 0 23 0 144
Sinhala Keyboard Layout 58 58 4 0 24 0 144
Scottish Gaelic (United Kingdom) Keyboard Layout 58 58 9 2 9 7 143
Swiss French Keyboard Layout 58 58 10 1 16 0 143
Swiss German Keyboard Layout 58 58 10 1 16 0 143
Færoese Keyboard Layout 58 58 10 1 15 0 142
Irish Keyboard Layout 58 58 9 2 8 7 142
French Keyboard Layout 58 57 9 4 13 0 141
Icelandic Keyboard Layout 58 58 10 1 14 0 141
United Kingdom Keyboard Layout 58 58 9 2 8 6 141
Danish Keyboard Layout 58 58 10 1 13 0 140
Finnish Keyboard Layout 58 58 10 1 13 0 140
Greenlandic Keyboard Layout 58 58 5 0 17 2 140
Maltese 48-key Keyboard Layout 58 58 5 0 10 9 140
Swedish Keyboard Layout 58 58 10 1 13 0 140
Bengali Keyboard Layout 54 49 4 3 21 8 139
German Keyboard Layout 58 58 8 2 12 1 139
Hausa Keyboard Layout 58 58 9 0 9 5 139
New Tai Leu Keyboard Layout 57 58 4 0 20 0 139
Norwegian Keyboard Layout 58 58 10 1 12 0 139
Yoruba Keyboard Layout 58 58 9 0 8 6 139
Macedonian (FYROM) Keyboard Layout 58 58 10 1 11 0 138
Sorbian Extended Keyboard Layout 58 58 5 0 17 0 138
Sorbian Standard (Legacy) Keyboard Layout 58 58 5 0 17 0 138
Spanish Keyboard Layout 58 58 9 1 12 0 138
Wolof Keyboard Layout 58 58 9 0 13 0 138
Central Atlas Tamazight Keyboard Layout 58 57 9 0 13 0 137
Hawaiian Keyboard Layout 58 58 9 0 6 6 137
Italian 142 Keyboard Layout 58 58 10 1 10 0 137
Macedonian (FYROM) - Standard Keyboard Layout 58 58 4 0 17 0 137
Maltese 47-key Keyboard Layout 57 57 4 0 10 9 137
Odia Keyboard Layout 55 50 5 3 17 6 136
Georgian (Ergonomic) Keyboard Layout 58 25 5 0 28 19 135
Italian Keyboard Layout 58 58 10 1 6 2 135
KBDHEB Keyboard Layout 58 58 9 4 6 0 135
Bosnian (Cyrillic) Keyboard Layout 58 58 5 0 13 0 134
Portuguese Keyboard Layout 58 58 6 1 11 0 134
Guarani Keyboard Layout 58 58 9 0 7 1 133
Latin-American Spanish Keyboard Layout 58 58 10 1 6 0 133
Sorbian Standard Keyboard Layout 58 58 5 0 12 0 133
Lithuania Keyboard Layout 58 58 9 2 5 0 132
Malayalam Keyboard Layout Keyboard Layout 56 51 4 3 11 7 132
Tifinagh (Extended) Keyboard Layout 58 58 4 0 12 0 132
Kyrgyz Keyboard Layout 58 58 7 2 3 3 131
Tamil Keyboard Layout 54 49 4 3 21 0 131
Telugu Keyboard Layout 55 50 5 3 15 3 131
Divehi Phonetic Keyboard Layout 58 58 8 0 6 0 130
Divehi Typewriter Keyboard Layout 58 58 8 0 6 0 130
Kannada Keyboard Layout 55 50 5 3 13 4 130
Azerbaijan_Cyrillic Keyboard Layout 58 58 9 2 2 0 129
Greek IBM 319 Keyboard Layout 58 58 9 2 2 0 129
Gujarati Keyboard Layout 55 51 5 3 12 3 129
Lao Standard Keyboard Layout 57 57 5 0 10 0 129
Ukrainian Keyboard Layout 58 58 10 1 1 1 129
English - India Keyboard Layout 58 58 8 3 1 0 128
Russia(Typewriter) Keyboard Layout 58 58 10 1 1 0 128
Russian - Mnemonic Keyboard Layout 58 58 7 2 3 0 128
Georgian Keyboard Layout 58 58 5 0 6 0 127
Punjabi/Gurmukhi Keyboard Layout 53 46 5 3 17 3 127
Phags-pa Keyboard Layout 57 46 9 0 12 2 126
Russian Keyboard Layout 58 58 7 2 1 0 126
Georgian (QWERTY) Keyboard Layout 58 40 5 0 22 0 125
Greek IBM 319 Latin Keyboard Layout 58 58 7 0 1 0 124
Serbian (Cyrillic) Keyboard Layout 58 58 5 0 3 0 124
Azeri-Latin Keyboard Layout 58 58 5 0 2 0 123
Turkmen Keyboard Layout 58 58 5 0 2 0 123
Ukrainian (Enhanced) Keyboard Layout 58 58 5 0 1 1 123
Bulgarian (Phonetic Traditional) Keyboard Layout 58 58 4 0 0 2 122
Sakha - Russia Keyboard Layout 58 58 5 0 1 0 122
Bashkir Keyboard Layout 57 57 5 0 1 0 120
Azerbaijani (Standard) Keyboard Layout 56 56 4 0 2 0 118
Tifinagh (Basic) Keyboard Layout 53 37 4 0 12 0 106
Tai Le Keyboard Layout 55 31 4 0 10 0 100
VK_SHIFT VK_SHIFT VK_SHIFT VK_SHIFT Σ
VK_CONTROL VK_CONTROL VK_CONTROL VK_CONTROL
Urdu Keyboard Layout 58 58 8 14 138
Arabic_English_101 Keyboard Layout 58 58 9 6 131
Persian Keyboard Layout 58 58 9 6 131
Central Kurdish Keyboard Layout 58 58 8 4 128
Persian Standard Keyboard Layout 58 58 8 4 128
Bulgarian (Typewriter) Keyboard Layout 58 58 9 2 127
Dvorak Left-Hand US English Keyboard Layout 58 58 9 2 127
Dvorak Right-Hand US English Keyboard Layout 58 58 9 2 127
Dvorak US English Keyboard Layout 58 58 9 2 127
Kazak_Cyrillic Keyboard Layout 58 58 10 1 127
KO Hangeul Keyboard Layout Stub driver 58 58 9 2 127
Maori Keyboard Layout 58 58 9 2 127
Thai Kedmanee (non-ShiftLock) Keyboard Layout 58 58 9 2 127
Thai Kedmanee Keyboard Layout 58 58 9 2 127
Thai Pattachote (non-ShiftLock) Keyboard Layout 58 58 9 2 127
Thai Pattachote Keyboard Layout 58 58 9 2 127
United States Keyboard Layout 58 58 9 2 127
US IBM Arabic 238_L Keyboard Layout 58 58 9 2 127
Belarusian Keyboard Layout 58 58 7 2 125
Mongolian Keyboard Layout 58 58 7 2 125
Uzbek_Cyrillic Keyboard Layout 58 58 7 2 125
Bulgarian Keyboard Layout 58 58 5 0 121
Eastern Armenian Keyboard Layout 58 58 5 0 121
Tajik Keyboard Layout 58 58 5 0 121
Western Armenian Keyboard Layout 58 58 5 0 121
Bulgarian Phonetic Keyboard Layout 58 58 4 0 120
Lisu Standard Keyboard Layout 58 54 4 0 116
Lisu Basic Keyboard Layout 58 53 4 0 115
Bengali (Inscript) Keyboard Layout 55 52 4 3 114
Cherokee Phonetic Keyboard Layout 53 53 8 0 114
Assamese (Inscript) Keyboard Layout 55 50 4 3 112
N'Ko Keyboard Layout 58 48 5 0 111
Bengali - Inscript (Legacy) Keyboard Layout 54 48 4 3 109
Osmanya Keyboard Layout 56 38 9 0 103
Buginese Keyboard Layout 58 35 9 0 102
Mongolian (Mongolian Script) Keyboard Layout 57 40 5 0 102
Traditional Mongolian (Standard) Keyboard Layout 57 39 5 0 101
Uyghur (Legacy) Keyboard Layout 57 38 4 0 99
Uyghur Keyboard Layout 57 38 4 0 99
Sora Keyboard Layout 57 32 8 1 98
Gothic Keyboard Layout 57 31 4 0 92
Ol Chiki Keyboard Layout 49 21 4 1 75
Futhark Keyboard Layout 44 18 4 0 66
Old Italic Keyboard Layout 37 21 4 0 62
Ogham Keyboard Layout 38 11 4 0 53