Switching to Colemak

41 points by pta2002 a day ago on lobsters | 48 comments

coxley | a day ago

Who would switch to Colemak?

says guy who switched to Dvorak at age 12

Jokes aside, switching layouts is a nice forcing function to improve touch typing, but it's pretty radical. Not sure I'd recommend it to everyone.

I use vim keybindings everywhere (I’m writing this in Neovim!), and the hjkl keys are specifically chosen due to being in the home row in QWERTY keyboards, but they’re all over the place in Colemak, which is making using it a rather miserable experience

This is marginally better for Dvorak: jk is left hand, hl is right hand, and they're in the right order. Changing bindings is a slippery slope because lots of non-vim software has a vim-mode, and other default motion/verb keys have semantic meaning.

kbd | a day ago

Switching to Dvorak early was a great decision. A lifetime of less painful typing. Dunno why anyone would pick Colemak over it, since as you mentioned, Dvorak keys are often more suited for computer use.

donpdonp | a day ago

When I used dvorak (for years), the benefit was much less stress in my hands when typing. I thought my WPM would go up but it didn't. The comfort alone was worth it. If I had to pick one today, colemak is the better choice because dvorak gives 3 very common key positions (Q W E) to symbols and it feels like a waste. Colemak keeps all the letter-keys as letters. Colemak also has more keys in common with qwerty, making it easier to learn.

kbd | a day ago

The comfort alone was worth it.

100%. If you know Dvorak and type in QWERTY again it feels so much worse.

The biggest overall benefit Dvorak has over Colemak is its vowel/consonant split between left and right hands, providing a back-and-forth feel. What's "best" in typing isn't just what lets you have the best raw wpm -- if you type the same speed in dvorak and qwerty it's still a huge win to use dvorak -- or what has the optimal letter frequency, but what feels best in typing. I've heard that Colemak is slightly more optimal theoretically, but without the vowel/consonant scheme, and without computer keys being in as good a place, Dvorak still wins imo. But, I haven't spent the time to learn Colemak so you have a more informed opinion than I do.

rprospero | 9 hours ago

I made multiple attempts to switch to to Dvorak in my twenties and the back-and-forth feel was the part that I always bounced off of. There's a cost to context switching between typing with my left hand hand versus my right. Thus, the more letters in a row that I can type with a single hand, the faster my typing tends to be, while switching back and forth constantly requires a pause to switch hands.

My standard disclaimer: I have cerebral palsy and only partial function with my left hand, so this may just be a me issue.

alper | 4 hours ago

I had six weeks with one hand in a sling and I tried to teach myself one handed Dvorak in that period, but it wasn't long enough or I should not have expected that much from it to begin with.

toastal | 9 hours ago

Underrated is the - key on the home row for kebab-case & snake_case programmers. Any short stints I did in non-Dvorak layouts, this was a killer thing I miss (even if crl locations are less than ideal). …Well not to mention the diminishing returns once you get off of QWERTY.

alper | 20 hours ago

It's even better if you're typing say Japanese where many of the words map directly to kana which are consonant+vowel.

nonagoninf | a day ago

Dunno why anyone would pick Colemak over it

Colemak is easier to learn for people who type QWERTY:

  • Only two keys change keyboard halves.
  • With the Tarmak progression, you can switch from QWERTY to Colemak-DH in a bunch of steps. This is how I did it - go to the next step on Friday evening, practice a little during the weekend, be fast enough again on Monday to continue working without a huge speed loss.

Besides that Colemak DH does better than Dvorak on most typing statistics (SFBs, rolls, etc., though Dvorak does more alternations), preserves some common shortcuts (ZXC and almost V), and does not make typing ls miserable :). Another benefit is that it is fairly easy to go from Colemak-DH to even more optimized layouts (since they are similar), like aptmak or Canary.

That said, had I learned Dvorak, I probably wouldn't have switched to another layout, the largest improvement is going from QWERTY to something better.

kbd | a day ago

the largest improvement is going from QWERTY to something better.

Agree. Dvorak vs Colemak is minor vs QWERTY vs anything else.

Re: shortcuts, I often find dvorak computer shortcuts better than qwerty. Obviously there's the big exception where 'v' is on the right hand, but having j/k next to each other on the left hand is very convenient for scrolling. I also like having all the bracket symbols next to each other on the number row, for example.

