Keyboard layouts with dead keys

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

The dead key mechanism in keyboard layouts is rooted in European typewriters. One would type the accent character and the typewriter's head would not advance, then one would type the base character and it would. The term dead key refers to the fact that the position is not advanced after typing the diacritic mark.

If you are used to Unicode then you know that one first types the base character and then the diacritic. If you are used to typewriters, you expect to see the diacritic. And in both cases you expect that what is finally produced is always made up of the constituent parts that were typed.

In keyboard layouts on Windows, none of these assumptions are true. Nothing is visible after typing the dead key. The layout defines what is to appear when the combination of the dead key and the base character is typed and there is no rule guiding what must appear.

This is a mechanism that is very easy and intuitive if you know about it, otherwise it is as confusing as hell.

(from Dead keys are not intuitive)

Layouts with simple dead keys

75 layouts ordered by the number of dead keys. Legend:

accent
base character
composed character

Greek_Polytonic Keyboard Layout (used by Greek Polytonic)

-
 .αΑιΙυΥ
-¯
_
 .αΑιΙυΥ
_˘
=
 .αΑηΗιΙυωΩ
=
+
 .αΑηΗιΙυΥωΩ
+Ἷ
½
 αΑηΗωΩ
½
αΑηΗωΩ
;
 .αΑεΕηΗιΙοΟυΥωΩ
;
:
 .ιΙυΥ
:¨ϊΪϋΫ
αηω
΅
 .ιυ
΅΅ΐΰ
[
 .αηιυω
[
{
 .αΑηΗωΩ
{
«
 αηω
«
]
 .αΑεΕηΗιΙοΟυΥωΩ
]
}
 .
}·
»
 αηω
»
΄
 .αΑεΕηΗιΙοΟυΥωΩ
΄΄άΆέΈήΉίΊόΌύΎώΏ
¨
 .ιΙυΥ
¨¨ϊΪϋΫ
'
 .αΑεΕηΗιΙοΟρυωΩ
'᾿
"
 .αΑεΕηΗιΙοΟρΡυΥωΩ
"
᾿
αΑηΗωΩ
αΑηΗωΩ
~
 .ιυ
~
`
 .ιυ
`
 .ιυ
\
 .αΑεΕηΗιΙοΟυωΩ
\
|
 .αΑεΕηΗιΙοΟυΥωΩ
|
¬
 αΑηΗωΩ
¬
αΑηΗωΩ
/
 .αΑεΕηΗιΙοΟυωΩ
/
?
 .αΑεΕηΗιΙοΟυΥωΩ
?
αΑηΗωΩ
αΑηΗωΩ

Canadian Multilingual Standard Keyboard Layout (used by Canadian Multilingual Standard)

¸
 cCgGkKlLnNrRsStT
¸çÇģĢķĶļĻņŅŗŖşŞţŢ
˛
 aAeEiIuU
˛ąĄęĘįĮųŲ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
˚
 aAuU
˚åÅůŮ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
¯
 aAeEiIoOuU
¯āĀēĒīĪōŌūŪ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
˘
 aAgGuU
˘ăĂğĞŭŬ
·
 cCeEgGIzZ
·ċĊėĖġĠİżŻ

Romanian (Programmers) Keyboard Layout (used by Romanian (Programmers))

~
 
~
ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
˙
 zZ
·żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
¸
 cCsStT
¸çÇşŞţŢ

Romanian (Standard) Keyboard Layout (used by Romanian (Standard))

~
 
~
ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
˙
 zZ
·żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
¸
 cCsStT
¸çÇşŞţŢ

Czech Keyboard Layout (used by Czech)

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
˘
 aAgG
˘ăĂğĞ
°
 aAuU
°åÅůŮ
˛
 aAeEiIuU
˛ąĄęĘįĮųŲ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
˙
 eEiIzZ
·ėĖıİżŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
¸
 cCgGkKlLnNrRsStT
¸çÇģĢķĶļĻņŅŗŖşŞţŢ

Serbian (Latin) Keyboard Layout (used by Serbian (Latin))

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
˙żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsS
¸çÇşŞ
 cCsS
çÇşŞ

Albania Keyboard Layout (used by Albanian)

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
˙żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsStT
¸çÇşŞţŢ

Croatian/Slovenian Keyboard Layout (used by Slovenian)

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
˙żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsS
¸çÇşŞ

Hungarian Keyboard Layout (used by Hungarian)

ˇ
 cCdDeEnNrRsStTzZ
ˇčČďĎěĚňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
˙żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsStT
¸çÇşŞţŢ

Polish Keyboard Layout (used by Polish (214))

ˇ
 cCdDeEnNrRsStTzZ
ˇčČďĎěĚňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
·
 zZ
·żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsStT
¸çÇşŞţŢ

Romanian (Legacy) Keyboard Layout (used by Romanian (Legacy))

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
·
 zZ
·żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsStT
¸çÇșȘţŢ

Slovak Keyboard Layout (used by Slovak)

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
·żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAoOuU
¨äÄöÖüÜ
¸
 cCsStT
¸çÇşŞţŢ

Slovak(QWERTY) Keyboard Layout (used by Slovak (QWERTY))

ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAiIoO
^âÂîÎôÔ
˘
 aA
˘ăĂ
°
 uU
°ůŮ
˛
 aAeE
˛ąĄęĘ
˙
 zZ
˙żŻ
´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
˝
 oOuU
˝őŐűŰ
¨
 aAeEoOuU
¨äÄëËöÖüÜ
¸
 cCsStT
¸çÇşŞţŢ

Russian - Mnemonic Keyboard Layout (used by Russian - Mnemonic)

ы
 аеоу
ыяэёю
Ы
 аАеЕоОуУ
ЫЯЯЭЭЁЁЮЮ
с
 хц
сшщ
С
 хХцЦ
СШШЩЩ
й
 аеоу
йяэёю
Й
 аАеЕоОуУ
ЙЯЯЭЭЁЁЮЮ
¨
 ¨аАбБгГеЕзЗиИоОсСуУцЦшШыЫ
¨`эЭъЪѓЃёЁжЖїЇёЁшШюЮчЧщЩўЎ
ц
 х
цч
Ц
 хХ
ЦЧЧ

Canadian French Keyboard Layout (used by Canadian French (Legacy))

¸
cC
çÇ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Czech_101 Keyboard Layout (used by Czech (QWERTY))

´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
°
 aAuU
°åÅůŮ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
˝
 oOuU
˝őŐűŰ

Czech_Programmer's Keyboard Layout (used by Czech Programmers)

´
 aAcCeEiIlLnNoOrRsSuUyYzZ
´áÁćĆéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
ˇ
 cCdDeElLnNrRsStTzZ
ˇčČďĎěĚľĽňŇřŘšŠťŤžŽ
°
 aAuU
°åÅůŮ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
˝
 oOuU
˝őŐűŰ

Dutch Keyboard Layout (used by Dutch)

~
 aAnNoO
~ãÃñÑõÕ
¸
 cC
¸çÇ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Sami Extended Finland-Sweden Keyboard Layout (used by Sami Extended Finland-Sweden)

´
 aAåÅæÆcCeEiIlLnNoOøØrRsSuUwWyYzZ
´áÁǻǺǽǼćĆéÉíÍĺĹńŃóÓǿǾŕŔśŚúÚýÝźŹ
`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ
ˇ
 cCdDeEgGhHkKlLnNrRsStTzZʒƷ
ˇčČďĎěĚǧǦȟȞǩǨľĽňŇřŘšŠťŤžŽǯǮ

Sami Extended Norway Keyboard Layout (used by Sami Extended Norway)

`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
´
 aAåÅæÆcCeEiIlLnNoOøØrRsSuUwWyYzZ
´áÁǻǺǽǼćĆéÉíÍĺĹńŃóÓǿǾŕŔśŚúÚýÝźŹ
¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ
ˇ
 cCdDeEgGhHkKlLnNrRsStTzZʒƷ
ˇčČďĎěĚǧǦȟȞǩǨľĽňŇřŘšŠťŤžŽǯǮ

Belgian Dutch Keyboard Layout (used by Belgian (Comma))

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

Belgian Keyboard Layout (used by Belgian (Period))

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

Brazilian Keyboard Layout (used by Portuguese (Brazil ABNT2))

¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

Canadian Multilingual Keyboard Layout (used by Canadian French)

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
¸
 cC
¸çÇ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ

Danish Keyboard Layout (used by Danish)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ

Estonia Keyboard Layout (used by Estonian)

´
 cCeEnNoOsSzZ
´ćĆéÉńŃóÓśŚźŹ
`
 aAeEoOuU
