My first real experience with an international keyboard layout was in 2006 while working in Argentina. I enjoyed its ability to easily type diacritical marks on characters, but the permanent dead keys were annoying when I wanted to type regular punctuation. I tried using the US International keyboard layout on my home computer but just couldn't get over the permanent dead keys. However, I did very much like its ability to type common accented characters, like á and ñ, with the AltGr key.
Fast-forward 10 years and I discovered the Microsoft Keyboard Layout Creator. This allows users to create their own keyboard layouts. I used this tool to make my own layout, which I called "US International-Eric", which initially just took the regular US International layout and moved the dead keys to the AltGr plane, so I could type normally, but then use AltGr combinations to type accented letters.
Over time, I expanded this layout. In 2017, I made a special keyboard layout for use with the HP Prime calculator, which added an entire "Math" plane (triggered by a dead key) for easily writing the special characters used by the HP Prime when programming it, along with some other common mathematical symbols. I also continued to tweak my own "US International-Eric" layout to add more and more functionality. By 2020, in addition to a Math plane, I had added an entire plane for Greek letters, and another entire plane for Cyrillic letters, both using my own phonetic translations of the letters.
In 2022 I discovered someone else had the same idea I had and made something very comparable -- the EurKEY layout. After looking into the specifics of his layout, I found it remarkable how similar it was to what I had designed. His AltGr layout had a lot of similarities to mine, his Greek layout was almost identical to mine, and he had a Math layout too, albeit from a different dead key.
This inspired me to make further changes and enhancements to mine. I shifted around a few keys in my AltGr plane to make it a little more similar to the EurKEY design, to aid users transitioning from one to the other. However, my layout is still distinctly different -- due to Spanish being more useful in the US, letters with acute accents (instead of umlauts) are on the primary keys rather than moved over to nearby keys (so é is AltGr-e instead of AltGr-g). The more-common ê and ô are directly on this plane rather than ý (mostly only used by Icelandic) and ÿ (which has very limited use in French). I liked the idea of a Fractions and Arrows plane, so matching EurKEY I also have that on AltGr-\, but my layout is fairly different. I have two other special planes, too, for Symbols (AltGr-2) and Currency (AltGr-3).
In 2023, I discovered that I wasn't the only one to make a phonetic version of a Cyrillic layout. It turns out macOS has one as an option. Thankfully, it also turned out that my translation ended up being almost identical to Apple's, so I ended up moving the letters on several non-alphabetic keys around to match Apple to have one fewer layout out there. And for Windows, another individual has made several different phonetic Cyrillic layouts, all of which are slightly different from the macOS layout.
Also, in 2023, while I was doing some research to properly write this documentation, I discovered the existence of the French New Azerty keyboard, released in 2019, as a replacement for the old Azerty French keyboard. This is a magnificent keyboard layout, incorporating some of the other ideas I independently came up with (like the Currency plane), as well as a wide range of diacritic dead keys, and appears to have been very well thought out. While it's not suitable for me (it requires a 105 key layout, which allows for 4 more dead keys than the 104 key US keyboard provides, the numbers are all shifted making a numeric keypad more important, and some things move too much for my fingers used to an American keyboard), it's the only other major key layout that attempts something similar to what I have attempted.
While I am impressed by what was created for EurKEY, I feel it has some shortcomings that made me decide to continue to go my own way rather than making my layout more closely match it (or abandoning my layout altogether), in addition to the aforementioned use of acute accents on their native keys. The macron and breve dead keys are both on shifted keystrokes on EurKEY, but due to their more common use (especially compared to the ring, which is already well-served by å being on AltGr-w) I felt they would benefit from being unshifted, reducing keystrokes needed for a number of characters. I also wanted to retain my planes for Cyrillic, Symbols, and Currency, which EurKEY doesn't have. Finally, my Greek plane more closely matches the typical Greek keyboard layout, making it easier for users who want to switch to an actual Greek layout for writing more than a few Greek letters at a time.
On the other hand, EurKEY provides more direct access to the German opening quotation marks, the ellipsis, and the Dutch ij digraph, which I had to put on the AltGr-` plane, adding a keystroke.
The grave accent plane (AltGr-`) is not only used for grave accents (rarely needed because most are already on the regular AltGr plane), but also the comma below (seen on the Romanian ș and ț), and also as overflow for keys pushed off the regular AltGr plane, such as the Dutch ij ligature mentioned above. The circumflex plane (AltGr-6) has the top row of keys used for game pieces, such as chess and checkers. The macron plane (AltGr-7) has the number row used for recycling symbols. The caron plane (AltGr-8) has the number row used for planetary symbols. The acute plane (AltGr-') has the top row, as well as all punctuation keys, used for IPA symbols. The unshifted numbers in this plane are those most commonly used in IPA for English that aren't on other planes. The breve plane (AltGr-Shift-6) has its number row used for astrology symbols and its punctuation keys used for weather symbols.
There are also four more planes entirely filled with special characters.
The AltGr-2 (symbols) plane is purely for symbols. The top row is dedicated to the circled numbers 0 through 9, triangles pointing different directions are on WASD, card suits and other filled/unfilled shapes are on the bottom row, and musical and gender symbols fill out the bottom two rows. The top row of letters includes ə (schwa) and assorted symbols.
The AltGr-3 (currency) plane is used for currencies of the world on the letter keys. Unshifted letters are current currencies and shifted letters are mostly historic currencies. It uses the number row for circled numbers 10 through 20.
The AltGr-\ plane is dedicated to arrows, fractions, and legal symbols. Arrows (with double-drawn versions on the shift plane) are on the WASD keys, plus diagonals on QRZX. More arrows fill out the home row. Fractions fill both shifted planes of the number keys. Also, legal symbols are included for IP-related markings like ® and ™, plus legal prose terminology like ¶ and §.
The AltGr-Shift-m plane is for mathematical symbols. This started out as my HP Prime calculator programming layout, so it has some HP Prime specific keys, such as the non-Unicode ⁻¹ on Shift-4, as well as operators, like ▶ on =. After encountering the EurKEY layout, I rearranged many of the other keys to match the EurKEY math layout, and filled up the keyboard with remaining useful symbols. This is the most fluid of the planes and the exact keys here are subject to change in later revisions if it seems some missing symbols are more useful than those which are provided.
Although Unicode doesn't provide a full set of superscripts and subscripts, there is a plane dedicated to those that are available on AltGr-Shift-\. The number row has a full set of subscript (unshifted) and superscript (shifted) numbers, plus - and +, and versions of ( and ) are on the bracket keys and = on the backslash key. The letter keys are for superscript letters, with a near-complete set of lowercase superscripts on the unshifted plane and a slightly-less complete set of upper superscripts on the shifted plane.
This layout also has two planes for non-Latin alphabets.
Greek is supported by the AltGr-m plane. This is a largely phonetic layout that closely matches the typical Greek keyboard layout. The Q key and [ key are used to support typing variations on glyphs for some characters, such as ϵ and ϑ.
Cyrillic is supported by the AltGr-k plane. This is also a phonetic layout, so it is very different from key layouts used in countries that use Cyrillic. Instead, it is designed for English speakers who need to type a little Cyrillic. The alphabet keys and most non-numeric keys match the layout used by the macOS phonetic Russian keyboard. The number keys and remaining punctuation keys have been mapped to Cyrillic characters used by other languages, such as Ukrainian.
When pressing the spacebar after any dead key, the default character for that plane is generated. For diacritical marks, this is the combining character that lets you use it as a dead key for producing characters not directly provided by Unicode. Also, AltGr used with the space bar produces a non-breaking space.
For the pinyin ü, use the appropriate diacritical dead key to pick the tone, and use the letter "v" instead of "u" (because "u" is used for "u" rather than "ü"). For example, ǜ is entered with AltGr-`, v. This is a typical convention in pinyin keyboards.
While most western European languages are easy to type on this, with the vast majority of lowercase letters only taking two or occasionally three keystrokes, some other languages take more effort. The Turkic languages, Polish, and Lithuanian are especially a chore to write, with multiple common letters taking four keystrokes. Even Portuguese and Hungarian each have a couple letters that require four keystrokes. Shortcuts maybe could be added using unused keys on other planes to reduce these to three keystrokes, but that's still not ideal. Users who type a lot in these languages might be better served by making a custom version of this layout to relocate some of the hard-to-reach letters to the regular AltGr plane.
Due to a limitation in the way Windows uses the keyboard (unless it has changed since the Keyboard Layout Creator tool was created -- which hasn't been updated in some years anyway, since the developer died in 2015 and nobody else at Microsoft has since taken it over), only Unicode characters up to 2 bytes can be used. This means no 3+ byte emoji. Also, I tried making dead keys to select between text emoji and graphical emoji, but I couldn't get those to work either.
Also, one known issue is that within the Greek plane, the tonos and diaeresis dead keys do not work for me, even though the dialytika tonos dead key does work, yet all were implemented the same way. I do not understand why. Apparently the MS KLC tool has some inconsistent limitations around chained dead keys, which may be what I am running into here. This is not a major issue, however, because a diaeresis dead key is already on the regular AltGr plane, and the acute accent (also a dead key already on the regular AltGr plane) is canonically equivalent to the tonos.
It is unlikely this will ever be enhanced to support Vietnamese. There are several more diacritical marks that would need to be added as dead keys, and because nested dead keys don't always work, it simply might not be feasible. And even if it were, it would be very tedious to type more than a few letters with it, making it impractical. A true Vietnamese layout would probably be a better choice.
This layout has evolved a lot since I started working on it in 2016, and it will probably continue to change. After making my Currency plane I discovered that the New Azerty French keyboard does something similar. While my key choices often match up, I probably should change a few to be even more consistent. Also, I will probably add more characters to the AltGr-` plane that currently take four keystrokes, as I find characters I need more frequently, to get them down to three keystrokes. Presently the Hawaiʻian ʻokina is missing and will need to be added, though the ‘ (opening apostrophe) looks almost identical and is a suitable substitute for now. The majuscule form of ŋ is missing and needs to be placed on the shifted plane key of ŋ. The ſ variant of s is totally missing. The ring above plane (AltGr-Shift-7) is largely unused and could have more special characters added to it, perhaps more mathematical symbols.
Feedback from users (if I ever get any -- at the time of this writing nobody has used this but me) may introduce other changes.
Current version: 2023-05-20
Here is a single file that documents the entire layout:
extended-kbd.png (large PNG, 1.04 MB)
extended-kbd.pdf (printable PDF, 8 pages, 933 KB)
Here is the source for the above documentation for use with keyboard-layout-editor.com:
extended-kbd.json
Here is the source code for use with the Microsoft Keyboard Layout Creator:
extended-kbd.klc
Here is the executable Windows program (x86, x64, and IA-64) to install it. Unzip and run setup.exe, and once installed you can use the Language Bar or press Win-Space to switch between layouts:
extended-kbd.zip
If you have installed this before and want to install a newer version, there are some things to be aware of. First, switch back to a different keyboard layout so it's no longer active. Next, uninstall it (called "United States (Extended)" in the list of installed apps). Make sure it doesn't leave behind a file called "usextend.dll" in the Windows System32 or SysWOW64 folders; delete them if they still exist. Then reboot the computer, and install the new version. Windows seems to cache the layout in memory so if you don't reboot the new version won't take effect.
Because this keyboard is aimed at English speakers who sometimes need to write letters in other languages, my goal was to reduce the keystroke count for commonly-encountered characters in languages most seen from the perpective of an American or Western European. The following are keystrokes for special characters used in common languages:
German
Swedish
Dutch
Norwegian/Danish
Icelandic
Irish
Welsh
Finnish
Estonian
Hungarian
Spanish
Portuguese
Italian:
Romanian
Catalan
French
Lithuanian
Latvian
Polish
Slovak
Czech
Slovenian
Serbo-Croatian
Turkish
Azerbaijani
Kazakh
Uzbek
Albanian
Esperanto
Yoruba
Javanese
Maltese
Mandarin Pinyin
English-Style
German-Style
French-Style
Legal
Math
Arrows
Symbols
Eric Rechlin
Email: my last name at gmail.com
Last update: June 9, 2023