[OP] pta2002 | a day ago

I figured the switching costs between Dvorak and Colemak would be more or less identical, so I ended up picking Colemak since it was always recommended when alternative keyboard layouts were brought up. In the end the keybinding situation has not bothered me that much, I'm pretty used to the extend layer by this point.

technomancy | a day ago

The cost of learning Colemak is much lower than learning Dvorak (assuming you know Qwerty) because Dvorak was not designed to be learned by Qwerty users. There are lots of gratuitous differences that have no benefit, whereas in Colemak if there is no benefit to moving a key they mostly left it the same. I have typed Dvorak since 2003 but I recommend Colemak over it for this reason.

It's even easier if you use a gradual transition system like Tarmak: https://dreymar.colemak.org/tarmak-intro.html Basically you only shift a few letters at a time, and you can stop progressing at any point and still have a layout that is much, much better than Qwerty.

toastal | 9 hours ago

was not designed to be learned by Qwerty users

Is this always a goal? Many users never really learned QWERTY… either still largely hunt-pecking or typing oddly with only 2–3 fingers instead of 4. If going to learn from scratch, needing to be closer to QWERTY can be seen as a non-issue.

Rovanion | a day ago

As someone who also switched at about age 13 and has spent their entire life rebinding keys in various programs, I am not sure I agree. Ctrl-X, Ctrl-Y and Ctrl-Z are all over the place and Ctrl-Z is not possible to press with the left hand. What some of my friends did in Windows was use/write an AutoHotkey script which had the option to switch the layout to QWERTY (i.e. suspend the Dvorak-conversion-script) when for example Ctrl was pressed. I never took the time to figure out how to do this on Linux, if anyone happens to know I would be delighted to find out after all this time.

alper | 21 hours ago

I picked Dvorak up decades ago and though I've been tempted to switch to something more "optimal", I remember how steep and terrible the switching cost of something like this is and I happily keep typing Dvorak.

coxley | a day ago

Haha, it was more chance than a forward-looking decision! I'm sure if any of the tech forums I frequented made a convincing argument for Colemak being the "cooler thing", I'd have done that.

Few complaints after 20 years, though. :)

[OP] pta2002 | a day ago

Changing bindings is a slippery slope because lots of non-vim software has a vim-mode, and other default motion/verb keys have semantic meaning.

Yeah, this is why I ended up not changing anything and just using the extend layer. In practice, I can hold caps lock and now the movement keys are back at the home row, and every vim-mode software I use supports that just fine (plus, non-vim software as well!)

coxley | a day ago

Whichever works for you!

I still have a fantasy of learning the one-handed variants eventually. Who knows if it'll ever actually happen.

antlers | a day ago

i've been using a caps-bound extend-layer on top of sturdy (ie. getreuer-flavored magic-sturdy), but am finding the lateral-movement & holding with pinkies straining. i don't recall having any issues with home-row mods, but in both cases i'm bothered by needing two hands to comfortably perform many combos. very exited to be working on a combo & text-expansion based layout+build that will empower both hands while eliminating lateral movement & the bottom-row + top-pinkie keys, going to build up a whole devil-mode inspired IDE & windowing keybindings-scheme on top of it c:< (at this point, will still involve some pinkie-holds; hopefully mitigated by lighter switches...)

pleased to see canary mentioned in other comments, surprised to not see graphite / gallium yet

Glazing3326 | a day ago

Yep, I switched to Colemak to improve my touch typing. This was about three years ago and I'm still not faster (though I've stopped actively training) than on qwerty with my flawed touch typing. I did switch to a keyboard with a total of 34 keys and while it's really nice for touch typing and all, I'm pretty sure it slows me down further. WPM is seldom an issue in my line of work though :)

singpolyma | 21 hours ago

I don't think you'll ever be faster. Your hands may hurt less though

bjeanes | 20 hours ago

I switched to Colemak in around 2008, before I started using Vim in 2011. The Extend layer either didn't exist then or I didn't notice it because this is the first time I've seen it explicitly. I didn't know enough about Vim when starting out to want to remap hjkl (and I was working at a consultancy that was doing a lot of pair programming anyway). The consequence is that I just used hjkl where they were in Colemak and completely internalised it and now I don't know how to use Vim in QWERTY 😬

