DreymaR's modular approach to locale Colemak variants
My Big Bag Of Tricks topic mentions how I've made locale variants for a bunch of languages. This topic lists and discusses them in more detail.
Note that for most of these you really should use an "Euro/World" 102/105-key (ISO) keyboard! The "US" 101/104-key (ANSI) boards lack the lower left-hand <LSGT> key next to LShift and that one's very useful for adding extra symbols to the standard layout in a nicely accessible way. Using ergo mods such as AngleWide, it gets even better.
The basis for these layouts is 'Colemak [edition DreymaR]', using my own preferred AltGr mappings (modifier lv3-4 in Linux terminology) for the Colemak layout. You can learn more about it from the Big Bag topic if you wish. It makes several letters sufficiently accessible as long as they're rarely used: ʒƷ, ß (German 'ss'), øØ, œŒ, æÆ, þÞ, ðÐ, ʃƩ, ŋŊ, åÅ. Also quote marks: ‚‘’ „“” ‹› «» and other interesting glyphs. All the common dead keys are on symbol keys with AltGr (lv3). Common accents like the umlaut are in good positions. For rarely used accented letters, this should prove sufficient.
The Colemak [edition DreymaR] layout, using different lv3-4 mappings from the standard Colemak.
Shown with the ZXCVB_ 'Angle-ISO' ergonomic mod (see my sig topics), dead key emphasis and color-coded proposed fingering.
'UNIFIED SYMBOLS' VARIANTS
I've abandoned the way of the locale symbols for myself. I found that the default locale QWERTY layout for Norway where I live was messy and bleak. Furthermore, it made some symbols hard to produce. For instance: For a tilde which is often used in coding and more in the computing world you would have to press AltGr and Right Bracket; then since that's a dead key you'd have to type an additional space to release the tilde. Moreover, that won't even always work in apps (especially Java/Flash etc). Ugh. Other locale layouts aren't much better. Not that the US layout is perfect or anything, but at least it's what many know and expect. Symbols that are easily reachable like said tilde or the caret are often used in script languages for instance.
So I set out to make a simple and consistent way of providing the necessary locale symbols while keeping the main setup intact.
Here's what Shai has to say about making locale Colemak variants, on the Multilingual page of this site:
If you want to create a layout optimized variant for your language, you can remap the 102nd key [...] and some of punctuation keys you don't use often.
I fully agree, and so that's what I've done!
- The ISO/LSGT/OEM_102 and [] bracket keys may hold the most common locale-specific symbols.
• The œ/ø/å (oe/oslash/aring) special letters may well be replaced; these should also be on dead keys.
(The œ is rightly a ligature which fits the Compose method well for Linux users at least.)
- Furthermore, a set of keys with non-essential lv3-4 mappings (like h/j/k/l) are up for grabs if need be.
• The K key is quite easily reached with AltGr and in the Colemak[eD] it holds non-essential mappings.
• The H key, similarly, is well placed and holds nothing important for most.
• The L key, same but a bit less comfortable with AltGr in my opinion.
• The J key is a bit of a reach with the AltGr key held down so I hope it won't be necessary most of the time.
- If there are many letters using one accent, a well placed dead key (on lv1-2) may be preferable.
• The AltGr dead keys will still be available and some of these (like umlaut and acute) are quite easily reachable too
• Using a lv1 dead key may be preferable for speed typing (Sean Wrona, apparently, uses a sticky Shift for this reason!)
'KEEP LOCAL SYMBOLS' VARIANTS
Some people don't want to learn other symbols than the ones they have printed on their key caps. Since Colemak in itself doesn't tell you what to do with your symbols, that's fine. You'll lose out on the full Colemak[eD] mapping experience including most dead keys as I put those on symbol keys by design, but maybe you didn't need those anyway.
For Linux/XKB at least, I've separated the main letter block from the symbol keys in the layout definitions. (The semicolon is an in-between key since it's a symbol key that sits in the letter block; QWERTY is to blame for this inconsistency.) Doing this, we can with relative ease substitute the standard symbols for the ones used on locale QWERTY keyboard layout variants. This produces a range of 'Keep Local Symbols' locale variants, that should be in correspondence with what people from those locales are used to.
Please note: The letter block keys have for the most part Colemak[eD] mappings in these layouts! This could lead to redundancies or lack of a lv3-4 symbol (if it's defined on a letter key in the default locale layout and not in Cmk[eD]). If that happens and it's a problem, let me know. For the most consistent and complete set of AltGr mappings, use the 'Unified Symbols' variants.
THE ANGLE-WIDE MOD AND LOCALE VARIANTS
The 'unified' layouts presented herein will be shown with the AngleWide-Slash ('AWide-35') wide keyboard mod (again, see the 'Big Bag Of Tricks' topic). What this means is that the brackets are moved to the middle on the upper and home row, the ISO-102/<LSGT> and Backslash/<BKSL> keys to the middle lower row, the += key to the middle upper row and finally the ?/ key to the upper right. I'm sorry if this confuses anyone, but the AngleWide mod brings the ISO/LSGT key and brackets together right in the middle with the other moddable keys so they can all be shown in a partial keyboard image without everything else in between them! I'm now used to having all special letters in the middle of the keyboard and it feels good. :)
There's another mod called DH or Curl, which moves some index-finger keys around. It's shown in the image below, in my full Colemak-ⲔⲰ[eD] configuration:
The standard "US English" Colemak [edition DreymaR] layout, shown with the Colemak-CAW (CurlAngleWide) ergonomic mod.
DISCLAIMER: If you study the layout images in the next post, don't pay too much heed to the grayed-out keys. The "edition DreymaR" mappings for AltGr (lv3-4) may have been tweaked slightly since they were created. The Colemak[eD] color images above should be correct.
LOCALE VARIANTS AND WHERE TO FIND THEM
• Next post: Locale layouts listed
• Third post: Phonetic script layouts
OTHER FORUM TOPICS ON LOCALE COLEMAK VARIANTS
Some topics on the forum regarding different locale Colemak variants (let me know if I missed any):
Colemak for other languages discussion, by SpeedMorph
European multilingual Colemak, by Sprachprofi (including some interesting discussions!)
Czech, by davkol
Danish, by erw
Finnish, by Vvanhala (also see Swedish/Finnish below)
French, by Endaka
German, by vilem
Hungarian, by mr.schyte
Lithuanian, by Tautrimas
Norwegian, by Padde
Norwegian, by Jovlang
Polish, by moskit
Portuguese discussion, by Bee
Portuguese/Brazilian discussion, by krp
Spanish, by martinrinconbotero
Spanish discussion (Colemak en Español), by javix
Swedish/Finnish discussion, by Linus
Swedish/Finnish, by Turbulenz
Vietnamese Chữ Quốc Ngữ, by myself and IceDryst (at Discord)
Russian – 'Rulemak' – by ghen (based on KOI-8R); there's also a Bulgarian 'Bulmak' variant
Russian by vilem (similar to Rulemak, mostly based on phonetics/intuition)
Bulgarian (Colemak-like Cyrillic layout), by stassev
Greek, by dkun
Hebrew, by wrapman and myself
LIKEABLE LINGUAL LETTERING LINKS
International letter frequencies vs Colemak, by Checkit and DreymaR
Wikipedia on letter frequencies vs some languages
Simia.net and a Reddit thread giving nice summaries of Wikipedia letter frequencies
ETAOIN - letter frequencies in some languages on cryptogram.org
TODO
• Hebrew (and in extension, similar scripts like Arabic?)
• Vietnamese
• Japanese kana? This likely requires dead keys that can release ligatures.
Some variants may still be subject to minor changes:
• Determine whether the Slovenian etc layouts should have the caron on RBr so it's easier to reach with the right hand! It's used with left-hand letters.
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***