`àÀèÈòÒùÙ
^
 aAeEgGiIuU
^âÂêÊĝĜîÎûÛ
ˇ
 cCsSzZ
ˇčČšŠžŽ
~
 oO
~õÕ

Færoese Keyboard Layout (used by Faeroese)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
~
 aAnNoO
~ãÃñÑõÕ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

Finnish Keyboard Layout (used by Finnish)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ

Finnish-Swedish with Sami Keyboard Layout (used by Finnish with Sami)

´
 aAåÅæÆcCeEiIlLnNoOøØrRsSuUwWyYzZ
´áÁǻǺǽǼćĆéÉíÍĺĹńŃóÓǿǾŕŔśŚúÚýÝźŹ
`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ

Greek IBM 319 Latin Keyboard Layout (used by Greek (319) Latin)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Greek_Latin Keyboard Layout (used by Greek Latin)

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
´
 aAcCeEiIoOuUyY
´áÁçÇéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUyY
¨äÄëËïÏöÖüÜÿŸ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

Greenlandic Keyboard Layout (used by Greenlandic)

´
 aAåÅæÆcCeEiIlLnNoOøØrRsSuUwWyYzZ
´áÁǻǺǽǼćĆéÉíÍĺĹńŃóÓǿǾŕŔśŚúÚýÝźŹ
`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ

Guarani Keyboard Layout (used by Guarani)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
~
 aAeEiIoOuUyY
~ãÃĩĨõÕũŨ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Icelandic Keyboard Layout (used by Icelandic)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
°
 aA
°åÅ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Norwegian Keyboard Layout (used by Norwegian)

`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ

Norwegian with Sami Keyboard Layout (used by Norwegian with Sami)

`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
´
 aAåÅæÆcCeEiIlLnNoOøØrRsSuUwWyYzZ
´áÁǻǺǽǼćĆéÉíÍĺĹńŃóÓǿǾŕŔśŚúÚýÝźŹ
¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAcCeEgGhHiIjJoOsSuUwWyY
^âÂĉĈêÊĝĜĥĤîÎĵĴôÔŝŜûÛŵŴŷŶ
~
 aAiInNoOuU
~ãÃĩĨñÑõÕũŨ

Portuguese Keyboard Layout (used by Portuguese)

¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

Sesotho sa Leboa Keyboard Layout (used by Sesotho sa Leboa)

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
'
 aAcCeEiIoOuUyY
'áÁçÇéÉíÍóÓúÚýÝ
"
 aAeEiIoOuUy
"äÄëËïÏöÖüÜÿ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

Spanish Alernate Keyboard Layout (used by Spanish Variation)

¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
´
 aAeEiIoOuUy
´áÁéÉíÍóÓúÚý
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

Spanish Keyboard Layout (used by Spanish)

~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ

Swedish Keyboard Layout (used by Swedish)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
~
 aAnNoO
~ãÃñÑõÕ

Swiss French Keyboard Layout (used by Swiss French)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ
¨
 aAeEiIoOuUy
"äÄëËïÏöÖüÜÿ

Swiss German Keyboard Layout (used by Swiss German)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ

Turkish F Keyboard Layout (used by Turkish F)

^
 aAeEiIıİoOuU
^âÂêÊîÎîÎôÔûÛ
¨
 aAeEiIıİoOuUy
¨äÄëËïÏïÏöÖüÜÿ
~
 aAnNoO
~ãÃñÑõÕ
´
 aAeEiIıİoOuU
´áÁéÉíÍíÍóÓúÚ
`
 aAeEiIıİoOuU
`àÀèÈìÌìÌòÒùÙ

Turkish Q Keyboard Layout (used by Turkish Q)

^
 aAeEiIıİoOuU
^âÂêÊîÎîÎôÔûÛ
¨
 aAeEiIıİoOuU
¨äÄëËïÏïÏöÖüÜ
~
 aAnNoO
~ãÃñÑõÕ
´
 aAeEiIıİoOuU
´áÁéÉíÍíÍóÓúÚ
`
 aAeEiIıİoOuU
