Before I go into the changes, here are a few explanations about terms I will use:
- Dedicated key: A letter has a dedicated key if you just press that key (without needing to type any additional keys) to type the letter. On most Latin keyboard layouts, there are dedicated keys for most letters and numbers, and there will be a variable number of dedicated keys for punctuation.
- AltGr key: On many keyboard layouts where the number of dedicated keys is not enough to type all the symbols that the language needs, the Right Alt key will often become the AltGr (Alternate Graph) key, which can turn a dedicated key into an alternate symbol. For example, on the French AZERTY layout, the AltGr key is required to type many symbols such as the # or @ signs. On the QWERTY International and Colemak layouts, the AltGr key turns any vowel aeiou into the acute accented version áéíóú.
- Deadkey: If you press a deadkey, the next key you type will be changed in a certain way. The Greek keyboard layout has an acute accent deadkey that will give the next vowel you type an acute accent. I have many deadkeys in the number row that can be accessed with the AltGr key, and they can be used to type a wide variety of precomposed Unicode letters with 1-2 diacritic marks.
- Primary support: Using my deadkeys means that it will take several keystrokes to type one letter, as well as moving your hand all the way up to the number row. This means that using deadkeys can seriously slow down your typing. When I say that I have primary support for a language, I mean that the language can be typed without using any deadkeys except for punctuation or extremely rare letters (such as ÿ in French, which only occurs in a few proper nouns).
- Secondary support: I use this to mean that a language can be typed using deadkeys.
- No support: If a language has any letters that a layout has no way of typing, that language is not supported.
First, I decided that it was a mistake to require the AltGr key to type an apostrophe and I needed to put it back on a dedicated key. That got me to rethink the goals of my layout, and I decided that rather than being nebulously optimized for assorted Western and Northern European languages that are popular for Americans to learn, the focus should be to make typing as easy as possible for the most people in their native languages. I saw that I would be able to provide secondary support for Vietnamese if I freed up a couple of keys (previously, there were several Vietnamese letters that could not be typed at all on QUFLXÜ).
Then, I realized that if I dedicated three AltGr keys to the Turkish letters ı, ğ, and ş, I would have primary support for ten of the eleven most spoken Latin Script languages in the world by total number of speakers (or nine of the ten most spoken by native speakers, which is the same list but with Swahili removed and Indonesian generalized to Malay). There were three keys left over so I also added ə to the layout (used in Azerbaijani, 23m native speakers), and retained ø (used in Danish and Norwegian, 11 million native speakers combined) and ý (used in many languages including Czech, Kazakh, and Vietnamese), but I got rid of AltGr keys for ð and þ, although they can still be typed with the symbol deadkey.
The eleven most spoken Latin script languages by total speakers are:
- English (1.132b speakers)
- Spanish (534.3m)
- French (279.8m)
- Portuguese (234.1m)
- Indonesian (198.7m)
- German (132.1m)
- Swahili (98.3m)
- Turkish (79.7m)
- Vietnamese (76.9m)
- Javanese (68.2m)
- Italian (67.8m)
And the ten most spoken by native speakers are:
- Spanish (390m)
- English (365m)
- Portuguese (205m)
- German (92m)
- Javanese (82m)
- Malay (77m)
- Vietnamese (75m)
- French (75m)
- Turkish (63m)
- Italian (59m)
Unfortunately, the 11th most spoken Latin Script language by native speakers, Polish, would have required eight extra AltGr keys and the 12th most spoken by total speakers, Hausa, would have required five, but I only had three spare AltGr keys for letters.
This is what the layout looks like at the moment:
A couple of unintuitive deadkeys are:
- ¤ (shift+4) - Currency symbols (eg $, €, ₽)
- ¿ (AltGr+1) - symbols and some letters (eg ‽ … ™ © ð þ)
- º (AltGr+2) - the masculine ordinal, plus superscript letters and numbers
- ᵃ (AltGr+shift+1) - the feminine ordinal, plus letters featured in many African alphabets, such as ɔ and ɓ.
- ̨ (AltGr+shift+5) - vowels with ogonek (ą ę į ǫ ų) and consonants with comma below (ș, ț)
- « (AltGr + 9) - some left quotation marks as well as a double grave accent, as in ȁ
- » (AltGr + 0) - some right quotation marks as well as a double acute accent, as in ő, ű
- α (AltGr+shift+8) - The Greek alphabet, α β γ δ ε etc.
I think this keyboard layout is pretty good, but I can't say so for sure until I have tested it out with a large amount of typing in the primary support languages. So that is why I have so many languages as the focus for this log. I'm saying "practice" rather than "learn" because it would be a ridiculous task to get this many unrelated languages up to a high working level. I am only aiming to familiarize myself with the ones I don't know as well, and practice typing in the ones I know better.
I've had low energy for language learning lately, so my best bet for making progress is with my classic beginner resource combo of Pimsleur, Duolingo, and Assimil, which don't require much creative thought. As it happens, all of the languages I'm focusing on for my keyboard layout are available in all three of these resources, except for Javanese. I do have Pronunciator Javanese available through my library, though, and thanks to Speakeasy's recent Javanese Resources thread I can see that there are also some good books available.
Most of the Assimil books for these languages are not available in English, but my limited French is enough for me to use the French editions. I have gone through a bit of Assimil Indonesian, Italian, and Yiddish in French, and there is the occasional word that I don't understand but I can usually figure it out from context.
I am starting with Turkish. I have been working on that for the past week or so. I haven't received my copy of Assimil Le turc yet, but I have been doing Duolingo and I just got Pimsleur from the library.
Unfortunately, the Pimsleur courses for Turkish, Vietnamese, Indonesian, and Swahili only have one unit of 30 lessons each, which will each take me six weeks to get through. I might move on to the next language once I've finished each Pimsleur course, without trying to complete Duolingo or Assimil. Or I might try to do FSI French in between pimsleur sessions if I have the energy to finish FSI French Phonology at home and then memorize the dialogues for FSI Basic French.
I think Vietnamese will be next. It will probably be the most challenging of these languages but luckily the FSI course has a nice pronunciation section I can do in the car. The FSI course is for Southern Vietnamese, and the other resources are all for Northern Vietnamese, but I think it should still help a lot.
I will create a series of spinoff keyboard layouts for languages that only get secondary support from my main keyboard layout, and I think I found a very cool solution for my Vietnamese layout. I did need to make some major changes, but it is still close enough to the main layout that it is easy to learn if you know the other, and it is not too tough to switch back and forth.
I think my solution is a big improvement over the standard QWERTY-based Vietnamese layout, where you need to move your hands all over the keyboard in order to type tones and the special letters, while letters that aren't even used in Vietnamese take up prime real estate.
This is what my Vietnamese layout currently looks like: