• You are not logged in.

    Colemak's Design

    • Started by Shai
    • 11 Replies:
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    I've released an draft version of the design for Colemak, https://colemak.com/Design

    Offline
    • 2
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    This is very very awesome, Shai! Thanks!  ♪~╰(*°▽°*)╯~♪

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 975

    Yes, an interesting read. In a way, as most Colemak users will know from experience: the most frequent letters are assigned the best priority keys subject to avoiding awkward bigram situations, while maintaining certain limitations like preserving the common shortcuts etc. The layout does indeed derive logically from those starting assumptions.

    For me the super-interesting snippet of information is how Shai saw the priority of the key positions, i.e. the foundation on which the layout is created:

    13563 26531111
    88997 799883
    11352 55421

    Most of this is uncontroversial and fairly common sense, but there are two particularly noteworthy points:

    1. There is an implicit acknowledgement here that the standard staggered fingering is inferior to using the angle-mod (or even angle-cheat). On the bottom row we have left-hand 11352 but right-hand 55421. That is, Qwerty M is assigned '5' but Qwerty 'C' is assigned '3'. These keys are the same position relative to home of course, so Shai is essentially saying here that hitting the C key with the middle finger has a penalty of 2 points relative to hitting it with the index finger. The same principle applies to the X and comma keys also, again a 2-point penalty. By applying angle-mod (or angle-cheat), there are clearly significant gains to be made assuming Shai's scoring system. Of course, "angle-cheat" introduces the CT bigram so I guess that needs to be weighed up too. But given such a clearly acknowledged penalty for using the traditional fingering, it does beg the question as to why most layouts - including Colemak - don't design assuming angle-mod style fingering for traditional boards from the get-go.

    2. I'm sure it's predictable I would make this point, and I recognise that at the time prioritizing the entire 10-key home-row was the conventional wisdom, an approach which Dvorak also took. But perhaps nowadays - well, those of us that have gone down the DH route at least - will say those 7 scores for the middle-row central trench look somewhat inaccurate. Especially when compared to the '5' for the Qwerty M key, and the mere '3' for the Qwerty C key (although as ackowledged, that's assuming a middle finger technique). These days, I'm so convinced of the superiority of those two keys, I'd consider rating them better than the home-row pinky keys even (Qwerty A and semicolon).

    Still, an interesting and informative post, it's fascinating to see the steps and process that lead to Colemak. Much appreciation to Shai for sharing it.

    Last edited by stevep99 (01-Apr-2020 14:23:23)

    Using Colemak-DH with Seniply.

    Offline
    • 1
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343
    stevep99 said:

    For me the super-interesting snippet of information is how Shai saw the priority of the key positions, i.e. the foundation on which the layout is created:

    13563 26531111
    88997 799883
    11352 55421

    [...]

    • But given such a clearly acknowledged penalty for using the traditional fingering, it does beg the question as to why most layouts - including Colemak - don't design assuming angle-mod style fingering for traditional boards from the get-go.

    • I'm sure it's predictable I would make this point, and I recognise that at the time prioritizing the entire 10-key home-row was the conventional wisdom, an approach which Dvorak also took.

    The answer to both your points is of course that neither Angle nor Curl mods were a thing back in 2005. The standard touch typing technique taught in old typing courses was the order of the day. Oh, I guess some QWERTY speed typists may have angle cheated but it wasn't common knowledge I think.

    I've recently made Dvorak layouts for EPKL and implemented both Curl, Angle and Wide mods for Dvorak. It was surprisingly successful in my own opinion. (ಽ  ಸ ͜ʖ ಸ)ಽ

    Last edited by DreymaR (01-Apr-2020 15:40:38)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    I've tried the angled mod, and I found it extraordinarily straining to use some keys, e.g. the left Ctrl key and the QWERTY 'B' positions. Making a few keys a little bit better, while making others dramatically worse is not a good tradeoff IMO.

    Regarding the 'G' and 'H' positions, I find them effortless to type. The only way I found these keys to cause strain is by "grounding" the other fingers in the home position, instead of letting them float freely. I feel those changes make the layout worse overall. They also negate some of the main design ideas in Colemak, like keeping the shortcuts in place to make it easy to switch back and forth between layouts.

    I wouldn't personally recommend any of these mods, but everyone is different and has different preferences.
    If it works for you, that's great!

    I think the better way to solve the staggered layout issues is through hardware and not via a keyboard layout.
    For example, Truly Ergonomic looks like a good option, but I haven't tried it out myself.

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 975

    The angle mod does require you to move the physical position of the keys even though the fingering stays the same. I agree this is it's main drawback - I know when I first start using it, it was quite disruptive to muscle memory for shortcuts, moreso than for normal text typing. But still, if you solve that problem by using a different hardware design - such as the Truly Ergonomic - then the physical positions of those shortcut keys also move relative to standard-staggered and require you to relearn them. Indeed, what the angle mod is doing is basically giving you a layout that's much closer to that of the Truly Ergonomic, but without changing hardware.

    Still, not wanting to make any changes to the physical ZXCV keys is entirely reasonable, but in that case, I'd at least argue that you might as well then use the so-called "Angle Cheat" method (i.e. not moving the keys physically but typing them with the "wrong" fingers, C=index, X=ring, etc). I'd strongly argue that using the middle finger for C (in the default position on a standard board) is an utterly absurd proposition!

    It would certainly be better if well-designed, symmetrical keyboards were common. In that scenario, there would be no need for the angle mod. As I see it, the angle mod is there to fix most of the problem while we are stuck with the current standard hardware design.

    The G and H positions are a slightly separate issue, and obviously opinions vary on that, so each to his own I guess.

    Last edited by stevep99 (02-Apr-2020 13:17:33)

    Using Colemak-DH with Seniply.

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    For me it feels the other way around: The Angle mod makes several keys substantially better and hurts a few positions just a bit. Of course, it also helps the wrist angle to avoid ulnar deviation without investment in new hardware which is a major point of it.

    The "middle trench" positions are indeed to some extent a matter of homing/grounding. My index finger grounding positions are now pretty much in the intersection of the home key and the two below it. In the spirit of the Curl mod, the other fingers follow a naturally relaxed curve so the middle and ring fingers are grounded near the top of their keys and the pinkies on the middle of theirs. This way, both the upper and lower rows feel accessible but the lower row index positions are prioritized over the upper row ones. The Curl mod does make the QWERTY T and Y positions worse but they hold the somewhat rare B and the very rare J to make up for this. The improvements of the other positions feel very much worth it to me. The worsening of the QWERTY B position isn't bad at all to me since that key is now used for a very rare letter (Z using the ANSI Angle-Z mod, a locale letter or whatever you like using the Angle-ISO mod).

    I do agree that there are personal preferences aplenty in this. I'll keep supporting both vanilla Colemak and the battery of mods I like, trying to offer a modular approach so users can shop their preferred setup from a smörgåsbord of options.

    One of the driving principles for me has been to allow ergonomic solutions as far as possible on standard hardware. A split hand, column staggered QMK-powered board setup is a beauty for sure but not everyone have the money for that nor the drive to lug one around with them. On my beloved laptop I wouldn't want to attach a separate USB board taking up desk or lap space every time I type on it. That's when Colemak[eD]-CAWS really shines imnsho. My solutions gives me a lot of little things that a microcontroller would be hard pressed to deliver too, at least for now with clunky and memory limited controller interfaces. EPKL is kinda epikal in that way.   ̄(=⌒ᆺ⌒=) ̄

    As for the LCtrl key, I don't chord as much with it from the home position as I used to. Extend takes care of many uses for it such as copy-pasting and navigation, and other shortcuts aren't used so much in typing flow so it's okay for the hand to float back and forth for those.

    Last edited by DreymaR (24-Apr-2020 11:34:40)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 7
    • Registered: 21-Apr-2010
    • Posts: 818

    (Very excited to find this, appreciated much.)

    --
    Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343
    stevep99 said:

    For me the super-interesting snippet of information is how Shai saw the priority of the key positions...

    13563 26531 11
    88997 79988 31
    11352 55421
       13553  25532 11
       88996  69988 21
       123651 56321
    
       QWFPG  JLUY; []
       ARSTD  HNEIO '\
       ZXCVB_ KM,./       (ANSI-Z left half: XCVBZ)

    Maybe something like this then, implying the Angle mod on an ISO board? An ANSI board would lack the 1 in the middle in this graphic.

    Looking at this, I now disagree with the low scoring of the semicolon position! I think it's better than the apostrophe position. I know some feel otherwise but I really do. I don't think the PL positions are better than FU, but this does depend on relative finger lengths. I don't feel that the comma position deserves a score of 4, as it's somehow annoying to me. Finally, the Colemak J position just isn't nice so I'd consider lowering it to a 1 despite being served by the strong (if somewhat overworked) index finger.

    Last edited by DreymaR (28-Apr-2020 11:23:45)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 975
    DreymaR said:
       13553  25532 11
       88996  69988 21
       124651 56321
    
       QWFPG  JLUY; []
       ARSTD  HNEIO '\
       ZXCVB_ KM,./       (ANSI: XCVBZ  KM,./)

    Maybe something like this then, implying the Angle mod on an ISO board? An ANSI board would lack the 1 in the middle in this graphic.

    Looking at this, I now disagree with the low scoring of the semicolon position! I think it's better than the apostrophe position. I know some feel otherwise but I really do. I don't think the PL positions are better than FU, but this does depend on relative finger lengths. I'm not sure the comma position works to a score of 4, as it's somehow annoying to me. Finally, the Colemak J position just isn't nice so I'd consider lowering it to a 1 despite being served by the strong (if somewhat overworked) index finger.

    Oh yes, I hadn't noticed the PL vs FU scoring. I agree, these should be either switched around or at least made equal. I know the Workman author has a downer on the L position but I find it OK. For the bottom row, if you are using the angle mod, then the scoring should be symmetrical, i.e C and M should score the same, as should X and comma, etc.

    Regarding the semicolon/apostrophe, I think you're probably right there too, but both being fairly infrequent, for me it's not a big deal. If I was willing to move apostrophe, I think a better option would be to make it extra mod key, as it's the opposite equivalent to CapsLock.

    Last edited by stevep99 (27-Apr-2020 15:00:48)

    Using Colemak-DH with Seniply.

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    An extra mod key would be nice, true. It could be the LAlt key which isn't used too much in chords after all, freeing up the physical LAlt for an Extend key. Or maybe simply Backspace for those interested in that? For now, I'll try to get by without doing anything so drastic.

    I found an error I think. Shai, are you listening?  (=^・ω・^=)丿

    Shai, under "The QWERTY 'Y' position" said:

    'K' would cause a high same-finger ratio, so J is placed there.

    As J and K both end up on the right hand index finger, same-finger is not an argument for choosing J over K there. Their usage frequencies are, however, since the Y position is the poorest one for that finger.

    Another quibble that's more of a sorting error, is how the diagram at the end (the QWERTY 'E' position) doesn't have the previous step's letters P/G filled in, and B never gets its direct mention.

    QWF?? JLUY;[]\
    ARSTD HNEIO'
    ZXCV? KM,./
    Last edited by DreymaR (28-Apr-2020 11:25:29)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 975
    DreymaR said:

    An extra mod key would be nice, true. It could be the LAlt key which isn't used too much in chords after all, freeing up the physical LAlt for an Extend key. Or maybe simply Backspace for those interested in that? For now, I'll try to get by without doing anything so drastic.

    I just move my LAlt key one space to the left, to the Windows/Super key, hence freeing up LAlt for Extend. Some people find the Extend method for backspace - involving two keys - too much of a departure, so I can imagine for them, Backspace on apostrophe might be a good idea. Another idea might be to have two Shifts, on capslock and apostrophe, they are a bit better than standard shifts (but not as good as thumb shift). I'm sure there are quite a number of decent ideas actually. But I guess this digression is getting a bit off topic now.

    Using Colemak-DH with Seniply.

    Offline
    • 0