I probably made a mistake by not practising typing much on places like keybr.com and about three months in I was starting to think that I had made a horrible mistake because at that point I was slow at both qwerty and colemak but by six months I was totally happy that I stuck with it.
I didn't struggle much with keybindings but I did end up creating an alias cs='cd'. In terms of using other computers I got a programmable mechanical keyboard or I just hunt and peck in qwerty now.
Then I took a job that required me using a shared computer with a QWERTY layout. I hated being reduced to finger pecking like a complete n00b, and so I switched back.
15 years later I’m still on QWERTY, and wearing wrist guards to deal with the RSI. Every now and then I think about switching back to Colemak (or Workman), but I chicken out when I think of all the different keyboard interfaces I use—not just my laptop, but also my tablet, phone, wife’s laptop, etc.
It felt so weird learning to type in Dvorak layout, but I got used to it and after a month, I was typing ok, and within 2 months, I was probably typing the fastest I've ever been. It felt much easier to type physically and felt more effortless to type. The downside was that every time I went to type on someone else's computer, I just couldn't type on qwerty anymore. Some people just seem to have knack on being able to switch between layouts, but I just couldn't. Being an "expert" on computer as a software engineer, imagine people's surprise when I could barely locate a key... "So where is that B key again?" Also I couldn't use VIM no matter how I tried to remap the keys in vim. Eventually, I abandoned Dvorak for practical reason, and when I did, it took few weeks to get back to re-learning qwerty.
If I had learned VIM first, I'm not sure how the switch to Dvorak would have gone. My fear of breaking an unfamiliar editor may have accidentally steered me into success.
The nice thing, though, is most of the other key choices are mnemonic. "C" for change, etc. Such that you really can keep moving fairly well by sticking with the conversation you are having with VIM.
11 year dvorak user.
I learned Dvorak around age 12, a year or so after I learned to touch-type QWERTY. I completely lost the ability to touch-type QWERTY after switching to Dvorak until I took a CS class in high school that was on ancient computers running Win98, where I had no ability to change the layout.
I have gradually built back my ability to touch-type on QWERTY now, acceptably quickly (probably 50WPM?) but my error rate is atrocious. I find it a little embarrassing to be a computing professional and not be able to type competently when I sit down at someone else's computer.
I went through that, and got there eventually. It was probably harder to become bikeyboardal than it was to switch in the first place. But now I type in qwerty at work and dvorak at home. I originally switched to dvorak because I was getting pain in the sides of my hands for some reason, but that went away with dvorak and didn't come back. So I figure it's best for me to keep both layouts in my muscle memory.
Did you put in serious deliberate practice time and still find that? If yes, what sort of time?
I suspect those people just did that sort of practice (even if maybe not really attending much to the fact they were doing so - I don't think that's a contradiction!)
I switched to an ergodox when they came out with the Norman layout. (I started using a Lily 58 earlier this year with the same layout.)
I can still do decently on staggered layouts (with qwerty) when I need to.
I'm not a musician but I figure this is similar to playing different instruments.
I switched to Dvorak on regular staggered keyboards and got to 80-90 WPM or so, but pretty much lost my ability to QWERTY.
Then I switched back to QWERTY full time for 5+ years.
Then I switched to Norman on an ErgoDox, getting to 80-90 WPM or so again. This time around, I could still QWERTY on a staggered keyboard just fine. Night and day vs. the first attempt.
(Then I switched back to QWERTY again. Now I can't Dvorak or Norman or ErgoDox!)
Throughout, I never fully abandoned QWERTY. It was certainly difficult to switch between them, but my office environment was collaborative enough that not being able to maintain some level of competency in QWERTY really hurt.
Eventually, I switched back to QWERTY because there were just enough things annoying about "being different"--NOT because Colemak in itself was bad. Things like configuring keybindings for things like VIM, where half the shortcuts are positional (e.g. homerow navigation) but the other half are mnemonics (next) and now in Colemak they can't be both. And just in general, sharing your hardware with others and vice versa. Colemak was beautiful, but sometimes the imperfect standard is better than the perfect thing that nobody uses.
Switching back to QWERTY I was back to full speed in a few days. That, to me, is the biggest reason I'd encourage anyone to give Colemak a shot. You don't just lose your QWERTY muscle memory, it just hibernates a bit and is groggy when you wake it up.
I wish I knew about the increased cognitive overload. Sure, typing English and code is great, but once you get to shortcuts in different applications, things get rather ugly. I use multiple computers, and switching back and forth between QWERTY and Dvorak is no problem, but every time I switch to a different program I have to THINK about which layout I am using and because I never switch my keyboard keycaps, I have to think and LOOK which key I'm pressing.
Also Control/Command C, X, and V are impossible to do with one hand while holding your mouse unless you remap keys or create macros. It's a mess.
I've never felt comfortable about shortcuts ever since.
I took the, uh, hard way on this one: For every OS I have used in the last 20 years I have figured out how to write a program that intercepts keystrokes and rewrites them so that when I am holding ctrl or alt, my keyboard temporarily reverts to Qwerty. (I type Dvorak.)
My current iteration involves using systemtap to, uh, monkey-patch the Linux kernel. Which works... surprisingly well?
https://blog.cloudflare.com/how-to-monkey-patch-the-linux-ke...
Code and older version here: https://github.com/kentonv/dvorak-qwerty
Though these days I'm starting to think this guy's version based on /dev/input might be a better way to go: https://github.com/tbocek/dvorak (This even works on Chrome OS.)
MacOS has this keyboard layout built-in, but in multiple attempts I have never been able to get myself to like MacOS, so...
One of the motivations behind Colemak was to make an efficient layout that didn't move C, X, or V.
Mr. Dvorak back in 1936 couldn't have known about cut / copy / paste ;-)
Colemak does keep C, X and V in the same places for this reason, but if you're a big hotkey user, that's only a small part of it.
Disagree, I do this easily without macros. One important thing is that in Dvorak, I find myself using Right Ctrl much more heavily than QWERTY; I have to use Right Ctrl (using left thumb or index finger) for C and V (using left pinky) for maximum ergonomics. Unfortunately, some laptop and/or mechanical keyboards think it's fashionable to omit keys such as Right Control, and I flat out refuse to buy them because they're so hostile to my typing needs.
I'm curious on if it really matters. I made the switch for the same reason I would go between left and right handed mice. Mostly just to keep interested. And to see if I could. I've been happy with it, may change again soon. Not sure. That said, I have not focused on building speed up. Maybe if I was to try that more, I would care. I find as soon as I'm at 60wpm, I am at the point that I am not limited by typing at all.
My thinking is that if you throw a full keyboard on a tiny screen, and remove actual physical keys, layout is besides the point. You've already gone wrong in a way that layout cannot fix.
No, I did this not for any perceived increase. I did it only because it made me happy to see it was an option. So I took the option. :D
I will say that I don't think it has made an impact one way or the other. For better and worse, I am looking at the keyboard when typing, so I am guided by the visible keys more than on a keyboard.
I've been using Colemak for about 14 years now. I can't say that I'm faster but haven't had a repeat of the wrist pain I lived with with QWERTY.
It's been a real boon to have Colemak available on macOS and Linux.
I'm a bit slower than I was in QWERTY (at a guess, maybe if I race I easily get to 80 instead of 90 wpm or something, not sure). If I kept up with deliberate practice I'd end up faster than I was I think, but I don't really do that.
With QWERTY, I was getting hand pain that I shouldn’t have been getting in my 20’s. Far to many twisted moves from top for bottom row.
Are any Microsoft people reading this? If so, please file a ticket with the appropriate team ;-)
It's a series of 5 intermediate keyboard layouts that each change just a few keys from QWERTY. So, instead of one big transition that takes weeks to learn, you have 5 smaller transitions, each of which you can learn in a weekend.
[0]: https://forum.colemak.com/topic/1858-learn-colemak-in-steps-...
I just typed "leasning" instead of "learning" 3 times, all these years later, huh. I suppose because I was thinking about it!
Ultimately, I came up with my own easier layout[0] and transition steps[1] that's on par with Colemak, or better IMO (on English prose). After much iteration, it ended up looking like an optimized NIRO layout.
One advantage is that it's closer to QWERTY which makes the transition less frustrating. A disadvantage is that the similarity makes it actually harder to easily switch between it and QWERTY until substantial new muscle memory is gained. A funny thing was that on a smaller Surface Go keyboard, I kept QWERTY because my fingers were bumping into each other because of the denser hotspot areas, much like original mechanical typewriters.
One final observation is that I was never a very fast typist and the new layout didn't make me faster. In fact, the amount of typing that I do as a developer in a day wasn't enough to learn a new layout smoothly and had to use typing practice websites to make up the volume. What I do appreciate is that my hands feel much more comfortable all the time now, whereas I was having occasional cramps and on rare occasion shooting pains on the backs of my hands that prevented me from typing for several days at a time.
I have layouts for Mac and Windows. If anyone has an easy to follow how-to reference for Linux (console + X/Wayland?) that would be appreciated. Ultimately an inline USB mapper would be ideal.
[0] https://github.com/qwickly-org/Qwickly [1] https://github.com/qwickly-org/QwickSteps
My WPM decreased by around 25% and I actually found Colemak to be rather uncomfortable; with QWERTY (and DVORAK) you tend to alternate stroke between hands. Even if there is more finger travel, it just feels right to me.
Also, having a different layout than the peers around you is an absolute pain.
My conclusion is that having an alternative layout is not worth the marginal improvements if any it may offer. If I was forced to try another layout though, I would try DVORAK.
To really "go whole hog" you have to either remap the shortcuts to be the same positionally, or rethink the shortcuts from first principles.
At the end of the day, I found I'd sort of bound "Copy" or "Save" to a key combo in my mind that was somewhat unrelated to the specifics of where C or S were on the keyboard for typing, so it didn't really hurt my uptake of the new typing layout.
high level TL;DR: I chose convenience of qwerty being there everywhere and realizing that qwerty isn't really that bad.
#!/bin/bash
# tab key = shift, capslock key = tab, left shift key = alt
# left ctrl <=> left cmd
# https://developer.apple.com/library/archive/technotes/tn2450/_index.html
hidutil property --set '{ "UserKeyMapping": [{ "HIDKeyboardModifierMappingSrc": 0x70000002B, "HIDKeyboardModifierMappingDst": 0x7000000E1 }, { "HIDKeyboardModifierMappingSrc": 0x700000039, "HIDKeyboardModifierMappingDst": 0x70000002B }, { "HIDKeyboardModifierMappingSrc": 0x7000000E1, "HIDKeyboardModifierMappingDst": 0x7000000E2 }] }'Not sure if this will help in the meantime but I remap Capslock to CTRL and then use CTRL-h as backspace. It works almost everywhere in macOS.
As at least one other person has commented, context acts as a switch even when you can't directly "find" the switch consciously. It isn't only the keyboard. I learned colemak on one keyboard while I continued with QWERTY on another, and it wasn't a big surprise that it was hard to do the reverse for a while. What did really surprise me was that I couldn't type QWERTY in the typing drill software I was using for Colemak, and I couldn't type Colemak in the online typing test where I was used to typing QWERTY! It wasn't a subtle effect, quite a dramatic speed plummet, especially in the former case - and just switching back to my normal text editor was enough to speed up my QWERTY again 30 seconds later!
I guess if you focus practice on finding that switch, for example with those games, that's just another skill you can learn like any other. Some people certainly have got very good at that with practice.
T. Dvorak User
I switched to Dvorak over 20 years ago and I've been quite happy with its availability. I use Dvorak shortcuts (so, for example, w and v are next to one another), and standard Emacs bindings, and when I used vim I used the standard bindings with that too. Main issue I've faced is that some programs use WASD, and they do it by keycap rather than scancode, so now the controls are wonky.
(Regarding QWERTY speed, I type on a split keyboard on my own PC, which has helped keep my QWERTY muscle memory fairly good; people that see me type are often surprised that it's not what I'm used to. I can barely type Dvorak on a normal keyboard, though, and I have to look at the keys to type QWERTY on a split keyboard.)
I don't think it took particularly long... a few weeks? Maybe a bit more. I had to do the same thing when I picked up the ErgoDox and programmed in certain layers.
But now my fingers just dance across the split keyboard from side to side. It's really enjoyable and feels great.
E.g. try typing ls -la on Dvorak.
Try typing CreateVertexBuffer or SetVertexDrawTestFlags on QWERTY. Or consider the humble underscore!
> E.g. try typing ls -la on Dvorak.
The ls case is a legendary fallacy of not enough programmer friendlyness of Dvorak. I have just searched "ls dvorak" on HN and I ended up with dosens of messages about how non-comfort is this popular command to type.
Nobody has demonstrated any second example though.
That’s what I did.
https://github.com/ctsrc/ergodox-ez-shine-dvorak
> try typing ls -la on Dvorak.
Put alias ll = “ls -la” in your zshrc if typing ls -la bothers you ;) but personally I just type it out
alias ha='ls -la'
alias hh='ls -l' l
in a modern shellI was really surprised by how easy it is to build up muscle memory, along with some decent speed/accuracy. However, I had to make a decision to unlearn most of my efforts and go back to QWERTY, as it was causing too much confusion switching between the two layouts. Colemak was also causing cramps between the shoulders and the neck on traditional staggered keyboards. Regardless, I am glad that I undertook this exercise, and occasionally do some tests for basic retention.
I switched while interning at a ~failing startup. I was a Canadian in the US, and had forgotten to plan to do stuff over Thanksgiving weekend. I had nothing to do, so I switched to Colemak over the weekend. I spent the weekend doing typing training videos, then spent the remaining ~1mo of my co-op term working (almost) entirely in Colemak. I wouldn't switch back to qwerty without a really compelling reason.
Years later, I'm super happy. I can use QWERTY under duress, but rather not.
Learning AZERTY and QWERTZ (especially for coding) was quite challenging but I got the hang of it quite quickly (just small changes from QWERTY - I almost wish there were a coding specific keyboard so you didn't have to hit shift for things like underscores, plus or the like - some of the european keyboard layouts were way easier (*, ! and other shift sequences are "native") while numerals!! require shift.
I'm also a ~15 year Vim user, and I'm happy using its keys where Dvorak puts them even if the HJKL arrows are a little jumbled. To my muscle memory it's a solved problem.
If you're going to learn an alternative keyboard layout and also a modal editor like vim, kak, hx, etc. I suggest you find your keyboard layout happy place first and pursue editors second.
I really really love it. My two biggest pain points is that the keyboard is annoying to move so I can't take it everywhere, and my muscle memory is tied to my keyboard.
I use original vim mappings but I use a modifier key for home row arrows (with added benefit that it's now available in all programs).
I think I'll stay, it's comfy here. If I need to, I can take my keyboard elsewhere
When I made the switch, I was reliably about 95 WPM (touch type) in QWERTY and topped out at around 105-110 in Colemak.
To make a hyperbolic comparison: seems a little like saying that learning cyrillic letters is a problem for learning Russian: true, but compared to learning the rest of the Russian language...
1. If I can carry a laptop somewhere, I likely don't ever need to borrow someone else's computer there. (Today with pocket-sized bluetooth keyboards and your average phone, this seems even easier to do.)
2. If I can't bring a laptop, but I'm allowed to RDP, I can often RDP into my own machines. Your machine still uses the keyboard layout you tell it to, so even if you are working on a QWERTY host machine you might still be typing Colemak to your own machine.
3. If I need to help someone else on their computer, it is often better for teaching/learning to let them do it themselves and just direct/supervise.
4. In the worst case, even in modern times, a surprising number of people hunt-and-peck on keyboards. The only person that feels embarrassed about me hunt-and-pecking on someone's QWERTY keyboard is me, most other people don't even notice (it is still that common). Even if I can't touch type in QWERTY any more, I can still do everything I need to accomplish on other people's machines with hunt-and-peck, and that's fine. I just had to give myself permission to feel embarrassed about that.
(4) is definitely the hardest. It's also not as necessary for some people as it was for me. Colemak was designed for, and some people are quite good at, being able to use it side-by-side QWERTY and keeping touch typing skills in both. If you use physically different keyboards for the two, your muscle memory can use context clues to use the right touch typing in the right place. In my case my QWERTY touch typing form was bad and unlearning it was also part of the reason for switching to Colemak and after I switched it was never worth learning "proper" QWERTY touch typing and I have long since lost any embarrassment I had at hunt-and-pecking on other people's QWERTY keyboards.
Also if I were to attempt this should I use Dvorak or Colemak?
but i agree using others computers is literally soul crushing, that's the price for being too smart i guess
People don't get enough exercise as is.
* Shared machines are hard to avoid when working on hardware like I was.
* There’s a lot of lost value in not being able to just sit down at someone else’s machine and navigate/code/etc. The reverse is also true of not easily having other people use your machine.
* If you game, this can be really hard. Some games attempt to do the right thing (e.g. WASD => WARS) but auxiliary things like “I” for inventory are less clear. Do you keep I to have the mnemonic or keep the physical spot? Caps lock to backspace can also mess with games that have chosen, for god knows what reason, to make caps lock a hot key. I spent a ton of time editing undocumented keymap files, and that’s not how I want to spend my leisure time.
* Not having caps lock means that if you somehow get caps lock turned on, it’s a pain to get it turned back off. This did happen to me multiple times - I used AHK for the remap and it’ll occasionally fail, usually due to external factors like an aborted system shutdown.
* You have to touch type. Getting physical Colemak keyboard for all cases (especially laptops) just isn’t feasible. This meant no more one handed typing or searching for hot keys when gaming (because I’m off the home row and I couldn’t build one handed muscle memory without a physical colemak keyboard).
* Lots of custom shortcuts are needed. It’s great that core copy/cut/paste/undo are kept in the same spots, but if you become power user of something like photoshop, you have to either remap all the shortcuts (again losing many mnemonics) or lose ergonomics as related keys spread out to odd spots when they should be clustered.
* You never really get rid of QWERTY muscle memory (at least 6 years on it with lots of focused practice, I didn’t). My overall amount of typos went way up compared to QWERTY. Also, and this is what finally made me switch back, the passwords I knew by muscle memory turned out to be different than what I thought I was typing. I had a password I could type, but didn’t know it (I swapped a fewer characters without realizing it). When I had to input this on a phone, I realized I couldn’t do that without first typing it on a physical keyboard.
* Virtual keyboards, such as on game consoles, are usually QWERTY (or alphabetical, yuck) and being able to touch type QWERTY does speed up their use.
In the end I accepted that we live in a QWERTY world and we’re too far down the rabbit hole to change. I find giving up some efficiency a worthwhile tradeoff for a drastic reduction in edge cases and overall fiddliness.
I don't believe this "worse is better" non-sense. Quality does break through eventually.
But I'm pretty sure my typing needs as a programmer in 2023 are different from the typing needs of a telegraph transcriber in 1879.
I've been a Dvorak typist for 15 years. I can tell you, without reservation, that Dvorak is a better fit for my work. Dvorak is smooth and comfortable. I can stay in the zone for longer stretches of time.
Nonetheless, Qwerty's killer feature is that it's familiar. Historically familiar. That's enough to keep Qwerty on top.
There's a cycle here: Existing people type QWERTY, so they buy QWERTY keyboards, so they teach kids QWERTY, so they buy QWERTY keyboards, so they teach their kids QWERTY, and so on.
I use Dvorak. https://www.nayuki.io/page/i-type-in-dvorak