`àÀèÈìÌìÌòÒùÙ

United Kingdom Extended Keyboard Layout (used by United Kingdom Extended)

¨
 aAeEiIoOuUwWyY
¨äÄëËïÏöÖüÜÿŸ
^
 aAeEiIoOuUwWyY
^âÂêÊîÎôÔûÛŵŴŷŶ
´
 aAeEiIoOuUwWyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuUwWyY
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

US Multinational Keyboard Layout (used by United States-International)

^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
'
 aAcCeEiIoOuUyY
'áÁçÇéÉíÍóÓúÚýÝ
"
 aAeEiIoOuUy
"äÄëËïÏöÖüÜÿ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
~
 aAnNoO
~ãÃñÑõÕ

Central Atlas Tamazight Keyboard Layout (used by Central Atlas Tamazight)

~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAcCdDgGhHjJlLrRsStTwzZ
^ɛƐčČɣƔǧǦřŘʷ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ

French Keyboard Layout (used by French)

~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ

Latin-American Spanish Keyboard Layout (used by Latin American)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Latvia Keyboard Layout (used by Latvian)

~
 oO
~õÕ
´
 cCeEnNoOsSzZ
´ćĆéÉńŃóÓśŚźŹ
°
 aAeEgzZ
°åÅėĖġżŻ
¨
 aAoOuU
¨äÄöÖüÜ

Latvian (Standard) Keyboard Layout (used by Latvian (Standard))

'
- $%&*_`1236aAcCeEgGiIkKlLnNoOrRsSuUzZ
'§°±×SHY-NBSP«»āĀčČēĒģĢīĪķĶļĻņŅōŌŗŖšŠūŪžŽ
"
- $%&*_4578aAcCeEgGiIkKlLnNoOrRsSuUzZ
"§°±×§°±×ĀĀČČĒĒĢĢĪĪĶĶĻĻŅŅŌŌŖŖŠŠŪŪŽŽ
´
- $%&*_`1236aAcCeEgGiIkKlLnNoOrRsSuUzZ
´§°±×SHY-NBSP«»āĀčČēĒģĢīĪķĶļĻņŅōŌŗŖšŠūŪžŽ
¨
- $%&*_4578aAcCeEgGiIkKlLnNoOrRsSuUzZ
¨§°±×§°±×ĀĀČČĒĒĢĢĪĪĶĶĻĻŅŅŌŌŖŖŠŠŪŪŽŽ

Latvia-QWERTY Keyboard Layout (used by Latvian (QWERTY))

´
 cCeEnNoOsSzZ
´ćĆéÉńŃóÓśŚźŹ
¨
 aAoOuU
¨äÄöÖüÜ
~
 oO
~õÕ
°
 aAeEgzZ
°åÅėĖġżŻ

Sorbian Extended Keyboard Layout (used by Sorbian Extended)

´
 aAcCdDeEiIlLnNoOrRsSuUyYzZ
´áÁćĆđĐéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
`
 aAcCeEoOsSuU
'ąĄçÇęĘőŐşŞűŰ
^
 cCdDeElLnNoOrRsStTzZ
ˇčČďĎěĚľĽňŇôÔřŘšŠťŤžŽ
°
 eEsuUzZ
˙ėĖſůŮżŻ

Sorbian Standard (Legacy) Keyboard Layout (used by Sorbian Standard (Legacy))

´
 aAcCdDeEiIlLnNoOrRsSuUyYzZ
´áÁćĆđĐéÉíÍĺĹńŃóÓŕŔśŚúÚýÝźŹ
`
 aAcCeEiIoOsSuU
'àÀçÇèÈìÌòÒşŞùÙ
^
 cCdDeElLnNoOrRsStTzZ
^čČďĎěĚľĽňŇÔôřŘšŠťŤžŽ
°
 eEsuUzZ
̇ėĖſůŮżŻ

Wolof Keyboard Layout (used by Wolof)

~
 aAnNoO
~ãÃñÑõÕ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ
¨
 aAeEiIoOuUy
¨äÄëËïÏöÖüÜÿ

German Keyboard Layout (used by German)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

German_IBM Keyboard Layout (used by German (IBM))

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 aAeEiIoOuU
^âÂêÊîÎôÔûÛ

Greek IBM 220 Keyboard Layout (used by Greek (220))

΄
 αΑεΕηΗιΙοΟυΥωΩ
΄άΆέΈήΉίΊόΌύΎώΏ
¨
 ιΙυΥ
¨ϊΪϋΫ
΅
 ιυ
΅ΐΰ

Greek IBM 220 Latin Keyboard Layout (used by Greek (220) Latin)

΄
 αΑεΕηΗιΙοΟυΥωΩ
΄άΆέΈήΉίΊόΌύΎώΏ
¨
 ιΙυΥ
¨ϊΪϋΫ
΅
 ιυ
΅ΐΰ

Greek IBM 319 Keyboard Layout (used by Greek (319))

΄
 αΑεΕηΗιΙοΟυΥωΩ
΄άΆέΈήΉίΊόΌύΎώΏ
¨
 ιΙυΥ
¨ϊΪϋΫ
΅
 ιυ
΅ΐΰ

Greek Keyboard Layout (used by Greek)

΅
 ιυ
΅ΐΰ
΄
 αΑεΕηΗιΙοΟυΥωΩ
΄άΆέΈήΉίΊόΌύΎώΏ
¨
 ιΙυΥ
¨ϊΪϋΫ

Igbo Keyboard Layout (used by Igbo)

^
 aAeEiIoOuU
^āĀēĒīĪōŌūŪ
`
 aAeEiInNoOuU
