Ask HN: Using alternative keyboard layouts?
Just as a mind exercise, I spent a couple of hours learning to type with the Dvorak keyboard layout last night. After noticing my ZXCVQW shortcuts would be all over the place and not all that practical one-handed with a mouse, I gave the Colemak layout a shot for a few hours tonight (it retains those keys, plus punctuation, in the same place as QWERTY).
What I found really quite suprised me:
- It's way easier to re-train yourself than I thought it would be (faster, at least...it still requires a massive amount of concentration)
- QWERTY is beginning to feel horribly inefficient (I'd read before that your fingers do less walking with Dvorak but I never appreciated just how much more. It feels like even less movement with Colemak.)
What are your experiences with alternative layouts?
72 comments
[ 4.8 ms ] story [ 133 ms ] threadYou can also try it online: http://blite.iki.fi/lab/alternative-keyboard-layouts/colemak
He found DVORAK was a very good layout, but he came up with another one which was extremely odd and unusual. I played around with it but found that I never had the time to retrain my hands, I was always in the middle of a semester and thus not really free to be less productive.
This is a good blog post but not what I specifically discovered: http://bit.ly/17e6G
OS X has a Dvorak keyboard map that switches back to QWERTY while you're holding down the command key. I don't know if there's an equivalent for Windows.
I find that most keys are in "better" positions for general development, even in vim (I always use the arrow keys, not hjkl). Having the colon key right next to shit is extremely convenient, as the ability to one-hand `:qa` when I'm done. The dash/underscore key is infinitely easier to reach on Dvorak, which is immensely helpful when dealing with C and PHP code that tends to use underscores for variable and function namings. My only complaint is that the [ ] brackets are further away, but the gains I have from the rest of the layout more than make up for that inconvenience.
I also took the time to remap the physical keys on my laptop, and purchased a couple inexpensive mini keyboards (no numpad) that have laptop-style keys and were reportedly very easy to switch layouts, and I use one at home and took the other to my job. Having physically-mapped keys went a long way towards helping me out, and at least helps out anyone else who sits down at my machines.
Funniest Freudian slip I've encountered :-D
Once you type for a few minutes on a TypeMatrix (Qwerty or Dvorak), you come to understand the gross insanity of continuing to stagger the keys on a modern keyboard.
The TypeMatrix keyboards are switchable (via hardware) between Qwerty and Dvorak with a function key. I use X/loadkeys mapping most of the time anyway, but this is quite useful for boot prompts, BIOSes, and new installations.
As for learning Dvorak if you're already a fast typist, I like to say that it feels similar to how people describe quitting cigarette smoking (I've never had to do that personally). That is, for the first few weeks typing is a conscious process, and painfully slow (I got up to 20 wpm after just a couple days, but getting back up to 100+ wpm takes awhile). So what happens is that things come up, you have to send an email out quickly, or you need to debug some pressing problem, and you'll feel a powerful, visceral urge to switch back, just temporarily, so you can bang out the email or solve the problem. But you know you can't do that; you'll fall off the wagon.
I never really managed to type in a proper way (though I did touch type with 7 fingers, I didn't have my fingers in the proper row and the proper position), since starting colemak I started having a correct finger position since it just feels more natural to keep your finger in the home row when so many letters are there.
I'm an Emacs user, but I learned Emacs after I learned Dvorak, so I don't find the keybindings to be awkward. I do some strange things, such as using Escape as the Meta key (with my left thumb on the chord letter).
Vim, however, is hard to use (e.g. "HJKL" are in the "JCVP" positions), which may be part of the reason I gravitated to Emacs. For games, I either rebind the in-game commands, or I switch to QWERTY while I'm playing (e.g. "WASD" being in the ",A;H" positions is just no good).
So: "maybe, if you would have used them for something better".
You'll probably benefit from getting the commands to move by paragraphs, functions, pairs of () {} <>,
The main reason that I haven't tried out Colemak or other more unusual keyboard layouts is that they aren't installed by default on all OSs yet (unlike Dvorak), which makes it more of a hassle to switch layouts when using other people's machines.
I'm also a post-Dvorak Emacs user. The way that Emacs works is just wired into my fingers now, I don't have to think about what the keys are, I just think "Find file" or "Suspend Emacs" etc. Some chords are probably a little tougher to do, but they are the exception rather than the rule. If there is a weird fringe benefit of Dvorak use it is that it makes me way more reluctant to reach for the mouse in any circumstance. I've never moved the keycaps on my keyboard (so there is no "cheating" while looking down) and so I have to depend on my fingers always being on the home row. I have to agree with Steve Yegge ("Effective Emacs") and consider using the mouse to be a pretty grave cache miss.
I'm a relative newbie to vim but I have no trouble moving around, I just developed a "feel" for where the HJKL keys go. It is hard to describe but you can kind of "unroll" their directionality in your brain. In some ways vim is nice (although it won't ever move me from solid Emacsity) in that the commands are simple letters which Dvorak makes really easy and comfortable to hit.
Maybe an improvement over hjkl, which is always one letter off from touch-typing.
Also, you may want to try the Capewell-Dvorak layout by Michael Capewell at http://www.geocities.com/smozoma/projects/keyboard/layout_ca... . Mr. Capewell has an evolved layout as mentioned by trickjarrett, but the Capewell-Dvorak layout attempts to be a simple correction to some glaring issues in Dvorak like the inconvenience of the ZXCV placement, typing G and H on the same finger, placing A under the pinky and O under the ring finger, etc. I haven't had the time to spend to learn it, but I think it would be well worth the endeavor for someone just learning their second layout.
My Qwerty fingers are completely gone and I find it a pain to use since I learned to touch type in the early 90s and now have to lift my hands and look at the keyboard all the time when using that layout on someone elses computer.
Keyboard shortcuts and punctuation have been my least favorite parts of the switch. I still get them wrong all the time and not having the shortcut keys on the left hand is a bit of a pain.
I'm going to stick with Dvorak in the hopes that I things get better as I move forward. I switched mostly as a preventative measure to avoid the RSI issues I see in this industry alot, but I can't yet recommend switching to others.
The 'mistake streaks' do get better as you go along though - I find that I just switch between thinking about what I'm typing and the keyboard layout when I make a mistake, which helps avoid repeated mistakes. The context switch is annoying though, ideally I'd like to do around 90wpm with 100% accuracy, which is why I've started practicing with a typing program again.
http://slashdot.org/comments.pl?sid=35481&cid=3832754
A few comments:
* The first week or two is almost completely unproductive. You spend most of your time screaming at your fingers to just shut up and get used to the new arrangement.
* Once you make the adjustment, although your typing speed goes up, it doesn't go up by a large amount. The real benefit of Dvorak is typing comfort. Also, your accuracy will probably increase a bit.
* Switching to dvorak while using Emacs was not a problem at all. Not sure if it would be more difficult for Vim users.
* Switching to the Kinesis Contoured is a vast improvement over those "regular" keyboards most people use.
* After the switch, I rapidly and completely lost all my ability to touch type in qwerty. It just vanished in that first week or so. Nowadays, if I'm stuck on a machine without dvorak, I'm reduced to ridiculously slow hunting-and-pecking. If I were to open Emacs or Vim on such a machine (and I know the basics of Vim), I would scarcely be able to quit either program without damaging something.
* Things are a bit of a pain on Macs, since they have that extra "Command" key, and the Contoured only really makes Ctrl and Alt readily available (2 Ctrl keys and 2 Alt keys). You can remap Command to one key of one of those, but you don't want to lose any of them if you're an Emacs user.
Do what I do:
(Here's the default layout for reference (ignore the Dvorak stuff for the purposes of this comment). Note the placement of the thumb keys: http://www.ergocanada.com/products/keyboards/advantage_image...)
Remap both of the keys next to the control keys (Alt/Option on the left hand; Command/Win on the right hand) to the Mac Command key. There's a handy extra key cap provided with my Advantage Pro that lets you put the same Command/Win key cap on each of these keys, so it will even look right. (Alas, that trand won't last; see below.)
Now remap Home to Option. Remap Page Up to Option as well. Now you've got Control, Command, and Option under both thumbs. The only problem with this is that total strangers who are trying to use your keyboard will be unable to find your Option keys, but who cares about them? ;)
This takes away your Home and Page Up keys. I like having Page Up/Page Down available, so I remapped Ctrl-PageDown to PageUp. So I can hit PageDown to page down, and C-PageDown to page up.
I don't use the Home or End functions at all. I remap End to Escape, the Escape key to Caps Lock, and the Caps Lock key to F9. Then I set up F9 in Emacs to trigger my own personal keymap and, lo, I have an entire keyboard full of new two-keystroke shortcuts that I can program. (e.g. CapsLock g g instantiates Magit; CapsLock s opens a new shell in another emacs window, CapsLock m opens a manpage, CapsLock j is dabbrev-expand, etc, etc, ad infinitum)
Kinesis keyboards are fun!
I'll probably stick with QWERTY and a Kinesis keyboard.
The funny thing is every time someone grabs my laptop, they are totally freaked out.
Not my experience, at all. It takes a second to switch gears mentally, but it's not at all different from people fluent in multiple languages. Context helps, though: I type Dvorak on my desktop, my laptop, and my computer in the office, but Qwerty on other computers.
The first 2 weeks were really frustrating, particularly since I was a relatively fast Qwerty typer (125wpm). About a month and a half in I'm hovering somewhere around 50-60wpm.
The keyboard itself is a lot more comfortable than anything I've ever used. The Dvorak layout makes typing as a whole a more efficient process but on the down side some common shortcuts are a pain to use. Although the Kinesis allows you to remap the keys I have not yet taken the time to do so.
I do see myself gradually improving as time goes by, but it's a long process and requires a lot of patience. For anyone interested in switching over make sure you give yourself at least a week to adjust. In the end it's all about practice.
The function keys are also unusually small and difficult to locate by touch (and, given the above, some function key/modifier combinations are quite challenging). The Windows context menu key is gone entirely, which means you have to use shift-F10 instead, if you need it.
One of the reasons for that practice is that modifier keys are typically pressed with your pinkie. You also use that finger for typing characters, so for these characters you need to break your habits. Eventually you build new ones, but it'd be better not to need this. Even for characters that you don't type with your pinkie, you may need to stretch your fingers in awkward ways.
Thumbs are only used for the space bar, which is seldom used with modifier keys --and you can use either thumb for it, so you can alternate. Also, thumbs are less 'coupled' with the other fingers.
I'd still prefer my modifiers duplicated on either side, but I can see how this may matter less if they go under your thumbs.
I remapped a LOT of the keys however. Caps -> Ctrl is crucial, put escape on an elevated thumb button... all the navigation keys to the "4th row"... basically I sat down and thought about where i wanted my control keys to be for easy access, and remapped them there. That solved all of my initial control key problems.
If you're the kind of person who's interested in learning Dvorak, and shelling out $200 for a keyboard, that's not much of a stretch.
Not a good move for me: despite eventually going off all keyboards and using voice dictation software, I have permanent damage in both hands and my thumbs are the first to start hurting.
What I've been told by experts is that the best thing to do is to switch among different layout keyboards every couple of days. Each uses slightly different muscles, and if you switch often enough, you may not fatigue any of them--but there are no guarantees on anything!
http://www.reason.com/news/show/29944.html http://www.straightdope.com/columns/read/221/was-the-qwerty-...
The concept of somebody having an axe to grind about keyboard layouts strikes us as weird in the 21st century when switching keyboard layouts is one quick command in Linux, but back then there was money at stake. I take the whole argument both ways with a grain of salt and say that since there is no respectable science, personal experience is the only thing that you can use to decide.
(A lot of people come to understand that science is superior to anecdotes and personal experience, but when there is no science, anecdotes and personal experience are still better than nothing. If that bothers you, consider the contrapositive, and what it would mean for that to be false.)
I note that I modded you up, though, because the articles are still informative and useful to come to your own conclusion about what I've said in my comment.
Really? Where? (I'm not being sarcastic-- you are being specific enough that you clearly have something specific in mind.)
Now, I really don't care about economic ideology, but I like facts. The Dvorak keyboard places more frequently used letters on the home row than Qwerty* . Also, all of the vowels are on the left hand, which means that typing will generally alternate between hands.
If you agree that it is better to spend most time typing on the home row (to reduce finger travel and general hand contortion/RSI) and to not type several letters in a row on the same hand (compare "reverberated" to "antiskepticism" on Qwerty, for example), then Dvorak is objectively better by your standards. (All bets are off if you're typing in Czech or something, of course.)
* Specifically, "asdfg hjkl;" vs. "aoeui dhtns". Semicolon! I suppose Qwerty could have PrintScrn/SysRq there instead, though.
But the claims that Dvorak has no advantages over QWERTY really don't pass the smell test. It's almost certainly more a matter of whether it's worth it for someone to switch, on which I'm very ambivalent.
There's also the interesting question of whether it would be better to start on Dvorak, which I'll have to ponder here in the future now that I have a baby. Personal experience would suggest that someone raised on Dvorak is much more likely to learn actual touch typing.
(I was on QWERTY for over a decade and still doing the same wandering-hands thing everybody else does, because QWERTY doesn't reward touch typing. Touch typing on QWERTY is like the official way to swing a baseball bat; everybody has to learn it, but hardly anybody does it and even at the pro level everybody does their own thing. Dvorak and most of the other alternate layouts reward it very strongly. You don't even have to teach it, it just happens.)
Agreed. For programmers, I would say the odds are good - you'll be doing a lot of typing, and RSI is a real concern. For people who do a lot of typing on other peoples' computers, planning around what's widely available (qwerty & vi on Unix, for example) is probably a better choice.
> QWERTY doesn't reward touch typing.
Good observation! Dvorak seems more clearly designed with touch-typing in mind, I think.
(As a data point: I type "wandering-hands" on Qwerty at 95-105 wpm, and about same on Dvorak. The typing isn't the bottleneck.)
Anyway, I guess we agree. I find it plausible that Dvorak would be more efficient (I've even switched briefly before), but don't think there is any credible scientific evidence of it.
Rockin Regards, Marco
Mostly I'm curious about typing performance more than RSI type issues.
Now I mostly use a primary laptop and I've been playing with Colemak which I've found surprisingly easy to get into. I would advice doing a typing tutor for a while though before you take the jump to use it for work related stuff. This means you can train your hands to a decent speed in "game" mode.
I find complaints about keystrokes in emacs to be overrated. I think the problem people have is that even though the keystroke for, say, "go to beginning of the line" may be "CTRL-a", in your brain it manifests as a separate keystroke and will require distinct time to re-learn, even after you've mastered a. Not a lot of time, but time.
I play Angband sometimes (in the laptop keyboard configuration), and for that I always go back to QWERTY, because I don't "press the letter p to pray", I "press the Pray key", and having that remapped and trying to relearn everything is just silly.
Personally, I'm not sure I recommend switching. But if you do switch, I do recommend keeping it. The anecdotal wrist pain mitigation evidence is anecdotal, but since nobody's done a study, it's all we have to go on.
I even remember having to write my own custom key layout files for Unix and DOS...those were the days!
I think I'll try it out, anyways. There's already a bit of re-learning that has to be done when switching from English to German, so maybe in practice it will be easy. I already notice that I sort of context-switch, so maybe my brain will seperate the layouts sufficiently so that it's no harder than switching like I already do.
Works good enough for me and I have been to lazy to get a German Dvorak or try the NEO layout that was designed for German.
Although I could type quite well from an early age (despite the ZX Spectrum's rubber keys) I never learnt to touch type Qwerty. Learning Dvorak forced me to touch type and rest on the home keys properly. Using a "normal" keyboard also meant I couldn't cheat and look at the keys when using Dvorak.
Probably due to now touch typing, Dvorak is faster for me (and more comfy). I'm forced to use Qwerty often enough however that I can switch between the two fairly easily.
I'm in the UK but use the US-Dvorak layout as that is standard with Windows. I'm therefore missing the pound sign but ALT-156 gets me through the odd occasions I need it. I have tried the UK version on Linux but couldn't find the exact same layout for Windows and am too lazy to re-create it myself. The US version is good enough for me.
I tend to use the old DOS style keys for cut/copy/paste (Shift-Delete, Ctrl-Insert, Shift-Insert) due to the odd xcv layout others have mentioned. I learnt emacs after the switch so the layout seems fine to me. I haven't taken the time to learn VI.
Windows is a little awkward as switching layout with the taskbar icon only changes the active window and changing the default input language seems to miss things like the start menu.
I think an ergo keyboard is the next step (I can feel my wrists are pushed into a slightly unnatural position) but am yet to try one. This makes a lot of sense to me also but again I'm yet to try it.. http://www.tlb.org/keyboardchop.html