47 comments

[ 2.1 ms ] story [ 95.2 ms ] thread
Did u setup your fone to use colemak and how much hassle was it?
I didn't set up my phone with Colemak (maybe in the future)
Android's Google Keyboard comes with Colemak built-in. iOS requires a third-party keyboard, unfortunately.
Has anyone become truly proficient with multiple layouts? Can you shed light on what it's like to switch throughout your day or week?
I personally pretty much ditched QWERTY for now (I use it only on my phone).

But I think it's possible to maintain 2 layouts in your muscle memory

(comment deleted)
I'm 'fluent' in QWERTY and DVORAK. Learned QWERTY when I was 13 years old, learned DVORAK around college years. For DVORAK I used Stamina Typing Tutor - https://typingsoft.com/screenshots.htm It was frustrating at first, but within a few months I only made mistakes with very rarely accessed characters.

Since then I've been able to switch between the layouts swiftly. At work I use Dvorak on my external keyboard, but when I take the laptop with me I switch to QWERTY. The switch is a mental flip akin to talking in another language (I'm fluent in Russian and English).

I think the switch is very worth it. If I was re-doing it, I'd probably learn Colemak instead of Dvorak (apparently it's a slightly better choice for some reasons).

My experience was quite different to that described in this article. Around 20 years ago I switched to Dvorak on my personal computer. It took me about two weeks to get used to it, and maybe four more to gather up to the speed I typed in QWERTY. Throughout this I still used QWERTY on other computers, like the family computer and computers at university.

I had no trouble switching between layouts, and could type 60wpm in each, in consecutive minutes. I tested this when I had my computer in the family room connected to the family computer to transfer files (parallel cable!). I had one keyboard on the desk and the other on my lap and had no difficulty with the different layouts while working on both computers simultaneously.

I never got much faster in Dvorak than QWERTY, but it was much better for my hands on the keyboards of the time.

When I moved to France I would use the Canadian French keyboard layout which was QWERTY-based with subtle changes and a whole bunch of modifiers for different accents above/below standard Roman letters. I was surprised at how quickly I adapted, even to the character variations. It took only a week or so to become proficient. While dvorak et al are certainly more different, I think it isn’t unrealistic to master those layouts in a week or two. Muscle memory is a remarkable thing.
I used to be fluent in QWERTY, Dvorak, Colemak, and Carpalx (i.e. >60 WPM on any of the listed). To learn each I did the cold turkey method the author seems to have settled on as well. The first alternative (Dvorak) took about 2 weeks to get to the same proficiency but I was using a desktop computer for ~16 hours a day during this time period. I followed up with Colemak to see if it really was any better and then heard of Carpalx shortly after that. I ended up liking Carpalx the most though it comes at the cost of not being preinstalled. The Carpalx website has the X11 keyboard definitions, I had to make a custom Windows keyboard layout install package for my work desktop.

Nowadays I'm only fluent in QWERTY and Carpalx since I stopped using the other two once I made my decision but switching is no different for me than when it was 4.

Anyways to answer your question now that the background is out of the way: Switching for me seems to be more a function of how comfortable I am with the layout than anything else by far and I've become extremely comfortable with the layouts I use. I can switch between QWERTY and Carpalx instantly and I very often do e.g. when a game was coded based on the letter sent instead of the scancode or when I'm in an RDP session to a prod box.

The only time things can get jumbled for me is if I'm working in RDP with QWERTY on one monitor and another layout locally. Jumping between I often forget it's a different layout because I haven't consciously switched by triggering the input method toggle keyboard shortcut like I normally would. The solution is simple though: If I'm going to spend a lot of time hopping between the RDP session I'll just toggle to QWERTY globally until I'm done.

I'm a swiper on phones so it makes sense to leave it qwerty since that's what the swiping algorithms target.

I suggest looking into the BEAKL layout.
Funky! Numbers are re-ordered `40123 76598`
One thing I always miss when I see statistics such as "Your fingers on QWERTY move 2.2x more than on Colemak," is an explanation of what activity you're presumably doing then. I'm guessing the assumption is that you're writing pages and pages of English text. As a programmer in a non English speaking country I have no idea how that translates to my use case. 50% of the stuff I write is code. Sure, there's a bunch of English words in there, but I seldom get further than three letters before I mash my Emacs binding for autocomplete. When I write text, it's often internal emails that may not be in English.

So, perhaps my fingers don't move 2.2x more when using QWERTY. Perhaps they move less?! Maybe unlikely, but I really have no idea.

I haven't yet tried switching to Colemak or Dvorak, but when I started to get real bad RSI I switched to a split ergonomic keyboard and it made a world of difference. On top of that, it helped a lot to adjust the keymap so the keys I need most often are comfortably reachable.

YMMV, different people have different conditions, etc.

Can you please share your keymap customizations?
Mapping CAPSLOCK to LCTRL is a common one to make CTRL+C/CTRL+V much easier with your pinky and not require bending your wrist unnaturally.
Current ergodox keymap is here: https://configure.ergodox-ez.com/ergodox-ez/layouts/yov40/la...

Most of my typing is in emacs, so having the ctrl/alt modifiers on the thumb clusters was important for me; it lets me navigate easily without moving my fingers much.

Redox layout (which is closer to stock) is here - this is for QMK Configurator: https://github.com/jfrederickson/dotfiles/blob/master/keyboa...

Less customizations there, though I swapped ctrl/alt to match my ergodox layout.

I've been contemplating switching to Colemak for years but I'm ultimately reluctant to because most of my day is is split between typing in English and typing in a second language (for which I can only assume it wasn't optimised for).

Does anyone know how the cited benefit analysis is done? Is there a github project I can just feed a dictionary to to and get a 'benefit' score from?

Also, just to echo a couple of the other comments here - switching to an ergonomic keyboard without row offsets (ie. something like an ergodox[1] or planck[2]) is a huge, huge leap in ergonomics and comfort. Personally I feel the discussion we should really be having is about moving away from the pointless typewriter-hammer-collision-avoiding row offsets we're all forced to suffer, and towards something that reflects the range of motion of our fingers.

[1] https://www.ergodox.io/ [2] https://olkb.com/planck

I ended up on carpalx after learning dvorak and colemak. It's a generated layout like you are looking for and the code is available http://mkweb.bcgsc.ca/carpalx/. You should be able to just swap the dictionaries with whatever you like and get a layout "for you".
I just want to say that Vim is easier with Dvorak than Colemak.
Are there any actual studies that show that DVORAK or other layouts help with RSI or that QWERTY causes or worsens RSI?
Is there a good keyboard out there where I can swap keys (say q and a swap positions). I can do that in software easily, but actual hardware keys? A software that can calculate the actual movement of fingers based on what was typed on a fixed keyboard?
I touch-type, but unlike many tech folks, I'm a really bad typist and make a huge amount of errors. Many of these errors concern symbols rather than letters: - instead of =, or (a particularly frustrating one) <ENTER> instead of '. Other errors are rooted in the physically row-staggered keys. Will alternative keyboard maps like Dvorak or Colemak help with the kinds of issues I'm facing, or are they orthogonal to my problems?
Well, on dvorak, the quote key is where the q is on qwerty, so you certainly won't be accidentally hitting return!
I too make a lot of errors. In my case they are mostly due to small hands that have to travel quite a bit from the home row to hit special keys, and end up getting “lost”. The move to Colemak didn’t particularly help my error rate while programming; however, it did help the general case. Typing long blocks of text is now an absolute pleasure, my hands hardly move at all.

If Apple give me the option, I think my next MBP will get a Colemak layout. My external keyboard got a “hacked” version - it’s actually pretty sad that the mechanical-keyboard scene does not really support anything but qwerty.

I did this a year and a half ago, but with an even more niche layout called Norman. https://normanlayout.info/

Its goal is to change as little as possible from QWERTY while getting as big a benefit as possible. In particular I like how it preserves the locations of many common keyboard shortcuts that are on lesser-used keys. It also retains the same finger for most QWERTY keys, whereas Colemak changes more in ways that don't feel really necessary to me.

It took me roughly 3 weeks to get back to feeling consistently productive, though it was only the first week that was truly frustrating.

I don't think I'm a faster typer, but I am a lot more comfortable.

I also took the opportunity to switch to an ortholinear keyboard, which has been great.

I'm not convinced this is worth the effort. I assume that typing speed is rarely an issue for touch typists. It is also not clear that different layouts do help with RSI.

But the main issue for me is having to switch between layouts. Actually, it's an issue I used to have living in France, where I occasionally had to switch between my QWERTY layout and some AZERTY layout (for instance, to show something to a colleague and friend). Even though I know both layout, there is always some adaptation time.

Slightly unrelated, I noticed that what breaks my typing flow is to add/remove pairs parenthesis/braces (which happens all the time when coding). I still haven't found a good solution to this. I think that even Vim doesn't have a good default solution for this. I wonder how efficient typers solve this issue.

Vim-surround is a nice solution for this. It’s developed by the same developer who wrote vim-fugitive. It is also available non the vim plugin for VSCode by turning on a setting.

https://github.com/tpope/vim-surround

> It’s developed by the same developer who wrote

... almost every useful Vim plugin. Tim Pope is a Vim plugin god.

Filed under: Depths of Yakshaving
I have begun the path to learning stenography. Steno involves chording, or pressing multiple keys at once. Multiple keys at once means greatly improving the information density of when you type allowing professionals to type 240 words per minute (realtime), which is just not possible on single-key-at-a-time keyboards. Unfortunately most commonly available, non-gaming keyboards do not natively support multiple keys at once which is also known as n-key rollover (nkro). I ended up buying a pre-assembled, fully opensource hacker keyboard Ergodox EZ⁰, and have a custom layout firmware that matches up with the open steno project¹ . From here I am using Querty Steno² to practice my chording. Here is an example video someone did of using steno for programming a simple FizzBuzz on a different keyboard on YouTube³. In my opinion, if anyone is looking to really take their typing to the next level, chording is the only way and Dvorak/Colmak/single-key-at-a-time-layouts will never really get you there.

https://ergodox-ez.com

¹ http://www.openstenoproject.org

² http://qwertysteno.com

³ https://www.youtube.com/watch?v=RBBiri3CD6w

Do you take advantage of any predictive typing?

Coding, in particular, reuses a lot of keywords and variables names.

Steno itself in the general sense is not predictive but rather phonetic. You can create your own custom macros/variable-names/code-blocks to your dictionary for things that are common in your workflow as you go. If you already use some sort of predictive typing system such as sentence/phrase autocomplete you could probably just assign a macro for accepting the autocomplete suggestion.
I believe the pain comes from having a "proper" qwerty finger setting, where you have 8 of your fingers on asdf and hjkl. Then typing some combinations is awkward.

I never got the hang of that style but rather evolved into some fluent version where my fingers float around and sometimes I will use different fingers to type the same latters based on what I previously typed.

This has allowed me to end up at a top speed of around 160wpm using normal qwerty keyboard layouts.

I always felt that switching to a totally new layout crippled me when moving around between customer servers, mobile devices and so forth.

But I totally get that others have had different experiences and I appreciate that there are alternatives out there. I love choice.

Very interesting read!

I wouldn't recommend Colemak to programmers suffering from RSI. It favors the right hand way too much. For writing English this is fine, but when you have to type programming symbols and use Vi keys it really does a number to your right hand.

Qwerty is inefficient as all get-out, but it's more balanced for programming with how the most used letters are on the left hand.

That’s not what this article claims:

http://mkweb.bcgsc.ca/carpalx/?colemak#colemak_detailed_stat...

“Colemak is more balanced in hand use, with a 6% preference for the right hand (Dvorak has 14% for the right and QWERTY 15% for the left).“

If I understand correctly these stats will depend on the text you type, so each natural/programming language (especially programming language) will have a different stats, right? Think typing python vs typing perl for instance...
I’ve done Colemak and came back to Qwerty for two reasons that are really compelling, I feel.

One, I program so I make lots of weird motions anyway. When writing long prose, Colemak felt nicer but for coding typing it wasn’t a big change. In both cases, I’m regularly typing symbols and making weird patterns. Additionally, you usually are never reaching high speed during coding so your hands often have time to rest.

Two, other people’s keyboards aren’t Colemak. Other people using your keyboard is also a problem. For better or worse the non-standard choice tax is really high with keyboards, especially if you experience difficulty with Qwerty after making the switch.

It's a misconception that layout switchers are relearning to type, especially if they were proficient qwerty touch typists. The better typists in qwerty have a significantly easier time learning a new keyboard layout. Most of the typing skills positively transfer over, even though there's still an initial hurdle.

Furthermore, I think there's significant bias when typists learn a new more ergonomic layout. For example, they may have incidentally fixed their typing posture when learning Colemak, they want to justify their investment, or they overestimate the efficiency/comfort gains in respect to how much they need to type daily. Performing frequent typing tests (something alternative layout typists like to do!) is furthest away from reality for most people. Many switchers also forget how to type in qwerty well; improving typing speed while learning feels "really nice" and it's easy to wrongly associate this with "qwerty is uncomfortable."

They also downplay the importance of living in a qwerty world, having to share a computer with another, or being able to proficiently type in qwerty (which many of them do not retain), or dealing with software not accounting for other layouts.

I type in Colemak in Qwerty proficiently.