• You are not logged in.

    From QWERTY to Dvorak to Colemak to Now

    • Started by Zonex
    • 13 Replies:
    • Reputation: 0
    • Registered: 14-Jun-2015
    • Posts: 5

    I've read quite a few experiences here, and they all seem to add a bit to my knowledge of what I want out of a keyboard layout. Hopefully my journey is able to aid others in their venture, or simply just give them a laugh at how I jumped 3 different layouts with so much uncertainty.

    Ever since I can remember, I've been fiddling with computers. As such, I started typing long before anything in school started to teach me proper typing technique. This basically built my finger muscle memory into using about 3 of my right hand fingers and 3.5 of my left hand fingers (left pinky for mods and a, no proper technique). This was fine for most of my life growing up, I had actually learned to type quite fast, but it was a mix of a huge amalgamation of improper typing technique, and sentence buffering (read a sentence or phrase I need to type, and then look at the keyboard). I could type at about 70 wpm like this, which is astounding if I really think about all of the wasted effort my wrists, fingers, eyes and neck had to go through.

    Fast forward to my first year of college studying Computer Science. I was also doing a ton of smaller programming projects on the side, being exposed to the world of crazy new languages and the ridiculous punctuation that came with them. I quickly realized that my way of typing was a crutch, and that I really only had the muscle memory of the alphabet in my head; punctuation was mostly a guessing game. So I puckered up, and decided I'm going to properly learn to touch type. At this point in time, I had no idea of better alternate layouts so I just tried to properly learn QWERTY from the ground up. This wasn't too difficult, I sped into 50wpm pretty fast with proper technique, since all I was really doing was getting rid of my improper technique, I had a plethora of proper bigraphs and trigraphs embedded into my muscle memory. I kept this up for a few more months slowly creepy into the 90s for wpm. I started to notice that typing words like "people", or "monopoly" was extremely uncomfortable and difficult, I thought this came from the fact that these words put a lot of strain on one hand, this was only partially the case; I could type things like "starwars" with relative ease. I realized my problem was that my pinky and ring finger muscles are very tightly connected, o well.. I would figure it out by brute forcing my way to muscle memory haven.

    Fast forward, about a month of methodical practising; FastFingers speed at 110wpm, and TypeRacer speed at 80wpm, and yet still I have an incredibly uncomfortable time with many common words including the ones previously listed. I did what any sane person would do, I Google'd why it was so hard to type these crazy words, and by the power of Google's algorithmic prowess, Dvorak first showed up in front of me. I'd heard of it before, but I didn't really know what it was; I started researching into the methodology behind the keyboard layout more and more, the history of QWERTY and what not. Dvorak had me very excited, I am all for efficiency and life hacks (what better time to start than your early 20s).

    My native typing speed for the English language wasn't overly slow, but muscle memory for punctuation never really fell into place, and coding on QWERTY for extended periods of time placed an extremely high burden on my pinky (which I never really used prior to about 3 months). So.. naturally, I started looking at the Programmer Dvorak layout, at first it looked extremely funky, and the number row was very interesting. What specifically caught my eye was that all the most commonly used coding punctuation was staggered across the number row as base keys, and the numbers were activated with shift (or Caps Lock). The arrangement of the number row caught me off guard (they were designed odd on the left, even on the right, most common numbers under stronger fingers, and the pinkies only responsible for 1 number each), but I realized that all of these keys are muscle memory, there is no point to having the number row go from 1-0, left to right; the alphabetic layouts don't.. so.

    I started learning Programmer Dvorak for a while, and climbed my way back to 50 wpm after about 3 weeks. I very much liked the rhythm to it because of the high percentage of hand alternation, but what I liked much much more, was typing bigraphs like "th", or "ch", or "ou". These were finger rolls; very fluid movements, very very comfortable movements. At about the same time I started to get tiny pet peeves with the Dvorak layout, like typing "-ls" for Linux. That doesn't matter right? I'm really liking the layout, coding is very comfortable, and the is rhythm to the typing which is nice (I listen to a lot of music while coding). Hmmmm...Can't hurt to look through the internet a bit more to see if other people feel the same way about these finger rolls and what not.

    Lo and behold, Colemak falls into my lap. I had seen Colemak a ton of times doing research for Dvorak, but I never really gave it too much thought since it stuck with a bit of the QWERTY layout. I illogically thought that it was only half superior to QWERTY where as Dvorak was 'fully' superior. So I started looking into Colemak vs Dvorak extensively, and found that the only real difference was hand alternation vs finger rolls (and shortcuts), which made sense since Dvorak was made for typewriters where each key is a pretty strong press, finger rolls are not the focus. At this point, Colemak was all that was buzzing around in my head, but there was one thing I couldn't find after hours upon hours of searching; a customized layout for programming, fully optimized.

    I started looking into other layouts at this point which was a bust, but ultimately came down to DreymaR's big (seriously.. there are a lot) bag of tricks. I had a lot of ideas in my head now that I wanted to incorporate into one nice keyboard, that wasn't overly different from everything else. I had a few things i wanted:

    - Colemak Alphabet
    - Caps Lock Backspace
    - Backspace Caps Lock
    - Programmer Dvorak punctuation & Number Row
    - A Modified Extend layer (no chords)

    This didn't really seem out of reach and seemed to mesh pretty well together, so one weekend, I got down to it, I started fiddling with the Colemak layout on Patorjk's Keyboard Layout Analyser. The layout I had devised was showing some very promising results, it had combined Programmer Dvorak's punctuation ease with the finger rolls from Colemak, I kept tweaking it and testing until it was superior to Colemak in most tests (alphabet is the same, except for placement of Q). I checked the other metrics like same finger usage, right pinky and left pinky load distribution, and total movement. I created my own version of the keyboard layout, with everything mentioned above in there. I also created an AHK script to give me an extend layer based on Alt Gr. I coined it the Programmer Colemak, but really, I'm the only one that uses it so, its basically just Colemak heh.

    It's been 4 months now, I'm still using my layout, and weirdly enough I haven't really had to make any changes, everything feels very natural to me. I'm loving the fact that finger roll muscle memory has fallen into place. The ease of using punctuation has made coding an absolute pleasure and has streamlined the process of thought -> code. The Caps Lock being remapped to backspace is incredibly satisfying; not having to leave the home row for errors is very nice. I have to use Caps Lock (now at Backspace) quite frequently since CONSTANTS pop up in every batch of code, and also typing solely numbers on the Number Row, it helps having the Caps Lock enabled (what it was designed for). Getting used to my Backspace being Caps Lock took a while, but it was worth it heh. The extend layer has also been treating me well, there is just something so nice about, being able to fiddle with a bunch of code and text, without ever taking my hands off the home row. (Don't even have to move my hand to arrow keys as those are in the extend layer)

    I'm at around 100 wpm on FastFingers right now, and weirdly enough, about 95 wpm on TypeRacer, which is awesome. It really was my punctuation that was lacking strength. To top it off, there aren't any more uncomfortable presses any more, typing "you" was a bit funky in about the first month, but once I reached a certain speed, it felt natural. My speed with QWERTY really hasn't fallen too much; I make sure to practice is for about 15 minutes once a week or so, it keeps it fresh.

    I know this is an especially long post; sorry about that. Thanks if you've been reading up to this point.

    PS. Although my Extend mappings are completely different, the idea itself came from DreymaR's Bag of Tricks, so thank you =D

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

    Great post.

    Sounds as if you have enjoyed the journey.  Bouncing about layouts doesn't sound too much fun to me.  It sounds as if we came from similar start points.  I bypassed touch typing with Qwerty and went with Dvorak.  I chose it over Colemak, because I computer hop much.  It's still a pain having a non-native layout.

    What I've realised is that  I hate chords, and that is what slows me down and aggrevates me.

    Interesting to hear that you were willing to stick with the keyboard and persevere so much.  Trying to get your head around layout nuances isn't for the faint hearted ;)

    I started out with physical issues, and am still finding using a keyboard and computer hard work.  It still feels wrong, and those issues are on top off those presented by poor letter placement.

    Last edited by pinkyache (15-Jun-2015 08:59:16)

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

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

    Seems that it's entirely possible to use latch (dead-key-type) instead of switch (shift-type) modifier keys (Wrona does that for Shift, apparently, and he's one of the fastest there is!). So if you hate chords, you could even tweak Extend mappings to become latched. But I think one loses a lot that way, as one frequently needs a chain of actions and I wouldn't want to press the modifier repeatedly. For a more standard AltGr mapping level, it'd be quite good I think, as you usually only type one symbol at a time (say, a bracket).

    Last edited by DreymaR (15-Jun-2015 09:10:15)

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jun-2015
    • Posts: 5

    Yep chords are a real pain for some letter combinations. There exists a region near where my middle and index fingers lie that have no problem with Chords, its just those pink and ring finger stretches; they can be brutal.

    I gave a lot of thought to exactly what I wanted out of the extend mappings, I originally planned to go with the layout you had in your bag of tricks, but I found the Caps Lock quite valuable as a Backspace and Shift-Delete.

    What really caught my eye was just basic navigation, like arrow keys, pgup, pgdn, home, end, appskey, scroll up and down, escape. These are very valuable in handling text, and I laid them all out on my left hand. While I was practising Dvorak, I got into using my left thumb for the space bar since most letters end with consonants which are mostly on the right hand in the Dvorak layout. I had no problem using either thumb, but I realized that I might as well use the left thumb for space and the right thumb for the extend layer; it was a guess that worked out quite nicely. I do have Ctrl, Shift, and Alt bound to n, e & i in the extend layer, so I have to chord that but its largely painless, since they are quite comfortable chords. Plus this allows me to do a lot more with the extend layer mappings on the left hand.

    Most of all though, as a programmer, the thing I liked best about the Extend Layer was the Space turning into Enter.. brilliant idea, it's serving me well. I had a few gripes about the Caps Lock turning on with either the backspace, or with both shifts pressed simultaneously, I decided to go with the latter, since the way my Num Row is designed, they respond to Caps Lock for strings of numbers (I work a lot on my laptop, so no access to a Num Pad).

    I also read that Wrona uses his Shift keys as Caps Locks, but his reasoning was that it took the timing aspect of uncertainty away. He types at a blazing speed at which point the uncertainty of shift is a real big factor for him; I might look into it later, but I would have to reteach myself some punctuation.

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

    For Backspace, I find Caps+O really simple. With Caps+T+O deleting words, it's near perfect. (See my new Extend topic if you wish.) Indeed, the arrows etc alone are good but it's with easily reachable modifiers everything comes together as extremely powerful. Which for the most part means chording, but with most everything on the homerow it's delicious yummy chording and not bad unwholesome chording. ;-)

    I agree that the AltGr key is a good position for a modifier. If I hadn't already been using it I'd have liked to use it for Extend too – but it was already taken by AltGr mappings which I also love.

    I use Caps so rarely that Caps+Esc is just fine for that functionality.

    Last edited by DreymaR (15-Jun-2015 09:34:47)

    *** 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: 978

    Hi Zonex, nice report on your journey so far...

    Although many of use Colemak (or variants), there is quite a lot of personal customization when it comes to what people prefer to do regarding backspace, caps lock, AltGr, etc.

    Interesting that you have created a "programmer Colemak". What I have done is create an additional layer for common symbols on my AltGr key, which contains brackets and other programmer characters. I also use the Extend layer, on CapsLock, which is almost identical to DreymaR's.

    However, I can see there are also some nice advantages of having the Extend layer on a thumb key, such as AltGr. One of the problems I find with using CapsLock as Extend, is that your left hand moves away from the home position, which makes it more difficult to be accurate when combining with Shift (on S) or Control (on T).  Although it gets easier with practise I still make frequent errors in that regard. In an ideal world all such modifying keys would be on thumbs, my contention is that pinkies are not very good for modifier keys.

    For those that want Extend via thumb but also keeping their AltGr layer, another interesting possibility is this:
    Define Extend on Left Alt.
    Define Left Alt on CapsLock.
    Retain custom character layer on Right Alt / AltGr.

    This gives the thumbs lots of interesting things to do, and allows the left hand to remain in the home position while accessing Extend. Of course, the downside is having to learn a new place for Left Alt. But for me Alt is probably the least used of the modifier keys, despite it having the easiest to reach position! Any thoughts? I might actually give the idea a try-out.

    Last edited by stevep99 (17-Jun-2015 09:49:02)

    Using Colemak-DH with Seniply.

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

    I don't find hitting Caps+S/T difficult at all, given that you have the homing nub on T! They feel like second nature to me – but I've been doing it for many years now. And I actually consider Extend a part of the home position in a way, like D/H and apostrophe are in effect.

    But yes, a thumb Extend key might be better for some. Alt sounds like a good choice at that.

    Last edited by DreymaR (16-Jun-2015 23:09:31)

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 26-Oct-2013
    • Posts: 71

    - Backspace Caps Lock

    The Backspace key is important enough to warrant two. The idea being that you can use it with either hand. But I like having CapsLock, too. I have it set so that if I press both shift keys it toggles capslock.

    In an ideal world all such modifying keys would be on thumbs, my contention is that pinkies are not very good for modifier keys.

    Then you may be interested in keyboard.io kickstarter which recently started. I was eager to get this keyboard until I came to the opposite conclusion as you. The thumbs are terrible for modifiers, because modifiers are meant to be pressed in combination. I can press Ctrl+Alt+Shift with just my left hand, but if you're using thumbs, even two modifier keys requires the use of both hands, then you need to stretch to hit whatever key you're after. The little fingers are perfect for modifier keys because you can easily hit multiple modifiers and because modifiers are meant to be held down instead of repeatedly hit quickly like typing keys, so you don't need so much precision.

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jun-2015
    • Posts: 5

    I don't mind having one Backspace solely on Caps Lock, it's the fact that my fingers don't have to move from the homerow that's good about it. I did give thought to making Caps Lock a toggle when both shifts are pressed, I might revisited it at some point.

    Could you tell me what are the pros of having 2 backspaces? It can't really be like having 2 thumbs for space bar, it makes almost no difference sing 2 thumbs instead of just one :/

    Offline
    • 0
    • Reputation: 0
    • Registered: 26-Oct-2013
    • Posts: 71

    the pro to having two backspaces, as i stated, is that you can use it with either hand. most of the time, you will only ever need the one on the left. but if you have two, you'll see the advantage when you're doing something like typing numbers (on the row, not the numpad). because in this case, the righthand backspace will be closer and on the "home" row (same as the numbers). another example is when making a correction before entering something. i find i often need to delete just one character, then press enter. unless you always keep both hands on the keyboard, this will be easier to do with just your right hand. imagine you take your hand off the mouse to delete a character, then hit enter

    if you do decide to toggle capslock with both shifts, i suggest using one of the shifts as a modifier for the other. for example, i actually need to hold down the left shift key first, then press the right shift key. i tried having it toggle when i press both down together, but sometimes i'd miss the timing and it wouldn't toggle. by using one key before the other, i can take however long i want to accurately toggle capslock

    you'll probably use autohotkey to do this on windows. i use karabiner on mac.

    i don't get your analogy to using two thumbs on the spacebar. that's the other way around, because that's two fingers for one key, instead of having two keys that do the same thing. however, since you brought it up, it does make a difference :p

    most people type space with only their right thumb, but if you game, you probably type it with your left. depending on context, i find that i need to be able to hit the space bar with either thumb. i'm particularly aware of this because i use a keyboard at work that has two space bars. often i've wanted to change the left one to an Fn key, but i game and need it to jump, so i keep two space bars.

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jun-2015
    • Posts: 5

    Well I used my right thumb for qwerty, and left thumb for everything else, but at this point, I just use whatever comes naturally.

    You also mentioned having the backspace for numbers or when transitioning to the keyboard. The way I've set up my number row resembles the Programmer Dvorak, so my numbers are actually on the shift layer (or on Caps Lock). If I do want to input a string of numbers, I usually have to activate Caps Lock (which is Backspace at this point). Having the the right Backspace for numbers is only useful when I'm entering multiple numbers at a time, since my hands will probably rest of the Number Row for a short while. I feel this is offset by having my Caps Lock activate, but I do see where you are coming from.

    And yea, I played around with the toggle a bit for both shifts, and what you said about one Shift toggling the other makes a lot of sense, I might incorporate that at some point. Personally I hope to be so fast at some point where I can treat both my Shifts as Caps Locks (like Wrona does), but that probably won't happen.



    On another note though, I feel like I am decently comfortable with Colemak now and I'm starting to discover a few pet peeves at this point. It seems to be things other people have noticed as well; Mainly the lateral index movement of the home row keys D and H. I was looking into the DH mod; specifically the DGB and HK. I also use an ISO keyboard so I could probably adopt the Angle ergonomic layout without much issue. A question I have though (for stevie or Dreymar or anyone really) is about the placement of H and M. Though having the H move down is a lot more comfortable, I was thinking it might be better to have the M and H switch spots (as in H on the right, M on the left); The 'HE' bi-graph being about 3 times more common than the 'ME' bi-graph seems to warrant a more comfortable position for pressing the specific letter combination. I feel the reason this was omitted was that it would cause yet another key change. To me personally, I don't mind a few weeks of frustration with that subtle of a switch. Let me know what you think :)

    PS. With the angle ergonomic change, I'm able to move the semi colon/colon to where B normally sits, which is great for programming so there's that :p

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 978
    youBane said:

    Then you may be interested in keyboard.io kickstarter which recently started. I was eager to get this keyboard until I came to the opposite conclusion as you. The thumbs are terrible for modifiers, because modifiers are meant to be pressed in combination. I can press Ctrl+Alt+Shift with just my left hand, but if you're using thumbs, even two modifier keys requires the use of both hands, then you need to stretch to hit whatever key you're after. The little fingers are perfect for modifier keys because you can easily hit multiple modifiers and because modifiers are meant to be held down instead of repeatedly hit quickly like typing keys, so you don't need so much precision.

    It's a good point about the case when 3 modifiers are needed. But then again, that's probably quite rare. It seems a bit bizarre to me that three modifiers should really ever be needed simultaneously. If there were a convention in software to not use more than two, we would still have plenty of layers:
    Shift
    Ctrl
    Alt
    AltGr
    Shift+Ctrl
    Shift+Alt
    Shift+AltGr
    Ctrl+Alt
    ...?
    And that's not counting the Win key or the possibility of compose keys.  Combining even with the 70ish keys of the main section of the keyboard gives you well over 500 possible characters/functions, which ought to be enough in theory. 

    Another possibility, if you use software that makes use of Ctrl+Alt+Shift a lot, would be to define a single key to represent two (or even three) modifiers.

    Last edited by stevep99 (19-Jun-2015 10:41:56)

    Using Colemak-DH with Seniply.

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 978
    Zonex said:

    On another note though, I feel like I am decently comfortable with Colemak now and I'm starting to discover a few pet peeves at this point. It seems to be things other people have noticed as well; Mainly the lateral index movement of the home row keys D and H. I was looking into the DH mod; specifically the DGB and HK. I also use an ISO keyboard so I could probably adopt the Angle ergonomic layout without much issue. A question I have though (for stevie or Dreymar or anyone really) is about the placement of H and M. Though having the H move down is a lot more comfortable, I was thinking it might be better to have the M and H switch spots (as in H on the right, M on the left); The 'HE' bi-graph being about 3 times more common than the 'ME' bi-graph seems to warrant a more comfortable position for pressing the specific letter combination. I feel the reason this was omitted was that it would cause yet another key change. To me personally, I don't mind a few weeks of frustration with that subtle of a switch. Let me know what you think :)

    PS. With the angle ergonomic change, I'm able to move the semi colon/colon to where B normally sits, which is great for programming so there's that :p

    Welcome to the Modified Colemak club :)
    I use the full version of the DH mod (not surprisingly) so my H and M are simply swapped relative to standard Colemak.  As you say, HE is much more common, so I think it gives the best possible experience to have the H in the most optimal position. The down side of that though is it changes an extra key relative to Qwerty, since if you swap HK you get to keep M unchanged while still gaining an improvement. So it's really a question of how much improvement you want vs how much change.
    A similar argument can be made regarding the left-land D change too.

    Last edited by stevep99 (19-Jun-2015 10:57:40)

    Using Colemak-DH with Seniply.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,361
    Zonex said:

    A question I have though (for stevie or Dreymar or anyone really) is about the placement of H and M. Though having the H move down is a lot more comfortable, I was thinking it might be better to have the M and H switch spots (as in H on the right, M on the left); The 'HE' bi-graph being about 3 times more common than the 'ME' bi-graph seems to warrant a more comfortable position for pressing the specific letter combination. I feel the reason this was omitted was that it would cause yet another key change. To me personally, I don't mind a few weeks of frustration with that subtle of a switch. Let me know what you think :)

    Sounds like a bridge too far to me. The gains would be pretty minimal at the cost of moving an extra key. I won't be recommending it unless there's really compelling arguments for it, and there isn't so far.

    I do the Curl(DbgHk) mod because I find the down-and-out(!) positions for the index fingers really comfortable; Steve prefers the down-and-in ones. Seems like you want the DbgHk mod but still prefer the down-and-in position for the H because of the HE bigram? I find the HE bigram very comfy with my mod, and can't help but think that if you actually like the down-and-in positions that much you could try Steve's DH mod out instead of moving that extra key?

    Last edited by DreymaR (19-Jun-2015 18:08:46)

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

    Offline
    • 0