The golden path is to start with Dvorak hardware mapped keyboard (TypeMatrix 2030 USB) and then later buy a programmable keyboard (ErgoDox EZ Shine) and make your own Dvorak-based layout with your own affordances for programming.
I'm a programmer, not a professional folder contents lister. Anyway, I'll typically use my 4th finger for l, because my hands are a slightly weird shape perhaps - and if I know I'm going to type ls -la, I'll put my 3rd finger on it.
Try typing CreateVertexBuffer or SetVertexDrawTestFlags on QWERTY. Or consider the humble underscore!
Sucks goat's dick, of course. For me the 7531902468 was the only working way to grok the fourth row, and all braces are in perfect positions for me, especially while lisping. That's in addition to general awesomeness of Dvorak.
> Always found Colemak to be much more programmer-friendly than Dvorak.
> 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.
You searched specifically for "ls dvorak" and your conclusion is that its programmer unfriendliness is a "legendary fallacy" because "nobody" demonstrated other examples?
A quick google for `dvorak programmer unfriendliness` would give you plenty of leads. Whether you agree or not is another matter.
Don't get me wrong, I'm on QWERTY. It's just... the level of confirmation bias gets me every time. "I'm definitely right because nobody presented evidence to the contrary to me on a silver platter"
> You searched specifically for "ls dvorak" and your conclusion is that its programmer unfriendliness is a "legendary fallacy" because "nobody" demonstrated other examples?
I am seing this example not a first time. I'm also going to write my qwerty vs dvorak article on my blog so I am gathering all the examples of pros and cons of these two layouts.
Rather agree. I'm sure there'll be a bit in it in terms of efficiency and comfort, since Colemak is more recent, but Dvorak is available on Windows out of the box.
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 love typing in Dvorak. Although I don't use it on my phone. I didn't find the switch particularly painful. I just switched one day... and had a chart printed out that I looked at whenever I couldn't remember something and eventually I just, didn't need it.
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.
I'm not saying that's not a thing, but if you're going to switch keyboard layout I do think that's objectively the least of your problems. Re-learning a huge list of common letter pairs, triples, etc. that appear in words in English / your native language(s) is a bigger task.
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...
Amusingly, I just made the swap on my phone to be Colemak everywhere. :D
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.
Oh phone, I would suggest a change to a different input method entirely. I used Messagease for years, and I've switched to Thumb-Key now, https://github.com/dessalines/thumb-key (same concept, just Open Source and maintained).
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.
I'm certainly sympathetic to this argument. Is why I didn't care about staying qwerty for the longest time.
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 agree. I learned Dvorak about 15 years ago, and even though typing is much more comfortable, I wouldn't do it again.
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.
> 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.
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?
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...
Of course if you just stick to a non-QWERTY layout and never use QWERTY, you don't have this problem. My solution to that has mostly been to use an external "mechanical" keyboard that I flash with a colemak layout. But on laptops I often type on that keyboard and use software to switch and that's worked OK for me too. Some programs use the key code instead of the letter, and that messes me up occasionally on laptop keyboards (maybe VS code, from memory?).
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.
> 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.
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.
That was similar to my experience with Dvorak, back in the early 90's. Having learned touch typing on qwerty on an IBM typewriter from high school, and learning/typing for several years, I thought I was pretty good typist, but in college, I had the nagging feeling I wanted to try something else, since my wrist didn't feel too good after a long typing session, and I wanted to get even faster.
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.
I can switch between Dvorak and Qwerty quicky if it is a physically different keyboard. I type with Dvorak on my Kenisis keyboard and Qwerty on my laptop without any effort in switching between the two. But as soon as I try it vice versa I feel like I am typing for the first time.
I subconsciously switch to qwerty when using someone else's computer, and it really throws me off if they use Dvorak. I still have an account on my parents' old computer, and it takes me a moment to remind myself to use Dvorak while using it.
Exactly the same for me. And the great thing with keyboards like Kinesis is that the key map is in the board itself so moving between computers is as easy as moving the keyboard. I’ve been doing this now for over 23 years.
I switched to Dvorak a couple of years before I learned VIM. I made the decision not to remap anything in VIM, because it seemed like every key already had a job, and I was afraid of upsetting the balance. I'm still a Dvorak/VIM user 10 years later. My directional navigation keys are in strange places, but it's just muscle memory at this point.
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.
I learned vim first then switched to Colemak and made the mistake of first trying a very heavily remapped vim layout. Eventually it was reminded to Vim's layout other than its directional keys is very heavily mnemonic and eventually I was convinced to use fewer to no remaps and the classic vim mnemonics. I probably could have used that advice sooner to avoid the years of a very custom map and the confusion that still sometimes accidentally triggers.
VIM is a fun one, in this regard. True, the arrow keys are no longer on the home row. For the most part, you can just use the arrow keys, of course. Keeping your hand exactly at home position is largely over sold on that regard, and physically grounding your hand between the arrows and home is easy to flip between.
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.
> Keeping your hand exactly at home position is largely over sold on that regard...
It's a marginal benefit, but it's still a benefit.
The more significant factor than "qwerty vs colemak" is that the thumbs aren't able to achieve much with the hands rested on home row. They can hit spacebar; and to be useful for anything else, the hands have to move.
Whereas, with keyboards like the Moonlander, the thumbs can reach 2-3 keys each.
Albeit, regarding vim's 'hjkl', vim makes it very easy to quickly move around a single line, so h/l shouldn't be very common. For rapid vertical movement, 'easy motion'-style stuff is neat.
My keyboard has a split spacebar, that I think is intended to let you do two different things with the thumb...
I just don't see it being that beneficial. Is like thinking you could be a better pianist if only the keyboard was arranged in a different way. Almost certainly true at a very technical level. Hard to think that is the actual limiting factor for most people, though. Even on the piano, I found that I am better with certain fingers than others, but that it just doesn't make too much sense to worry about that at the beginning.
For example, without having to move my hand, my thumbs can reach Esc, Tab, Backspace, and Enter as well as having to push space. That's a benefit from the thumbs being able to hit 2-3 keys each.
I think that's much nicer than having to move the hand or stretch with the pinky in order to hit backspace.
Whereas with the standard keyboard layout, you can't keep your hands rested on home row & reach those keys.
Certainly don't let some rando on the internet tell you that this isn't worth doing. I just also don't expect folks to believe that you get measurable gains from this. Outside of the joy it brings having set this up. Which is huge and not to be discarded.
Ah, I'm not necessarily arguing that "having a better keyboard will make you a more effective typist". I'm suggesting that "for keeping your hands on home row, it's much nicer if your thumbs are able to reach 2-3 keys each, than if your thumbs are only able to reach the spacebar".
Maybe "whether it's worth having such a keyboard" is down to personal preference or whatever, sure.
As a vim-first dvorak-second person, remapping vim is a mistake. You try it at first, then you realize it's a pointless battle. The defaults in dvorak are actually great.
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.
> Some people just seem to have knack on being able to switch between layouts, but I just couldn't.
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 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.
But it obviously is - just not so much that it's worth switching over, given how much of a standard QWERTY is and how much hassle it is to retrain. Most people just don't type enough for the issues with it to become apparent, and if there's no issues with it then there's nothing to justify changing.
Forget retraining. Should we teach kids on a new keyboard layout? Should manufacturers put out more hardware options? Should software developers make alternative layouts more visible and easier to choose?
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.
The only metric that matters for most typists is familiarity. That's why Qwerty has dominated for over 150 years.
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.
A downside with these off-QWERTY keyboard settings is that (as he mentioned) the shortcuts are often designed for QWERTY keyboards - things like X C V, sure X might be cut, and C is kinda copy, but V is not paste.
To really "go whole hog" you have to either remap the shortcuts to be the same positionally, or rethink the shortcuts from first principles.
I believe what I used to do was set it up where CTRL worked to also revert my keyboard to QWERTY mode, so all your muscle memory for shortcuts on QWERTY still work, but typing is in the other layout.
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.
I use dvorak but I'm not sure I really "touch type", I can type without looking, but I don't really do the home row thing and I potentially don't even use the right(correct) hand for some keys.
I switched to Colemak "cold turkey" last year and I couldn't be happier now that the transition is complete. I too never got as fast as I did with qwerty but it's so much more comfortable that I don't care.
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.
Don't worry about getting faster, you'll continue to improve over time. I switched to Dvorak in ~2007 and I am faster now than I ever was on QWERTY. Probably would have continued to improve on QWERTY too, tbf.
I switched to Colemak in college and it was amazing. My relative strain injury went away and my typing speed actually exceeded my old pace.
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.
For those thinking of switching to Colemak, you might consider using the Tarmak method: [0]
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.
It is useful, but it's worth knowing that most of the learning effort to get up to speed comes only after you've been through all the intermediate stages, just gradually speeding up on the final full-colemak stage. But it's a big help in not quitting early on from frustration I think. There's a few really painful changes like the changes in where R and S go, and making noticeable progress before that is a big motivator.
I just typed "leasning" instead of "learning" 3 times, all these years later, huh. I suppose because I was thinking about it!
I specifically looked at Colemak and Tarmak. I didn't like the number of transition steps of Tarmak that reassigns already moved keys.
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.
If someone working at Apple reads this: it would be amazing if I could remap Capslock to Backspace without any third party tools in the Mac (there’s already an option for almost every key except backspace). Also if it would be possible at all on iOS that would also be nice.
I switched from QWERTY to Colemak about 5-10 years ago for a solid year or so.
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.
I also switched for reasons of keeping my hands happy (as a prevention measure), not for typing speed.
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.
I think at this point I'm faster in Colemak than I ever was in QWERTY, but speed doesn't matter anywhere near as much as comfort and I also don't think I've ever really "thought" more than 30-50 wpm in real world practice anyway. Typing test scores are useless rote repetition exercises and don't reflect real world typing anyway. I've almost never encountered the need to just retype out everything I'm reading that someone else wrote outside of typing tests. (Though admittedly in the typewriter era that was a more useful skill, before digital files and copy-and-paste.)
I didn't find the switch to Colemak nearly as difficult as OP. The way I learned it was with some linux-based typing tutor at the time, where it introduces one letter/key at a time, with emphasis on touch typing (which is obviously important because most people aren't getting Colemak keycaps). I went cold turkey, spent 10-20 hours on a weekend, and could work well enough in Colemak the following Monday (probably 40-50 WPM). Then maybe a few weeks to 110 WPM, where my time waster during that period was doing typing tests.
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’ve wanted to try Colemak for years now, but living in a QWERTY world where I may have to operate on other keyboards, other machines, etc., has discouraged me. Maybe Colemak is better, but the benefit it provides isn’t enough to entice me, apparently.
I made a few realizations that helped when I switched:
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.
There are games out there that help you learn the skill of switching quickly.
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.
I type Dvorak all day at work, and Qwerty everywhere else, my brain can switch freely between the two no problem. I have no idea why this is possible, but it is.
I went through something similar where several of my work assignments put me in europe for couple of years.
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 went through a very similar experience on using keybr to learn Colemak last year. It was in anticipation of typing on a custom split ergo to improve efficiency.
I 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 did this too. Was on Colemak from about 2012 to 2018 or so. Was surprisingly easy to switch back to QWERTY. Did it in about two weeks. All that muscle memory was just sitting there waiting for six years.
I've been using Colemak for a little bit more than a decade now. Super happy with it.
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.
I’m in basically the same situation. The minor annoyance of key bindings is worth it for significantly reduced hand strain and slightly faster typing speeds.
I got a split columnar keyboard and switched to colemak-dh.
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
107 comments
[ 1.6 ms ] story [ 227 ms ] threadT. Dvorak User
E.g. try typing ls -la on Dvorak.
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
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.
A quick google for `dvorak programmer unfriendliness` would give you plenty of leads. Whether you agree or not is another matter.
Don't get me wrong, I'm on QWERTY. It's just... the level of confirmation bias gets me every time. "I'm definitely right because nobody presented evidence to the contrary to me on a silver platter"
I am seing this example not a first time. I'm also going to write my qwerty vs dvorak article on my blog so I am gathering all the examples of pros and cons of these two layouts.
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.
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...
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 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.
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 ;-)
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...
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.
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.
It's a marginal benefit, but it's still a benefit.
The more significant factor than "qwerty vs colemak" is that the thumbs aren't able to achieve much with the hands rested on home row. They can hit spacebar; and to be useful for anything else, the hands have to move.
Whereas, with keyboards like the Moonlander, the thumbs can reach 2-3 keys each.
Albeit, regarding vim's 'hjkl', vim makes it very easy to quickly move around a single line, so h/l shouldn't be very common. For rapid vertical movement, 'easy motion'-style stuff is neat.
I just don't see it being that beneficial. Is like thinking you could be a better pianist if only the keyboard was arranged in a different way. Almost certainly true at a very technical level. Hard to think that is the actual limiting factor for most people, though. Even on the piano, I found that I am better with certain fingers than others, but that it just doesn't make too much sense to worry about that at the beginning.
I think that's much nicer than having to move the hand or stretch with the pinky in order to hit backspace.
Whereas with the standard keyboard layout, you can't keep your hands rested on home row & reach those keys.
Maybe "whether it's worth having such a keyboard" is down to personal preference or whatever, sure.
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.
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 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.
I don't believe this "worse is better" non-sense. Quality does break through eventually.
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
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.
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.
When I made the switch, I was reliably about 95 WPM (touch type) in QWERTY and topped out at around 105-110 in Colemak.
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'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
Are any Microsoft people reading this? If so, please file a ticket with the appropriate team ;-)
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.
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.
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.
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.
People don't get enough exercise as is.
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.
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.
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 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.
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