A layout that makes it possible to write in multiple languages without switching between them. It also has a lot of useful symbols.
It was originally private for a few years, updated whenever I needed new symbols.
I finally decided to make it public, and I'm planning to keep on using it as my daily keyboard layout.
If you think there's something missing, please feel free to make an issue,
but I cannot promise a fast response. :sweat_smile:
It only supports the Latin script and a lot of combining diacritics. Standard letters without diacritics are omitted for the sake of clarity.
Language | Supported letters | Missing letters | Support |
---|---|---|---|
English | Full | ||
Spanish | Áá, Éé, Íí, Ññ, Óó, Úú, Üü | Full | |
French | Àà, Ââ, Ææ, Çç, Éé, Èè, Êê, Ëë, Îî, Ïï, Ôô, Œœ, Ùù, Ûû, Üü, Ÿÿ | Full | |
Portuguese | Áá, Ââ, Ãã, Àà, Çç, Éé, Êê, Íí, Óó, Ôô, Õõ, Úú | Full | |
Indonesian | Full | ||
German | Ää, Öö, Üü, ẞß | Full |
Language | Romanization | Supported letters | Missing letters | Support |
---|---|---|---|---|
Japanese | Hepburn | Āā, Ēē, Īī, Ōō, Ūū | Full |
The full list of languages with the Latin script has to be finished.
Language | Supported letters | Missing letters | Support | |
---|---|---|---|---|
Acehnese | Éé, Èè, Ëë, Ôô, Öö | Full | ||
Afar | Full | |||
Afrikaans | Áá, Ää, Éé, Èè, Êê, Ëë, Íí, Îî, Ïï, Óó, Ôô, Öő, Úú, Ûû, Üü, Ýý | Full | ||
Albanian | Ëë, Çç | Full | ||
Aragonese | Áá, Éé, Íí, Óó, Úú, Üü | Full | ||
Asturian | Ññ | (Ḥḥ, Ḷḷ) | Major | Dialectal letters with underdots unsupported |
Aymara | Ää, Ïï, Üü | Full | ||
Azerbaijani | Çç, Əə, Ğğ, İi, Öö, Şş, Üü | Iı | Partial | Small dotless i unsupported |
Bai | Full | |||
Banjarese | Éé | Full | ||
Basque | Çç, Üü, Ññ | Full | ||
Belarusian (Łacinka) | Ćć, Čč, Łł, Ńń, Śś, Šš, Ŭŭ, Źź, Žž | Full | ||
Betawi | Ññ, ʔ | Full | ||
Berber | Čč | Ḍḍ, Ɛɛ, Ǧǧ, Ɣɣ, Ḥḥ, Řř, Ṛṛ, Ṣṣ, Ṭṭ, Ẓẓ, ʷ | Limited | Underdot unsupported Latin epsilon unsupported Caron support limited Labialization mark unsupported |
Bislama | Full | |||
Boholano | Full | |||
Bosnian | Ćć, Čč, Šš, Žž | Đđ | Partial | Stroke unsupported |
Breton | Ââ, Êê, Îî, Ôô, Ûû, Ùù, Üü, Ññ | Full | ||
Catalan | Àà, Éé, Èè, Íí, Ïï, Óó, Òò, Úú, Üü, Çç | Full | ||
Cebuano | Full | |||
Chamorro | Ññ | ʼ, Åå, | Limited | Modifier apostrophe letter unsupported Overring unsupported |
Cherokee | Full | |||
Cornish | Full | |||
Corsican | Full | |||
Croatian | Ćć, Čč, Šš, Žž | Đđ | Partial | Stroke unsupported |
Cree | â, ā, ð, ê, ē, î, ī, ñ, ô, ō, š, ý | Full | ||
Czech | Áá, Čč, Éé, Íí, Óó, Úú, Ýý, Žž | Ďď, Ňň, Řř, Šš, Ťť, Ůů | Limited | Caron support limited Overring unsupported |
Danish | Ææ | Øø, Åå | Limited | Stroke unsupported Overring unsupported |
[ to be continued ]
[ to be continued ]
Pre-built binaries are planned to be provided in the future in the Releases section.
Then, you'll be able to download it and install it by following the steps in the Installation section.
You need to have MSKLC 1.4 installed. You can download it from here.
Tested only on Windows 11, but should work on Windows 10 and earlier as well.
MSKLC is a quite archaic piece of software, but Microsoft doesn't seem to have
any plans to update it, so it'll have to do.
multilingual.klc
file using MSKLC.Project
→Build DLL and Setup Package
.Documents\multilin
.:warning: Warning: Building will fail if the layout is already installed. You need to uninstall it first using the provided steps to build it.
:warning: Warning: Building the layout using MSKLC will fail if the appdata directory is not set to the default path. In this case, you have to build the layout manually using the method below.
MSKLC provides several CLI tools in its /bin/i386
directory. To build the
layout manually, you need to use the kbdutool
tool.
kbdutool.exe -wu <layout path>
where -w
displays extended warnings, -u
forces Unicode support.
It builds the DLL for x86 by default (or if you pass the -x
flag). You can override
this behavior by using -i
for IA64, -m
for AMD64, -o
for WOW64, or you can
use -s
to generate C source files without building them.
setup.exe
,
several .msi
files, and directories with .dll
files.setup.exe
and follow the
on-screen instructions. Alternatively, you can run the .msi
file manually,
for your architecture. Manual installation with .dll
files is possible, but
not recommended.:warning: Warning: Installation will fail if the layout is already installed. You need to uninstall it first using the provided steps to update it.
:warning: Warning: Installation binaries provided by MSKLC seem to not work correctly if the appdata directory is not set to the default path. In this case, you have to install the layout manually using the
.dll
files.
.dll
file appropriate for your architecture to the C:\Windows\System32
directory.Win
+R
and typing regedit
.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
.a000
, then a001
, etc.), and the last four
characters should correspond to the language ID (e.g., 0409
for English).Layout Text
with the name of the layout (e.g., Multilingual
).Layout File
with the name of the .dll
file (e.g., multilin.dll
).
There's no need to specify the full path, as it has to be in the C:\Windows\System32
.Layout Display Name
referring to a specific string in the .dll
file, like @multilin.dll,-1000
, where multilin.dll
is the name of the .dll
file.Layout Id
with the layout ID. It has to be unique across
all layouts. On modern Windows installations, 00c0
seems to be working.Settings
→Time & Language
→Language & Region
and add the layout.:warning: Warning: For some reason, too high layout IDs (e.g.,
a000
) seems to cause the layout to not be selectable and crash Explorer when trying to choose it. It should be checked, whether there's a limit or if it must be consecutive.
Settings
→Time & Language
→Language & Region
.Language
section, click on the three dots next to the language
you want to add the layout to. Alternatively, you can click on Add a language
and add the language you want to add the layout to.Language options
.Keyboards
section, click on Add a keyboard
.Multilingual
and click on it.Remove
.Win
+Space
and
use it.Programs and Features
Settings
→Apps
→Installed apps
.Multilingual
on the list or search for it using the search box.Uninstall
.