toastal | 9 hours ago

Most Dvorak users learned the keys were they are too. Luckily j & k are still next to each other & h & l are still to left/right of each other as expected. I still often use arrow keys like a cheater in many cases since I use 70% keyboards so the leap is smaller (& when I used an ErgoDox, it was just the bottom row).

alper | 4 hours ago

Yeah, vi mode in Dvorak is fine. Never had any real issues with it.

nelson | a day ago

I wanted to learn to touch type properly and get rid of these habits that were on track to giving me RSI. ...

I tried this about 30 years ago, switching to Dvorak. I quickly realized what was injuring my hands wasn't the position of the letters but rather all the chord combinations. Ctrl-A and Ctrl-P are just as much a contortion in Colemak as QWERTY. Emacs was a particular crippler.

My solution at the time was to switch to a Kinesis, which has you using your thumbs for more and in particular for Ctrl and Alt. That saved me at the time. Now I'm back to a normal keyboard but I can manage the injury by just being careful about ergonomics and breaks.

rkallos | a day ago

I went through something similar.

After beginning to develop RSI from typing in QWERTY on laptop keyboards, I switched to Dvorak, then eventually bought a Kinesis Freestyle split keyboard. That helped for several years, but I slowly began developing RSI again, possibly because of overuse of some painful finger contortions for various keybindings, possibly due to factors outside of keyboard use, e.g. smartphone use.

Now I'm typing on a MoErgo Glove80, which I love. It's flashed with Glorious Engrammer (https://sunaku.github.io/moergo-glove80-keyboard.html) and I'm using the Enthium layout developed by the same author. It is now very comfortable to type at my desk, and I've slowly re-learned to use QWERTY when I'm away from my desk.

Learning a new layout is slow-going, but online tools like keybr.com (mentioned in the OP) are very handy. You open the page, type until you don't feel like typing anymore, and see your progress over time (or lack thereof)

While I was struggling with RSI before getting the Glove80, I also started using (and paying for) Talon, which is an awesome piece of software for controlling a computer with your voice. I use it more sparingly now, as a supplement to typing.

Take care of your bodies, everyone!

nonagoninf | a day ago

Now I'm typing on a MoErgo Glove80, which I love. [...] While I was struggling with RSI before getting the Glove80

Hah, same. I have been using a Glove80 for three years now and my wrist pains are gone. Of course, what causes the pains differs between people, so YMMV, but for me it helped a lot. I also once wrote a review of the Glove80: https://danieldk.eu/MoErgo-Glove80-Review

nonagoninf | a day ago

I quickly realized what was injuring my hands wasn't the position of the letters but rather all the chord combinations.

I agree partially with your point, but there are more factors that come into play. E.g. some people switch to column stagger keyboards, which can lighten the load because fingers have to make fewer lateral movements (primarily the index finger during normal typing). However, on column-stagger keyboards, QWERTY is quite bad due to a lack of alt-fingering and bad positions of the very frequent letters T and N on column stagger keyboards (requiring a diagonal index finger movement). For such keyboards, layouts that unload these diagonals work much better (e.g. Colemak-DH has bvjk in those positions, which are not extremely frequent).

rkallos | a day ago

I remember reading your review when I was considering buying mine :)

Thank you for writing it!

gcupc | a day ago

When I switched to Colemak 14 years ago, it helped my RSI, but there were still Emacs issues. My first real solution was to make Caps do double function as Bks/Ctl and Enter as Ent/Ctl, using kmonad. My second was to start using an Atreus keyboard where most of the modifiers are on thumbs. My third, and most recent, is to switch the Atreus to the Miryoku layout (home-row mods, layers on thumbs), and my other keyboards to Miryoku-lite with kanata (home row mods, one alt layer on space).

denis | a day ago

I switched to Colemak this year, and used the Tarmak intermediate layouts (https://forum.colemak.com/topic/1858-learn-colemak-in-steps-with-the-tarmak-layouts/) to gradually move from QWERTY to Colemak. It took a while, but it was fairly low effort. I’d never have switched if I had to go cold turkey.

Overall, I’m happy to have switched. It has noticeably reduced the strain on my fingers.

jamesw | a day ago

For vim bindings, I personally hold right-alt with my thumb to temporarily get QWERTY using the grp:switch xkb option. It feels very comfortable and was easy to learn.

Similarly I use grp:shifts_toggle to toggle to QWERTY for things like games which look for WASD.

Good luck with the switch! I'm glad I did it :-)

matklad | a day ago

I switched from qwerty to workman in about 2021, and my typing speed stayed the same (80-ish WPM) after a period of adaptation. Maybe there was a small change, but nothing life-changing.

I am currently 0.8 sure that the experience of people who observe their typing speed improving after switching layouts is explained not by the difference in the layout itself, but rather by the fact that letters printed on the keycaps do not match actual layout (so one is forced to not look at the keys).

What did meaningfully improve typing speed for me:

  • learning the theory (hand positioning, using all fingers, etc)
  • several years after that, forcing me to not look at the keys, by covering the keycaps with opaque adhesive tape.

So, my recommendation: if you goal is to improve typing speed, before switching layout, try:

  • covering the keycaps with anything that sticks and is opaque
  • or getting a badass looking blank keyboard

[OP] pta2002 | a day ago

I'm pretty sure that the improvements I'm noticing are coming from finally forcing myself to use the correct finger positions. However, I never got that to stick with QWERTY, and by switching I automatically get that + not looking at keycaps. Plus, I get the benefit of a slightly more ergonomic layout.

DanOpcode | a day ago

I switched to Colemak about 12 years ago. I can still type Qwerty, and I quite frequently switch between Colemak and Qwerty, as well as Swedish & English variations of them.

I haven't measured my speed. But my feeling is that I type about the same speed with Colemak as with Qwerty. Supposedly the economics is better with Colemak, and since I know it I have continued with it.

But to new people I cannot recommend learning Colemak. Since I'm Swedish, I most often interact with other Swedish developers. And to them I recommend learning English Qwerty instead. Swedish Qwerty is quite awkward for special keys when programming. So English Qwerty I think offers much greater return on investment than Colemak. It's like the 90/10 rule, with 90% of the return for 10% of the investment if you compare Colemak with English Qwerty.

untrusem | a day ago

I am pretty weird in terms of layout I use, I am not a fast typer, I peak at around 70-75 wpm, but it was not the reason I chose alternative layouts, its beacause it feels comfortable and cool to me :P (those typing world records montage). I have been using canary keyboard laybout on laptop for around 2 years, before that it was Programmer's Dvorak. On Android, I use flickboard by @natkr which is not your usual keyboard.

One thing that makes using these alternative layouts easier is home-row-mods and programs like kmonad, I won't be able to use emacs without the help of these :P

And I don't recommend anyone to switch over to alternative layouts if you think it will be a comfortable ride and you will some super saiyan speed (at least, I couldn't) but it was worth it for me ^^

patryk | 23 hours ago

I feel like discussion about keyboard layouts is mostly focused on monolingual typing. I was doing some research a few years ago to help with my RSI and based on my notes, some code & scraped snippets of conversations with friends (mixed to roughly match real-life proportions). The main conclusion of this was that there are layouts that are a bit better (e.g. MTGAP), but majority of "popular" ones - were slightly worse or the difference was statistically insignificant. Of course, I have to make 2 disclaimers:

  1. Text corpus was made mainly of english, polish, python and elixir
  2. I'm already decently fast with qwerty at about 90WPM

And the biggest differences I've felt were:

  1. moving from "regular" slab keeb to split (redox)
  2. upgrading my redox to redox manuform

strongly-typed | 23 hours ago

For the interested, I created a youtube channel showing various keyboard layouts in action. At one point I was able to type in 3 layouts at the same time (layoutfluid). For a few years around the time of covid, I spent far too much time thinking about layouts and the ergonomics of typing... developed several keyboard layout analyzers and keyboard layouts. The more I learned new layouts, the more variables I discovered, and the more I realized the variables that mattered to me weren't the same variables that mattered to others in the community.

FWIW I'm currently typing on this:

< U O Y J  K D L C W X + |
 A I E N P  M H T S R _
  ? : " > Q  B F G V Z

