Ergonomic Key Remappings
[2.1] THE ANGLE/WIDE ERGONOMIC KEYBOARD MODEL MODS
Bigger On The Inside
It has been noted that these mods can really open up, say, a cramped notebook keyboard so much that it feels "bigger on the inside"! So maybe this slogan is suitable? ;-)
Typing Advancement: Row Displacement Increases Spaciousness (T.A.R.D.I.S.)
(Technically speaking these mods mostly displace half-rows, but bear with me.)
These are ergonomic mods, moving some keys around to achieve straight wrists (the Angle mods), better hand separation and lower right pinky load (the Wide mods). The Angle part is almost a no-brainer to me as it allows the left hand to keep a straight wrist without changing the fingering on ZXCV, and makes B easier to reach. Colemak creator Shai himself has given his blessing to this mod! The Wide mod is more optional, but it does put some load off the right-hand pinky, widen the arm distance (useful particularly for small keyboards, but nice regardless), and provide easier access to AltGr/Enter/Backspace/RShift – all at a very low learning cost.
The AngleWide(Slash) wide ergo mod for PC105/ISO keyboards.
With a 102/105-key ISO keyboard the Angle mod is very smooth indeed, and I strongly recommend at least an Angle shift if you have an ISO keyboard! The US/ANSI solution is usually to move the Z to the middle which is a bit more dramatic. There are some other options but they're rare; see below if you're interested.
The Angle(Z)Wide ergo mod for PC104/ANSI keyboards
When I use these mods I like to move the key caps around and make the change global - my family actually don't seem to mind as the changes are fairly intuitive and unintrusive, leastways for the run-of-the-mill keyboard user who looks at symbol key caps to find them. I got used to the changes quickly, too. But on laptops I usually don't move anything around and you can implement the change on a per-user basis if you wish. (If you do, take care with your logon dialogs and passwords!)
"There is another."
Actually, there are a couple of other possibilities for ANSI boards, since they don't have a near-perfect solution like the ISO crowd. I call them "A-Wing" and "FatZ". And then there's the "Angle-Cheat" too:
One alternative is the A-Wing mod which has a cool name but little usage: Split the bottom row while shifting all the others to the right. With A-Wing, you won't get the "wide" experience, and must live with an increased distance to Tab and LShift. In comparison, hitting LShift when using Angle(Z) and straight wrists is actually rather nice!
The "A-Wing" ergo mod for PC104/ANSI keyboards
I haven't implemented the Fat-Z ANSI Angle mod anywhere, but I will at least mention it. The trick is moving Z to the LShift key! LShift then needs a new home which should be better than the old B position. One solution is to move LShift to the Alt key and put Alt on the old B key. But this means moving modifiers around, so I'm a bit wary of it. Also, a fat Z key looks a bit odd, but if it works for you then all's fine!
If you go DoubleFatWide and do the same with RShift and Slash, you'll get a Wide mod with better Slash key placement too. Fat-Z and its fatter cousin DoubleFat may be the best solution for people who use thumb Shift or other ways of shifting!?
One possibility tried out by BenDover178 is to make LShift a dual-function key that produces Z on tap and LShift when held. This precludes Sticky Shift, but that may not be a hurdle for many. This trick is hard to implement unless you're using TMK/QMK controllers. See the Modifier Modness section below.
The "DoubleFatWide" ergo mod for PC104/ANSI keyboards; shown with the DH mod and some extras
The above image shows a DoubleFatWide-modded ANSI board, inspired by BenDover. It also has some interesting (and optional!) extras:
• The Colemak-DH mod (see below), affecting the DBG(V) and HMK letters
• The middle parentheses can be exchanged for pretty much anything. If you need locale letters/accents for instance, they're good for those.
• Double-function Shift keys, working both as letters and modifiers (see the Modifier Modness section)
• Fat Apostrophe, forcing Enter upward. If you use Extend-Enter and/or don't mind, this is no problem.
• \ and - swapped for easier access to hyphen-minus; this is kinda nice but maybe a bit radical.
"Angle-Cheat":The least intrusive way of ensuring a straight left wrist is a trick I've seen many typists do intuitively: You simply change the fingering for ZXC so that the index finger hits C and so on. This is what Colemak speed record holder Viper has been using, so you can certainly type fast with it! And it'll be available for both Colemak and QWERTY without any tweaks. On the downside, this trick does nothing to improve the B position and it doesn't enable Colemak-DH (see below).
6s and 7s With U
stevep99's Ergonomic Keyboard Mods page lists the above mods. Note that we don't agree 100% on which Wide mod is better, as his fave has the = key between 5 and 6 where mine has it between 6 and 7. Some split keyboards follow my way and others (particularly matrix boards) his. His preferred variant is a priori more symmetric but on a normal-staggered board mine has = on the longest stretch from the home position which is as it should be. Efficiency before aesthetics. ;-)
We've also discussed which key should be on the upper-right (old [ key) position: On ANSI boards it pretty much has to be the apostrophe but on ISO boards it should be a common key as that position is quite good. I prefer the forward slash, as both slash and question mark are quite common symbols. SteveP lists two variants where one has the ISO hash key (backslash in most layouts) in that position, but that's a less common key than slash/question.
For some more background...
See for instance this topic by cevgar on Wide mods, and this topic by me on Angle mods.
Many of these mods have been discussed under other names. So if you come across older posts here's a key to what we've been discussing:
• AngleWide is often abbreviated as AWide, and Curl(DH)AngleWide as CAW.
• The Colemak-DH (Curl) mods have somewhat arcane longer names (DH=DvbgHmk, DHm=DvbgHm and DvH=DbgHk) which describe and distinguish them.
• I've named Wide mods after which key they put in the old Right Bracket position; as such, the one I use is AWide(/), AWide-Slash or Awide(35) mod.
• The A-Wing angle mod has been called Angle-Frame, A-Frame or AngleWing.
• I don't know any snappy names for the fat-Z mod. Well, except for Fat-Z which is kind of cool. ;-)
[2.2] THE COLEMAK-DH ALIAS "CURL" ERGO MOD
The point of the Colemak-DH ergo mod is to make the home "row" curl like a relaxed hand does instead of forcing it to a straight line as was commonly thought best some years ago. Several typists have felt that the middle-trench D and H positions of Colemak weren't so comfortable and as a result the Workman and Norman and other layouts were made. However, I don't think they succeeded on many other important facets (more keys moved, and/or more same-finger bigrams, and/or poorer performance on other stats). So the proposal by stevep99 to fix the issue based on Colemak and without any keys changing fingers was a stroke of genius! It's a low-cost improvement of the default straight-homerow Colemak. And I still think of it as Colemak because it really is, keeping its good stats for travel distances, finger usage and same-finger ratios.
The Colemak-Curl(DH)-AngleWide, a.k.a. Colemak-CAW, ergo modded layout.
The Colemak-DH mod also puts the G key back to its old QWERTY position which more than offsets moving the less frequently used B. On the right hand side, at least one more key has to be moved compared to standard Colemak; the default mod moves two. But this investment returns a larger gain, as H moves to a better position.
If you type a lot in a language in which L is more common than H (including several latin and Nordic languages), it may be worth considering a further tweak in which L is moved down to the better position on the lower row and H gets whatever position you deem second-best. There have also been mod proposals for the Dutch who need a better J position. You'd have to implement these yourself for now.
The DH mod depends on using an Angle mod which is easier on an "105-key"/ISO keyboard but there are decent options for "US"/ANSI boards too. If you want to learn this using the Tarmak progression described above, that's possible too! You just have to learn the Angle mod early on, and tweak the 2nd Tarmak step a little. The right-hand mod is mostly separate from the rest of the layout from Tarmak1 onwards, but it's advisable to do it in step 1 which moves K anyway.
My personal assessment of key position goodness (from green via blue to purple), using a straight-wrist, relaxed-fingers hand position.
I've dubbed my CurlAngleWide modded Colemak the ! It's a Colemak at heart, but sufficiently modded that I wanted a snappy name for it. And yes, that's also a tip-of-the-hat to Billy Macaw in CATS. ;-) Also, there have been spiritual developments...:
COLEMAK ⲔⲰ – THE SOUL OF TYPING!?
Would you believe that in ancient Egyptian Ka means the "soul-body" or life force (while Ba is the "traveling soul" and Akh the "eternal/divine soul"), its hieroglyph being the symbol of... two hands!!! Maybe that's something right there...?
To go further down the rabbit hole, Wikipedia states that the Coptic word ⲔⲰ (kw) means approximately the same as Egyptian Ka, and this claim is further supported by a book on hieroglyphics I found. As an added bonus, the latin translation of Ka is ... wait for it ... "genius"!
To make it even stranger, ⲔⲰ would well transliterate to CAW!
So maybe Colemak-ⲔⲰ is the new thing then? The life force of ingenious two-handed typing! ^_^
(Easter Egg spoiler: If you're using PKL[eD] try pressing Extend+Home!)
Or, as the great poet Edgar Allan MacCole so famously put it:
CAWed the Raven "Evermore!"
The DH mod has a few variants in addition to the standard one, notably Steve's original DHm (DvbgHm) mod which swaps the Colemak(Angle) D–V and H–M positions but leaves the K alone, and my old DvH (DbgHk) which instead swaps D–B and H–K while letting the M stay unchanged. The DHm mod may be good if you have a non-staggered matrix board. I made the DvH mod to be less radical and intrusive as it doesn't move the V and M keys (apart from the Angle mod moving V with ZXC). However, I have now moved on to Colemak-DvbgHmk, in the name of unity and goodness. And it shall henceforth be known as the Colemak-DH mod.
See stevep99's Colemakmods page, as well as the main Colemak-DH topic and links therein. Also, note my review of the DH mods. Note, however, that we've since then agreed on one common Colemak-DH mod.
[2.3] MODIFIER MODNESS (Work In Progress)
We've already encountered a modfied modifier above: The Extend key, which is usually the mostly unused CapsLock being put to far better use. In "vanilla" Colemak, this key is modded to a second Backspace. Furthermore, in EPKL the Extend key can be modified by other modifiers to select different Extend layers, and it can be a tap-mod key that produces for instance a Backspace when tapped quickly but Extend when held.
In the Linux world, it's quite common to shuffle around the modifiers a bit. Caps can become Control, Esc or something else for instance.
stevep99 is a big fan of remapping in particular the Alt keys, since they're thumb keys which can be very ergonomic. He likes to put Extend and/or Shift on those keys. See his Ergonomic Keyboard Mods GitHub page for more info.
I'm a little wary of modifier modding myself, as it can be hard to implement reliably across platforms. Sometimes keys don't play well together, possibly because of hardware limitations in the scan matrix of cheaper keyboards and possibly because an OS (or Java/Flash/etc) can get confused when a non-modifier key becomes one. I've had my share of troubles with the Extend-modifier keys (Ext+A/S/T for Alt/Shift/Ctrl). Another issue is the differences between keyboards when it comes to the position of particularly the Right Alt key, making it very convenient on some boards but not on others. I do believe you should use a keyboard with a good RAlt position. Note that the Wide mod helps a bit with that.
Another modifier mod is Sticky Shift. With this mod, which is available out-of-the-box in many OSes, you can tap a Shift (or Ctrl) key and then another key to released a shifted (or control) character. It's used by some of the fastest typists because with a chording Shift there's a higher risk of getting DOuble CApitals at high speeds. I find it quite pleasant to use. EPKL supports setting one or more modifiers as sticky.
As shortly mentioned above, Dual-function keys is another interesting possibility. I've implemented it for TMK/QMK and EPKL. The idea is that a tap produces one key press, typically a letter, but holding down the key makes it a modifier instead. This may be a little confusing but also quite useful! Keys like Enter and Esc that don't need to be repeated are best for this, since the tapped key won't be able to repeat this way.
Last edited by DreymaR (05-Mar-2019 09:25:30)