`àÀèÈìÌǹǸòÒùÙ
~
 aAeEiImMnNoOuU
~áÁéÉíÍḿńŃóÓúÚ

Sorbian Standard Keyboard Layout (used by Sorbian Standard)

´
 cClLnNoOrRsSzZ
´ćĆłŁńŃóÓŕŔśŚźŹ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ
^
 cCeErRsSzZ
^čČěĚřŘšŠžŽ

Yoruba Keyboard Layout (used by Yoruba)

[
 aAeEiInNoOuU
[àÀèÈìÌǹǸòÒùÙ
'
 aAeEiInNoOuU
'áÁéÉíÍńŃóÓúÚ
\
 eEoOsS
\

Futhark Keyboard Layout (used by Futhark)

\
 
~
|
 
|

Irish Keyboard Layout (used by Irish)

´
 aAeEiIoOuUyY
´áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Scottish Gaelic (United Kingdom) Keyboard Layout (used by Scottish Gaelic)

'
 aAeEiIoOuUyY
'áÁéÉíÍóÓúÚýÝ
`
 aAeEiIoOuU
`àÀèÈìÌòÒùÙ

Tibetan (PRC) - Updated Keyboard Layout (used by Tibetan (PRC) - Updated)

m
m
ཿ
M
mM

Tibetan (PRC) Keyboard Layout (used by Tibetan (PRC))

m
m
ཿ
M
mM

Bosnian (Cyrillic) Keyboard Layout (used by Bosnian (Cyrillic))

'
 гГкК
'ѓЃќЌ

Inuktitut Naqittaut Keyboard Layout (used by Inuktitut - Naqittaut)

]

Maori Keyboard Layout (used by Maori)

`
 `aAeEiIoOuU
~`āĀēĒīĪōŌūŪ

Polish Programmer's Keyboard Layout (used by Polish (Programmers))

~
 aAcCeElLnNoOsSxXzZ
~ąĄćĆęĘłŁńŃóÓśŚźŹżŻ

Serbian (Cyrillic) Keyboard Layout (used by Serbian (Cyrillic))

'
 гГкК
'ѓЃќЌ

Layouts with chained dead keys

Dead keys can also be chained, where a dead key plus a base character will treat the combination as another dead key waiting for yet a third base character. One could then chain that as well, and so on — adding more and more keystrokes to produce in the end a single code point.

Cherokee Phonetic Keyboard Layout (used by Cherokee Phonetic)

Reachable within 1 key press:

q
 
Α
Q
 
Α
w
 
W
 
t
 iIlLsS
ΛΛΒΒΓΓ
T
 lLsS
ΒΒΓΓ
y
 
Y
 
s
 `xX
S
 `xX
d
 dDlLsS
ΛΛΔΔΘΘ
D
 dDlLsS
ΛΛΔΔΘΘ
g
 hHwW
ΚΚΖΖ
G
 hHwW
ΚΚΖΖ
h
 nN
ΕΕ
H
 nN
ΕΕ
j
 
J
 
k
 hHwW
ΙΙΗΗ
K
 hHwW
ΙΙΗΗ
l
 
L
 
x
 
x
X
 
X
c
 
C
 
n
 hH
N
 hH
m
 
M
 

Reachable within 2 key presses:

Α
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Β
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Γ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Λ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Δ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Θ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Ζ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Κ
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Ε
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Η
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
Ι
'- !"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY
'-!"#$%&()*,./:;?@[\]^_`{|}~+<=>0123456789cCdDgGhHkKlLmMnNqQsStTwWxXyY

Developer notes

You can use ToUnicodeEx to detect dead keys (returns -1). For chained dead keys, you can obtain the final character by calling the function multiple times for each dead key pressed. However, it isn't possible to distinguish the chained lookup tables inbetween.

Michael has discussed dead keys in Part #7 and chained dead keys in Part #10a of his Getting all you can out of a keyboard layout series.

Both French and German keyboard layouts in the Windows driver samples show how to define simple dead keys at the driver level.