/ u o y j  k d l c w x = \
 a i e n p  m h t s r -
  , ; ' . q  b f g v z

EDIT: grammer!!1

I also ended up making my own layout, heavily inspired by several alt layouts like Hands Down and Graphite but adapted to typing in Swedish and my own quirks (right pointing finger got crushed in a car door as a teen so has limited mobility).

q m h k v   j y o u å ö
r s n t p   g c a e i ä
x f l d b   z w ’ . ,

This one has been stable and working for me for at least 2 years now.

ahelwer | a day ago

I am seriously considering switching to Dvorak or Colemak as a lifelong QWERTY user. Recently acquired a Kinesis Advantage and love it, but programming in vim is fairly awful. Every bracket type is input by your 4th and 5th fingers on your right hand. I hear there is a “programmer’s Dvorak” layout which solves this.

nonagoninf | a day ago

A properly designed symbol layer is going to help you much more. Personally, I did n-gram statistics over programming projects that I work on frequently (since everyone has a different mix of programming languages) and designed a symbol layer based on that.

(e.g. unigram frequencies tell you which symbols to put on the home row, etc., but then you also take into account frequent bigrams, so that typing them does not cause same-finger bigrams, but preferably rolls etc.)

sloane | 18 hours ago

is there any chance you could briefly describe, or point to an example of, the process for doing this ngram analysis? i can tell that my symbol layer is poorly designed relative to what i type, but it’s not obvious to me how to fix it.

nonagoninf | 11 hours ago

I lost my script, but you can write it in a few minutes. I ran it over the projects I was working on, giving an output like this:

https://gist.github.com/danieldk/00a2dd05c8a012b7b049a25f23e23062

Then I manually crafted a layout for it, using the unigram frequencies to give the most frequent symbols home row positions, but taking frequent bigrams/trigrams into account to avoid bad finger movements and to avoid that for a bigram I'd have to go to different layers. To the latter point, I'm using two symbol layers, one that is triggered by holding a thumb key with the left hand (with the main symbols on the right hand) and one when holding a thumb key with the right hand (with the main symbols on the left hand). If you have a frequent bigram, where the symbols are on different layers, it'd require an awkward alternation between holding the left thumb and the right thumb and vice versa.

Of course, it would also be possible to throw this in a (modified) layout optimizer and let the optimizer figure out a layout for you. I think some optimizers allow you to use arbitrary alphabets, so you could give it n-gram tables and the symbols as the alphabet. But I haven't gone that far.

sloane | 6 hours ago

thank you for elaborating and providing an example! i may take a shot at this this week…

smoores | a day ago

I use the programmer's Dvorak layout on my split keyboard (a ZSA Moonlander). It is better for symbols/programming, but it took me longer to get used to the rearranged symbols than it did to learn the basic Dovark keyboard. Also I have a numpad layer on my Moonlander — I don't think I could ever have adapted to the numbers being out of order. I know the number order isn't technically random, but it's not actually a pattern that you could describe in one phrase, either, and so my brain just couldn't get it to stick!

brice | 8 hours ago

If you're considering getting started with an alternative layout, nowadays there are better options than Dvorak and Colemak. Gallium and Graphite are commonly recommended, although over-analyzing this is a whole hobby.

gcupc | a day ago

I switched to Colemak 14 years ago, and have stayed with it. Stock Colemak, rather than Colemak-DH. I was already a fast touch typist (~100wpm, learned on an IBM Selectric), but I was dealing with RSI, and it helped quite a bit. I never really recovered my full typing speed, am now around 85wpm, but I don't really care, as it's fast enough.

There are definitely more optimized keyboard layouts, but Colemak is available everywhere these days, is less disruptive than some others, and is a good 80% solution.

aarroyoc | a day ago

I've been using Colemak in a Keychron K11 Max for about a year. Previously I had speed on Spanish QWERTY keyboards but not I did not touch type. With Colemak I can touch type but I'm still quite slow for my own liking (and I do many mistakes). It doesn't help that when I need to do something for serious I move back to a laptop with QWERTY to concentrate better.

I'm seriously thinking on giving up. Maybe it was just a better idea to touch type on US QWERTY (which is very similar to Spanish, except for symbols, which are better positioned I think). It also adds a configuration burden every time I go to a new system that I don't want to have.