5 Months After Switching to Colemak
nicolasgoles.com
nicolasgoles.com
I can currently type 110-125 WPM on QWERTY, which I've projected would take upwards of a year to re-achieve on Colemak, which is a total no-brainer if I could reasonably expect positive long-term gains.
However, from what I've read (and heard from friends on Colemak), switching back to QWERTY is painful, so my typing speed on anyone else's computer (which I realized, after trying to switch, I do fairly frequently) would go down to 30 at best.
The primary argument for Colemak is that it reduces finger travel distance from the home row. But my fingers don't naturally fall precisely in a line: my left middle finger naturally drifts between the space of E and D, my middle and ring finger on my right hand drift up closer to I and O.
Culturally, being on Colemak means the world is suddenly against you. It's like choosing to be a left-handed person in a right-handed world: vim keybindings don't make sense, applications and flash pages ignore your custom keyboard layout and switch you back to QWERTY, and every single keyboard|laptop|smartphone you buy for the rest of your life will require a certain amount of tweaking before it's maximally usable (think iPhone autocorrect).
Keyboard layout hacking in general, however, is fantastic. Here's a few tweaks I've accumulated that have immediate benefits for little of the above downsides:
1. remap `caps lock` to `ESC`: goes without saying for vim, but extremely useful in other situations too (like playing starcraft and de-selecting units)
2. remap 1234567890 to !@#$%^&*(): as a programmer, I use these symbols far more often than I use the numbers. Switching to shift to numbers with symbols as default makes all the sense in the world. It no longer takes finger gymnastics to surround something in () or negate a term with !.
3. (optional) shift doubletap for caps lock: I missed caps lock after a while, so I brought it back with a double-tap of shift.
Or to Control, if you're an Emacs user. I've even seen some people remap a tap on it to ESC, and holding it down to Control, to cater to both needs.
That hasn't been my experience on Dvorak, QWERTY comes back almost instantly. It was harder when I had just learned Dvorak but since I, like you, have to use QWERTY keyboards often the situation quickly improved (in much less time than it took to learn Dvorak).
> The primary argument for Colemak is that it reduces finger travel distance from the home row. But my fingers don't naturally fall precisely in a line
Travel distance looks more like E[||key1 position - key2 position||] not E[||key position - resting position||] when you're writing a big chunk of text, so the resting position of your fingers is not very important for the purposes of minimizing wrist strain. Anecdotally, the difference in wrist strain isn't remotely subtle between the two layouts. Of course, I don't usually type enough to get sore, but I can certainly feel the tendons move through my wrist, and they move a great deal more when I'm using QWERTY.
"This is a test sentence" leaves the home row once on Dvorak and 13 times on QWERTY, but the Dvorak advantage for this sentence would be just as good if you permuted the key rows so that 18/19 of the keypresses landed on, say, the top row.
I prefer mapping caps lock to ctrl since it makes both vim and emacs easy (I use ctrl-C in place of esc in vim, so for it has worked for everything but block replacement).
Forgot part 4 of my keyboard remapping: caps lock + another key is interpreted as control, but just tapping caps lock is escape.
All I really need now is a shorter space bar so I can more comfortably hit ctrl/cmd with my thumbs and I'll be in keyboard nirvana. Total missed opportunity by Atwood with his CODE keyboard.
Cheers!
Switching to a Kinesis solved this one for me. All the columns are perfectly vertical.
I also don't have any problems with keybindings in vim or emacs. Most keybindings are semantic rather than locational, with the major exception being hjkl in vim. The inconvenience of applications ignoring the input has only affected me for games, so I have to remember which games I need to switch to QWERTY before playing (on Mac you can switch layouts with a key command, so it's very easy for me). Technically with games you usually DO want to have the keyboard layout ignored, and the vast majority do, but probably 1 out of 10 or 15 doesn't in my experience. I would say that the annoyance of using Colemak comes up less than 1/100th as frequently as the annoyance of using NoScript, which I also use.
With respect to the iPhone, I just leave it on QWERTY and it isn't an issue. Using your thumbs to type is sufficiently different that I don't think it affects your ability with the keyboard. Mac and Ubuntu at least come with Colemak pre-installed, but Windows requires an installation, I guess.
I'm intrigued by the possibility of remapping my number keys though. I may consider doing that.
Colemak made me more disciplined in applying technique to my typing, on QWERTY I developed my own style, but when switching to Colemak I learned 'the right way'.
You should give it a try!
Does colemak offer any significant advantages over dvorak that would make it worthwhile attempting to switch?
There are some reports that say that Colemak is marginally better but IMHO they where not conclusive.
Bottom line, both are well designed layouts (Dvorak by a human and Colemak by a computer) and substantially better than QWERTY.
Personally, when I play the occasional video game, I'll do so in Qwerty instead of redefining every key. For typing and programming (aka daily life), I use Colemak.
http://colemak.com/wiki/index.php?title=FAQ#What.27s_wrong_w...
inoremap lh <Esc>
Before I used k-j, but the position of those in Colemak is 'e-n'... so it's totally unusable.
I mean if you're typing 'entropy' it leaves insert mode, and you get mad :)
Didn't take me more than a week to get used to 'e-n'.
I think that it's better to let the muscle memory of Colemak to develop and you will eventually get used to vim.
When I use vim I'm constantly thinking about words, like 'ci' (change in) 'ya' (yank around) etc.
So when you get your Colemak right vim is not a big hassle.
I'm curious about h, j, k, and l. Same story?
Shai Coleman had a really extensive Vim remapping setup, but he has since stopped using Vim: http://colemak.com/pub/vim/colemak.vim
Thanks.
I actually saw more discussions about this in the Colemak forum, but that was a long time ago.
I will say one of the biggest misconceptions is that the Dvorak layout is for speed. I've known people who type 80+ WPM with two fingers on QWERTY. You can be fast on any layout, but Dvorak is way more comfortable. Once you can type faster than you can think of what to type, it doesn't really matter.
Words typeable from the home row is what I'd consider a theoretical metric. It should help with efficiency and health, but it is a leap of logic to say that it definitely will.
"It's more comfortable" is what I'd consider to be a valid anecdotal data point, but one that I fear has response bias as people who try dvorak and find it less comfortable silently switch back to qwerty.
Absent well designed tests, qwerty/dvorak/coleman is a religious argument.
http://mkweb.bcgsc.ca/carpalx/?full_optimization
If you're going to learn a new keyboard layout, why not make it the best?
Dvorak is awesome, but the 'great' thing about Colemak is that the symbols and numbers are unchanged (in contrast of Dvorak). So basically the learning curve from QWERTY, should be shorter, and simpler.
Another personal thought, is that at least most of programming languages where made with QWERTY in mind, so the symbol usage ([], {}, ; etc) in programming languages is influenced by that too. A symptom of that is many foreign guys using the American QWERTY layout to code.
Cheers :D
I'm basically using Amphetype... it's OSS written in Python.
You can feed it with text (like your favorite public domain novels in .txt, Sherlock Holmes is one of my favorites) and then it extracts lessons based on difficulty level.
Cheers & glad you liked it!
After that I went 'cold turkey' and dropped QWERTY, while doing that I think that in about a month and a half I reached ~70 WPM.