Making multilingual typing easier with just one new key (posted 2022-03-06)
Although in the 1980s and 1990s computer were capable of displaying text in many languages, they were limited to one set of characters at a time. So either Western Europe, Eastern Europe, Greek or Cyrillic, but not several of those at the same time. Unicode solved that, and modern computers can (in principle) display all characters found in all languages.
However, when it comes to typing those characters, we're still in 1990, with different keyboard layouts for different languages. Now obviously it would't be workable to make a keyboard that lets you type all Unicode characters. But it should be doable to come up with a system that provides access to all characters and diacritics that are used in latin script languages.
All it takes is one new key. I call it the globe key: ๐
We'll have to repurpose one existing key to make room for the globe key. On US keyboards, I think the ` key (in the top left corner, left of 1) is a good candidate, as the ` character doesn't occur in normal text, and even in programming it's not used very often. (But don't worry, you can still get ` by typing ๐ twice.)
The idea is that the globe key gives you access to a new keyboard "level", similar to how the shift or alt / AltGr keys provide access to additional characters, or different forms (uppercase) of the regular characters. When you type ๐, the next key that you press will give you the following:
Just like the globe key itself, the keys for diacritics (accents) are "dead" keys. So if you type one of those, nothing happens just yet, until you type the letter you want the accent to appear on (or under). So if you want to type "cafรฉ", that would go as follows:
c a f ๐ โฬ e
Now obviously, if you regularly type French, where the acute accent is very common, you wouldn't want to type it like this every time. You'd keep your existing AZERTY layout (or other keyboard that you're using right now) which has a dedicated รฉ key. But what if you need to type an Eastern European name, such as Michaล, Enikล or Vฤra? The globe key comes to the rescue:
๐ โฬท l = ล
๐ โฬ o = ล
๐ โฬ e = ฤ
How this is different from other approaches
When computers started to become common, various countries were already using different keyboard layouts on typewriters. And that makes sense, as in addition to regular letters and digits, there's only a dozen keys available for punctuation and accented or special characters. So each of those really needs to earn its keep to deserve to get a key of its own, and languages vary wildly in which characters and accents are common.
Since the 1990s, ISO/IEC 9995 has been working on standards in this area. But you're forgiven for not noticing. It looks like so far, only the multilingual Canadian CSA layout based on ISO/IEC 9995 has gained any traction. EurKEY is a more informal effort, but seems to have stalled.
And of course very many people have made their own keyboard layouts that work for them. Others switch between different layouts to be able to type characters from different languages. And of course simply ignoring the issue and letting a spell checker take up the slack is also a widely used strategy.
Unless I'm mistaken, the US keyboard layout is the only one that doesn't use alt (AltGr / right alt on Windows) for typing certain characters. Both ISO/IEC 9995-3 and EurKEY specify a specific alt / shift+alt "level" for typing additional characters. However, the issue with that is that users need to learn the new positions of these characters if they adopt those layouts.
And although spending a bit of time learning something new that is more efficient is usually time well spent, people simply don't like change. And in the real world, often the new and the old exist side-by-side, so that means having to work with different keyboard layouts on different computers. Not great.
Now, I'm all for replacing the more or less random alt / shift+alt levels that are part of existing keyboard layouts with the new one shown above. If you want to do that, make your alt keys or AltGR key the globe key. In that case, you'll have to press the alt / AltGr = globe key along with the next key.
But if you're used to a layout that lets you type certain special characters or accents easily with alt / AltGr, you may not want to be forced to learn a new way to do that. So in those cases, it makes more sense to just sacrifice one existing key to get the globe key so you can type characters not supported by your existing layout, but otherwise keep typing the way you're used to. If you put the globe key somewhere else than under alt / AltGr, you need to press and release it before you press the next key.
Why this layout makes sense
The globe key layout is designed to work well for characters and diacritics that you don't type very often. So the ease of typing takes second place relative to the ease of remembering. As such, the layout is as straightforward as possible.
People used to the US and similar layouts will find ` ~ ! @ # $ % ^ & * ( ) - _ = + [ { ] } | ; : ' " < > / ? where they expect them to be after pressing ๐. The cedilla, grave, hook and ring accents and (inverted) question mark are found under the keys matching their first letter. Acute, diaeresis/umlaut, tilde and (arguably) vertical stroke are found under the letters that most frequently bear that accent: รฉ, รผ, รฑ, ล. Circumflex, comma below, dot below are under the keys that look the same. Accents below are all on the bottom row. Similar looking accents are next to each other or above/below each other.
The above applies when using a QWERTY layout. So รฆ is between caps lock and S, as that is obvious on a QWERTY layout where that key is A. On an AZERTY layout, that same key is Q, but after pressing ๐, that same key still produces รฆ. This makes learning the globe layout a bit harder to learn for AZERTY typists, but the advantage is that once learned, it applies the same everywhere.
Whenever possible, the ๐ key should be blue to make it easy to find.