Eumak - The European Multilingual Keyboard Layout
Eumak is a multilingual keyboard layout for anyone wanting to type in English, German, French, Italian, Spanish, Polish, Romanian, Dutch, Swedish, Hungarian, Greek, Czech, Catalan, Portuguese, Serbian, Croatian, Danish, Finnish, Albanian, Slovak, Norwegian, Bosnian, Lithuanian, Latvian, Slovene, Irish, Estonian, Welsh, Maltese, Icelandic, Breton, Montenegrin, Latgalian, Scottish Gaelic, Faroese or Esperanto...
Introduction
Most keyboard layouts provide support for one language or a small set of related languages. Eumak attempts to provide support for all official EU languages. Even Greek.
Using a combination of Shift, AltGr and a new Mod key, the orthographies of several dozen languages are made available. Latin and Greek letters are toggled via the Mod+6 combination.
How can I use it?
Linux (XKB)
To Install
$ curl https://raw.githubusercontent.com/technige/eumak/master/eumak.py | sudo python - -i
To Activate
$ setxkbmap eumak
To Uninstall
$ curl https://raw.githubusercontent.com/technige/eumak/master/eumak.py | sudo python - -u
Windows
Coming soon!
MacOS
Coming soon!
The Layout
Letters
The basic layout of the letters is grounded in QWERTY. While other formats (AZERTY, QWERTZ, etc) are commonly in use by some language-specific layouts, QWERTY is both the original and the most common configuration. There is no perfect choice here, but QWERTY arguably provides the greatest degree of familiarity to the most people.
To the east of P and L are located five extra vowels. Across layouts, these keys are typically occupied by a mixture of alphabetic and punctuation symbols, but are repurposed by Eumak as ä ë ï ö ü. These vowel variants are very common across European languages, and they also include the accented characters most regularly used as a base for further modification: ö and ü which Hungarian transforms with an acute accent to ő and ű.
The AltGr key can be used to access alternate letters when used in combination with any of the letter keys. These are marked in red on the keyboard layout diagram above. So, for example, AltGr+C produces a ç character. And as with the regular letters, Shift can be added for capitalization. For example:
Key Combination | Output |
---|---|
C | c |
Shift+C | C |
AltGr+C | ç |
Shift+AltGr+C | Ç |
Numbers & Symbols
Numbers hold their regular place on the top row with shifted values filled by characters commonly found in those positions. And six symbol keys fill most of the remaining spots, with ~ to the left of the numbers, - and + to the right, and ,, . and ' to the east of M.
As with the letters, all the number and symbol keys have alternate and shifted alternate variants. These are marked in the lower right and upper right quadrants of the keys on the diagram above.
So, for example, the following characters are accessible through the + key:
Key Combination | Output |
---|---|
+ | + |
Shift++ | * |
AltGr++ | × |
Shift+AltGr++ | · |
Modified Characters
The key to the left of Z is Mod, the modifier key, which can be used to access accented characters. On most layouts, this key is assigned to symbols (most commonly greater-than and less-than signs) but can be thought of in Eumak as a extra kind of Shift key.
When used in conjunction with letters, the Mod key adds an acute accent (or a tonos if writing in Greek). This diacritic is very common across European languages, being represented in some form in most language groups. Note that the Ö and Ü keys produce the Hungarian letters ő and ű respectively, when used in this way.
Mod can also be used to access the dead keys built into ~, 1, 2, 3, 4 and 5, as illustrated in grey on the keyboard above. If a dead key is pressed before a letter, it modifies that letter with a particular accent, should such a combination be available. Pressing a dead key twice will type the accent by itself; so Mod+3, Mod+3, for example, types a ^ symbol.
Supported Language Groups
The alphabetic characters available through Eumak provide support for the following language groups:
- West Germanic (English, German & Dutch)
- Romance (French, Italian, Spanish, Romanian, Portuguese & Catalan)
- West Slavic (Polish, Czech & Slovak)
- South Slavic (Serbian, Croatian, Bosnian, Slovene & Montenegrin)
- North Germanic (Swedish, Danish, Norweigian, Icelandic & Faroese)
- Finno-Ugric (Hungarian, Finnish & Estonian)
- Celtic (Irish, Welsh, Breton & Scottish Gaelic)
- Baltic (Latvian, Latgalian & Lithuanian)
In addition, the following individual languages are supported: