Are alternative keyboard layouts like Dvorak, Colemak, etc. better than QWERTY? [closed] - keyboard

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
There are many alternative keyboards to the standard US keyboard layout (called QWERTY).
Some examples include Dvorak, (and variants like Programmer Dvorak), Colemak, AZERTY, Workman layout, etc.
Do any of these confer a benefit to typing speed, accuracy or hand/wrist-health?
And, if so, which one of these should I choose as a touch typist if I am regularly programming?

Short answer:
If you are happy with your keyboard layout, stick with it.
Long answer:
I will try and aim to make this as definitive and explanatory an answer as possible. To understand a bit where I am coming from, allow me to express my own journey through this jungle:
I am a computer science student who started out with the German QWERTZ keyboard, typing at about 100 WPM (words per minute). When that turned out to be horrendous for programming, I moved to QWERTY. Then, I got taken in by the hype and turned to Colemak. After mastering it, I discovered there was a layout optimized for programming, and switched to Programmer Dvorak. Finally, still not happy, I tried to design my own keyboard layout semi-scientifically. And finally, now, I am typing these lines on QWERTY. (To save others the trouble and pain I went through).
Therefore, I will try to argue in my answer both from personal experience as well as from scientific published data.
The main arguments for all the alternative keyboard layout hype can be summarized to three major points:
The QWERTY keyboard is slow and was designed to slow typists down.
Excessive use of QWERTY causes Carpal Tunnel syndrome and is bad for your health.
Dvorak/Colemak/< Insert alternative layout here > was optimized to increase speed/accuracy/health
Let's go through this one by one:
First, the argument that the QWERTY keyboard was designed to slow typists down is simply not true. It was nicely debunked in this question. The QWERTY keyboard was designed to stop the keys from a certain model of typewriter to stop jamming. Rest assured, we will discuss the "QWERTY is slow" myth in a minute.
Second, the ultimate argument that advocates of alternative keyboards love to use is that QWERTY causes Carpal Tunnel syndrome, because it strains the fingers.
What's amazing here is that this is actually an Urban legend which has persisted despite it being discredited. See this question here. To quote from the answer by Graeme Perrow: "It seems that using computers in general does not cause carpal tunnel syndrome, regardless of the type of keyboard."
Finally: If QWERTY wasn't made to slow typists down and doesn't cause any illness, why use another keyboard? The answer usually offered is because other layouts are faster and have the keys aligned in a "smarter" way.
We are told how much faster typists can be when they use Dvorak instead of QWERTY and how the home row of colemak offers great benefits to productivity and speed.
We are treated to an avalanche of impressive-looking percentages, of how much faster and accurate you can be on an alternate keyboard, rather than a humble QWERTY.
However, if you look at hard, scientific evidence, you find... nothing worth writing home about. Indeed, there are two very interesting posts here and here: It turns out that the (very hard to objectively measure) speed gains are a measly 2% to 4%.
This mimics what I myself have experienced: If you are a trained typist, then switching doesn't give much of an improvement. After I had finally finished my switch to Dvorak, I was still typing at roughly 100WPM. If you want to go beyond that, you have to type a lot during your day.
I believe that the reason people observe a speed-boost when they switch is that they have to retrain their muscle memory from scratch. Which, if they do diligently, is rewarded with a faster typing speed. The irony is: I conjecture that if they had "retrained" QWERTY from scratch, they would have obtained the same speed increase.
Additionally, my own error rate didn't go down with Dvorak or Colemak. It stayed around the same level. Which, again, is not dictated by the layout but by the accuracy with which one has trained their muscle memory.
Lastly, on the note of programming: It is true that for programming languages, on QWERTY the keys used often, such as {}, [], ', =, +, -, _, etc., are all to be reached with the right pinky, which drags performance down. This still is not worth the switch to something like Programmer Dvorak, however, since, especially in programming, the limiting factor is rarely typing speed (once you get above 60WPM, that is).
So given all this, there are also a few downsides to switching that I wish to elaborate:
Dvorak suffers from the huge disadvantage that all computers use shortcuts (such as the famous CTRL+C and CTRL+V) which, on the Dvorak, are in different and hard-to-reach positions. Colemak doesn't suffer from this as much, since it kept the C, V and B key positions from QWERTY. However, even with Colemak, using programs which rely heavily on shortcut use (the most notorious of these being software like vim and emacs), has to be relearned from scratch.
Switching takes a very long time. Let nobody fool you. If you were typing at >80WPM, I can tell you from personal experience that it takes months to achieve this speed again. Even if you swap only a few keys (like Colemak), it is still a painful and long process.
When you successfully switch, you will be unable to type fast on regular QWERTY keyboards anymore (take my word for it). You will still be faster than someone who doesn't use touch typing, but if you ever have to type on a QWERTY computer as an alternative typist, you will be in for some embarrassment. This can get especially hairy if it is work related.
Many alternative layouts are not nearly as standardized as QWERTY. In other words: If you use an older machine, for instance, you may find your preferred layout not installed. This is a further hassle, because then you have to get around that problem by downloading and installing the layout you chose, meanwhile having to work in a layout you can no longer use.
Thus, in conclusion, my advice is: If you are happy with your current layout, keep it. The benefits of changing are much too small to consider. Especially if you are a QWERTY typist, I recommend staying with it. It will save you a lot of hassle and annoyances.

Long story short: QWERTY was not designed for touch typing. When compared with nine other layouts, QWERTY comes in dead last in typing effort. Give other layouts a try and experience the difference.
Whether the QWERTY layout was intentionally designed to slow typists is irrelevant. QWERTY is inherently slow by design.
The ultimate argument made by alternative keyboard advocates is that QWERTY is an inefficient, sub-optimal keyboard layout and that better layouts exist that suit modern touch typing technique. Whether one subscribes to the belief that QWERTY is a contributor to carpal tunnel is another story, yet many anecdotal stories exist of people who have reduced RSI by switching.
You should use a non-QWERTY keyboard layout because a non-QWERTY keyboard layout is easier to use. Switching to Dvorak or Colemak reduces distance traveled, reduces same finger typing, increases hand alternation, increases hand balance, and optimizes performance according to finger strength. Switching to Dvorak alone reduces effort by 30% (i.e not 4% as suggested, see first link). Note that these benefits accrue over time with use. The idea that there is no benefit to switching is simply untrue. And with newer layouts such as Colemak, typists don’t have to relearn to type. 48% of the Colemak keyboard layout is identical to QWERTY. Even if one’s error rate doesn’t fall (highly unlikely), alternative keyboard layouts like Colemak remap backspace to an easier to reach spot.
Regarding said downsides:
Windows and Mac offer the ability to use familiar QWERTY shortcuts while pressing Ctrl/Cmd. Many people have devised ways for using emacs/vim while switching.
Switching can be very painless and easy considering there are websites such as keybr.com that teach how to master touch typing using Dvorak or Colemak.
Whether you can type as fast with QWERTY after switching is irrelevant. Once you switch, you are set and won't have to go back to QWERTY on your own device. Dvorak and Colemak are standards or can be easily installed on to all major operating platforms. If you are going to use others keyboards and aren’t able to switch the layouts, there are numerous online keyboard simulators.
The hassle of switching the layout on the computer is very minimal if nonexistent compared to the hassle of typing on QWERTY.
Advice: The benefits of switching are too large not to consider. You have nothing to lose by trying; if it doesn’t work out, you will always have QWERTY to fall back on. Let your keyboard work for you, not the other way around.

My two cents worth...
I switched from QWERTY to Colemak a few years back, mostly because I like to try out new things but also because I was getting a bit of RSI from all the typing I do.
I found the transition took a few months, with the first few weeks being most painful -- I took a lot of handwritten notes in meetings in this period! But perseverance paid off, I'm now typing at about 60-70 wpm, which is faster than my old QWERTY speed, and I can touch type properly, plus I don't get the RSI pains any more.
Now, much of this might be because I learned to type properly in Colemak (using programs such as GNU Typist) whereas I don't recall ever learning QWERTY properly. But I would say that Colemak definitely feels nicer on the fingers, with less movement around the keyboard for most words.
I'd also add that Colemak is supported as part of the base OS on Mac and popular GNU/Linuxs (e.g. Debian and Ubuntu), and easy to install on Windows, so would consider it fairly mainstream.

I agree with #mark-anderson I am typing on dvorak and the worst part is that shortcut keys are a pain - I use a tool for that (see my answer at https://stackoverflow.com/a/22945703/18132). Using someone else's keyboard is also a pain.
On the plus side, I can touch type and never have to look at the keyboard. actually if I look at the keyboard I get confused since the keys are in the wrong place.
Was it worth it? Not really sure. I like that I can touch type. I like that I can use qwerty shortcuts but my hand still hurts and I think I might be faster - not really sure. But I am considering switching back to qwerty - I have been dvorak for 2+ years now, so I don't really have a good reason to switch back other than to "conform" :)

Related

Time to relearn touch typing? (Is this a Emacs / VIM thing?)

As a kid, I learned to type on a German keyboard1?. And even though my mom tried to make me use a "learn how to type with ten fingers" program I never did. My hands have their very own muscle memory about how to type. I found out that I use the index fingers most to reach many characters, while my hands are moving over the keyboard.
Now, here's the kicker (no flame intended!): I use and used emacs a lot and I've never really had an issue with the way I type, or at least it never felt too awkward. From time to time I like to explore VIM (and other editors) to see what has changed and which features are the new and hot features.
I came to the conclusion that, while my fingers /rest close/ to the home row, my hands move a lot and the default keyboard command layout in vim seems to prefere the fingers resting on the home row with little movement of the hands.
I don't consider myself to be a slow touch typist, but could a formal touch type education increase speed and accuracy? Furthermore is this a Emacs / VIM thing?
UPDATE: I headed over to http://typeracer.com/ :)
1: These days I type on US keyboards while switching between different layouts as needed.
Yes, you're a keyboard worker, learn to use a keyboard properly. No, it's not an Emacs / Vim thing.
If you are using emacs, makeing Caps_Lock another Ctrl key will ease strain on your little finger, when your hands are "locked" in the home row position.
for ubuntu
System->Preferences->Keyboard->
-->Layouts->Layout-Options-Ctrl key position->Make CapsLock an additional Ctrl
or for windows
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
You don't need a formal education, but a lot of discipline, concentration, dedication and hard work will make you a touch typist in a few months.
Touch typing will greatly assist you in your life, if you plan to work with computers as your day job.
Force yourself to move your hands as little as possible and use all of your fingers all of your time.
Rest your left fingers on ASDF, your right fingers on HJKL and start typing. While typing, optimize your reach for every key pressed.
If you plan to be a computer professional, touch typing should be a rite of passage, although it isn't required. But just imagine what would it look like if a master pianist didn't know all keys on piano by heart?
Not really. Especially if you are going to alt-tab to google/read documentation a lot.
Touch typing as it is good only if you are not going to use mouse and F1-F12 which is never true in modern environment.
If you are going to use them, you'll eventaually switch to some form of mutant of touch-typing.
(also whoever thouGHT that typing H with riGHT hand is briGHT idea should be shot in THe face. Left hand do it more naturally in huge amount of cases)
I'd say don't worry about it. You're not a secretary or someone who is having to take down dictated speech. It's far more important for a programmer to spend more time thinking about what they're writing rather than how they write it. If speed of typing is your biggest concern over how productive you are I think you're probably productive enough.
Do you really care? If you do, use the editor that you are more comfortable with. If are you looking for alternative, use M-x viper or learn other emacs extensions that helps you type faster.

One handed coding -- tablet, special keyboard, one-handed typing?

I recently broke my finger and can now only type with my right hand. This has seriously impacted my typing speed. Since I write software for a living, this is a serious problem.
I have been doing some research, but haven't found a great solution yet. Here's what I've come up with:
Wacom tablet + hand writing recognition software. Is it possible to write code with hand writing recognition software?
one handed keyboards -- I have only found expensive (> $100) keyboards. These look like they have a steep learning curve.
one handed typing instructions: http://www.aboutonehandtyping.com/manualcompare.html. Does this really work?
What do the one handed coders out there use?
If you're a two-hand touch typist, the answer is a "mirrored" layout.
Mirroring lets you begin touch-typing with one hand almost immediately. Pretty crazy how easy it is. Based on the muscle memory you already have.
If you're typing with your right hand:
Type all right-hand keys normally.
Don't type left hand keys. Instead type the same motion (but mirrored) with your right hand.
So if you want to type:
"D" -> type "K" instead.
"W" -> type "O" instead.
"S" -> type "L" instead.
Same row of keyboard, same finger, same motion. Your muscle memory can already do this... kind of like how you're unable to pat your head and rub your belly at the same time. The wires in your brain are crossing somewhere.
Software to mirror the keyboard as described above:
Hold Spacebar to mirror:
Linux - MirrorBoard
Mac - Mirror-QWERTY
Windows - AutoHotkey version of Half-QWERTY Half-Keyboard
Predictive Text; Automatic Mirroring
Mac - One-Hand Keyboard
Windows - One-Hand Keyboard
Regarding one-handed keyboards, I've tried using a frogpad and found it ok for typing text, but unusable for coding. The symbols require several consecutive key presses and I found it impossible to use shortcuts reliably. It was too easy to hit the wrong key and get it stuck in the wrong mode.
Nobody has mentioned ENTI-key aka Coffee++ Layout yet? It is exactly designed for programming with one hand (left). And unlike qwerty, it is even optimized for speed and ergonomics. I used it some years ago for a short while and I don't know if it still works on newer systems. I think I used it for writing CSS: Typing the words with left, typing all those numbers on the numpad with right.
I can not recommend pen+handwriting. I usually use a tablet PC and handwriting code is terrible. I tried it on Windows 8 and Linux with Cellwriter, and both are not bad programs, but I still switch to onscreen keyboard whenever I can. But maybe the problem is my scratchy writing :)
I also can tell from experience that learning a new layout is not as complicated as it sounds. Especially if the layout is more logical than qwerty. I use Neo Layout since 10 years and getting the hang of it went smoothly, I was able to write a blog article after an evening of training.
"But what if you have to use qwerty on another PC?" This, also, is no problem, really. My simple trick is to never look at the keyboard when using Neo, but glimpse at it when qwerty-ing.
Good luck to anyone who wants to or has to use one hand for typing!
Now, the time to heal a broken finger will be shorter than it takes to adapt to one handed coding, not to mention the time it takes afterwards to get back to two-handed coding
Also, the time it takes to learn the methods is time you could've spend on coding (read: making a living).
Knowing this, we need a quick-fix, short term solution.
First of all, A good IDE, with code completion and similar functionality will help you a lot.
Secondly, use the shortcuts of the IDE, remember, there are Shift, Altand Ctrl keys on both sides of your keyboard.
(you might want to create a cheatsheet for those shortcuts)
In addition to helping you during your time with your injury, learning the shortcuts will also improve your coding speed when you're back up again.
Now, my comments on your proposals:
Don't, simply, Don't, it'll take even more time to fix writos (typos) beacause recognition will be flaky.
That learing curve will slow you down even more.
Won't even comment on that one...
Mirrorboard
A friend of mine broke his wrist snowboarding, and he had reasonable luck using speech recognition software (Nuance Dragon Naturally Speaking). It worked quite well for email and documentation, which would solve a part of your problem.
Another colleague, Nils Klarlund of AT&T, developed a version of emacs hooked into speech recognition. He even had a home-brewed set of foot pedals for doing shift, control, etc. He used this exclusively for years (due to bad carpal tunnel syndrome).
And maybe your feet can take up some of the burden. This is part of a parallel discussion going on in this question.
And off-topic, but extremely interesting, T.V. Raman, who's been blind since the age of 14, wrote a version of emacs that works with keyboard input and audio output. There's a chapter on it in Beautiful Code. I've seen him use it, and it's completely awesome. And of course emacs is a great interface for more than just text editing.
If you anticipate that your left hand will be out of commission for a long while, and if it's worthwhile for you to learn a new layout, then there exist one-handed Dvorak layouts.
There's some information at PC Guide: Single-Handed Dvorak Alphanumeric Layouts.
There also once was software for Qwerty Half Keyboards that used the space bar as an extra shift key that reversed the keyboard.
Good luck with your injury!
We have a developer in the office that lost mobility in his right hand and probably won't gain back full use of it. He has mainly learned to type well with his left hand and kind of fill in for his right hand. Although he lets his right hand kind of peck for things. He has gained enough speed back for it not to affect his day too greatly from what i can tell.
Only thing i can think of that might let you speed up some while typing with one hand and maybe being able to get a key or two with the other hand might be to use an IDE instead of text editor if you already don't, so you can use tab completion. Kind of a lame solution if you don't like IDEs or just don't have that option in your work environment but might help out a bit.
The same thing happened to me (I destroyed my left pinky). At the time, I didn't touch type, so my only use for my pinky was left-control, left-shift, and caps-lock.
This sounds as if it just happened to you. I promise you'll quickly learn to compensate. Remember, it's quality, not speed, that counts most.
Perhaps you should seize the opportunity and read to improve yourself as a programmer. Or spend some time debugging.

Why are there so few modal-editors that aren't vi*? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
Pretty much every other editor that isn't a vi descendant (vim, cream, vi-emu) seems to use the emacs shortcuts (ctrl+w to delete back a word and so on)
Early software was often modal, but usability took a turn at some point, away from this style.
VI-based editors are total enigmas -- they're the only real surviving members of that order of software.
Modes are a no-no in usability and interaction design because we humans are fickle mammals who cannot be trusted to remember what mode the application is in.
If you think you are in one "mode" when you are actually in another, then all sorts of badness can ensue. What you believe to be a series of harmless keystrokes can (in the wrong mode) cause unlimited catastrophe. This is known as a "mode error".
To learn more, search for the term "modeless" (and "usability")
As mentioned in the comments below, a Modal interface in the hands of an experienced and non-fickle person can be extremely efficient.
Um... maybe there isn't much of a need for one, given that Vi/Vim is pretty much available everywhere and got the whole modal thing right? :)
I think that it's because vi (and its ilk) already occupies the ecological niche of modal editors.
The number of people who prefer modal and haven't yet been attracted to vi is probably 0, so the hypothetical vi competitor would have to be so great as to make a significant number of vi users switch. This isn't likely. The cost of switching editors is huge and the vi-s are probably already as good as modal editors go. Well, maybe a significant breakthrough could improve upon them, but I find this unlikely.
#Leon: Great answer.
#dbr: Modal editing is something that takes a while to get used to. If you were to build a new editor that fits this paradigm, how would you improve on VI/VIM/Emacs? I think that is, in part, an answer to the question. Getting it "right" is hard enough, competing agains the likes of VI/VIM/Emacs would be extremely tough -- most people who use these editors are "die hard" fans, and you'd have to give them a compelling reason to move to another editor. Those people who don't use them already are most likely going to stay in a non-modal editor. IMHO of course ;)
Modal editors have the huge advantage to touch typists that you can navigate around the screen without taking your hands off the home row. My wrists only hurt when I'm doing stuff that requires me to move my hand off the keyboard and onto the mouse or arrow keys and back constantly.
Remember that Notepad is a modal editor!
To see this, try typing E, D, I, T; now try typing Alt, E, D, I, T. In the second case the Alt key activates the "menu mode" so the results are different. :oP People seem to cope with that.
(Yes, this is a feature of Windows rather than specifically of Notepad. I think it's a bad feature because it is easy to hit Alt by mistake and I don't think you can turn it off.)
VIM and emacs make about as much user interface design sense as qwerty. We now have available modern computer optimized key layouts (see the colemak layout and the carpalx project); it's only a matter of time before someone does the same for text editors.
I believe Eclipse has Vi bindings and there is a Visual Studio plugin/extension, too (which is called Vi-Emu, or something).
It's worth noting that the vi input models survival is in part due it's adoption in the POSIX standard, so investing time in learning would mean your guarenteed to be able to work on any system complying to these standards. So, like English, theres power in ubiquity.
As far as alternatives go, I doubt an alternate model editor would survive a 30 day free trial period, so its the same reason more people drive automatics than fly jets.
Since this is a question already at odds with the "no subjective issues" mantra, allow me to face that head on in kind.
Non-Modal editing seeks to solve the problem caused by non-modal editing in the first place.
Simply put, with Modal editing I can do nearly everything without my hands leaving the keyboard, and without even tormenting my pinky with reaching for the control, or interrupting my finger placement by hunting for the arrow keys.
Reaching for mouse completely interrupts the train of thought. I have hated the intense reliance upon this with Intellij IDEA and Netbeans for many years. Even with vim-style addons.
Most of what you do has to do with fine-tuning with very small increments and changes within the same paragraph of code. Move up, move over, change character, etc., etc. These things are interrupted with control keys and arrows and mouse.
Though not really answering your question, there used to be a "modal like" way to write Japanese on cell phones before :
The first letter you hit was a conson let's say K, and then, and then the next key you would hit would have the role of a conson. (Having two conson in a row is impossible in Japanese)
Though it was main a few years ago, today it's only used by people who really want to hit fast.
I think the answer to the question is actually there are quite a few modal text editors that aren't forks of vi/vim. However they all use the vi key bindings. Vi users get the key bindings into their muscle memory so relearning a different set of key bindings would be really hard, so no-one would create a different set of key bindings.
But lots of different editors have re-implemented the vi key bindings from scratch. Just look at this question about IDEs with vi key bindings. At least half of the answers are editors built from scratch that implement vi key bindings, not versions of vi embedded.
I recently came across divascheme - an alternative set of key bindings for DrScheme. This is modal, and part of the justification is to do with RSI - specifically avoiding lots of wrist twisting to hit Ctrl-Alt-Shift-something. The coder has done an informal survey of fellow coders and found that emacs users suffered from more wrist pain than vi coders.
You can see him doing a short talk at LugRadio Live USA. (The video is a series of 5 minute talks and I can't remember how far through it is, sorry - if someone watches it and posts that here I'll edit this post to say when in the video it is).
Note I have not used divascheme.
The invention of the mouse took one mode and moved it to an input device, and context menus took another mode and moved it to a button. Ironically, the advent of touch devices has had the reverse effect, producing multi-modal interfaces:
aware multi-modal - touch and speech are aware of each other and intersect
unaware multi-modal - touch and speech are unaware of each other and conflict
The traditional WIMP interfaces have the basic premise that the information can flow in and out of the system through a single channel or an event stream. This event stream can be in the form of input (mouse, keyboard etc) where the user enters data to the system and expects feedback in the form of output (voice, vibration, visual, etc) when the system responds. But the channel maintains its singularity and can process information one source at a time. For example, in today’s interaction, the computer ignores typed information (through a keyboard) when a mouse button is depressed.
This is very much different from a multimodal interaction where the system has multiple event streams and channels and can process information coming through various input modes acting in parallel, such as those described above. For example, in an IVR system a user can either type or speak to navigate through the menu.
References
User Agent Accessibility Guidelines working group (UAWG): Keyboard Interface use cases
W3C Multimodal Standard Brings Web to More People, More Ways
Next steps for W3C work on Multimodal Standards
The Future of Interaction is Multimodal
Beyond Mouse and Keyboard: Expanding Design Considerations for Information Visualization Interactions - naturalinfovis_infovis2012.pdf
Setting the scope for light-weight Web-based applications
Jan. 26, 1983: Spreadsheet as Easy as 1-2-3
Multi-modal design: Gesture, Touch and Mobile devices...next big thing? | Experience Dynamics

Best keyboard for custom Dvorak-based programming layout

I'm considering switching to a Dvorak-based keyboard layout, but one optimized for programming (mostly) Java and python (e.g. DDvorak, Programmer Dvorak, etc.). What particular keyboard would be best for such an undertaking? I'd consider either natural or straight keyboards.
Thanks.
I strongly discourage you from learning a layout that has been heavily optomized for any one programming language (or even a class of them..) it's much, much easier to change languages than keylayouts, and you'll have a lot of trouble finding the tweaked layouts on any random computers you need to use.
That said, I've used dvorak for years (something like 7-8 years now) on a Kinesis Contoured keyboard and it works wonderfully. The kinesis is programmable, switches between qwerty/dvorak, and you can remap the keys all you want (so you could try out ddvorak or programmer dvorak pretty easily, without making software changes, if you wanted).
The contoured keyboard also forces you to touch-type more "correctly", since you can't easily reach across the keyboard with the wrong hand.
Typematrix
(source: typematrix.com)
Plain vanilla dvorak is best imho. Yes, it does move 3 or 4 keys such as {}: etc out of the way, but you quickly get used to them in the new position, and after a while it makes no odds at all.
The pay off comes in being able to use any random pc - flick the keyboard layout to standard dvorak (which is on just about all PC's, unlike most obscure programmer layouts), and away you go. If you're used to a non-standard dvorak layout, and are forced to use a normal dvorak layout on a qwerty labeled keyboard, I suspect you're in for a whole ton of backspaces (and curse words).
I've only been using dvorak for a few years, but I can't imagine programming using anything else. (Especially with vim, the dvorak layout seems to end up with lots of the keys in much handier positions =)
oh, and as mentioned above - kinesis contoured keyboard is the way to go if you're considering changing layouts for R.S.I issues.
I think the ErgoDox is probably the best option. You used to have to order the components and build it yourself, but now you can purchase it assembled. Here is what it looks like when completed:
I think the ErgoDox is the best option. Apparently the DataHand also supports Dvorak, but I think it would have a pretty steep learning curve:
The components for the ErgoDox typically run about $250 when all is said and done, although it can definitely be built for less than that. I think the DataHand costs around $800.
Any 'normal' keyboard should be pretty much adequate for dvorak, including simple ergonomic (split in equal halves) keyboards. Some of the more esoteric split-ergonomic keyboards that aren't equally split may cause problems with the way that dvorak weights the finger usage though.
If you're going to learn dvorak, I would personally avoid plain dvorak, as it moves punctuation commonly used in programming, such as parenthesis, brackets, braces, etc too far away from the hands: There are a number of 'programmer dvorak' implementations out there which adjust dvorak for this 'oversight'.
I started this post in reply to Tom's post but it grew slightly long.
I learned to touch type at the same time as switching to the Dvorak layout and found that using a qwerty keyboard helped a lot. It stopped me from being tempted to look down at the keyboard. There's no reason to need the labels if your going to touch type and learning to touch type is more important than changing to dvorak.
Right now I'm using the Programmers Dvorak layout that I've made slight modifications to and find it easier than qwerty was.
I recently found out about the Developer's Dvorak but think it's too different for me to learn while still being able to use normal dvorak. It changes the vowel placement and just about half the other keys.
If you are planning on using a custom keyboard layout that's very far from the norm it's good to have something like Portable Keyboard Layout that you can put in a portable drive to use on any [windows] computer.
Do you use a natural keyboard, or a straight one? Keyboard preference can be intensely personal, but many higher-end keyboards have keys fitted specifically for the location of the key (slant and curvature), meaning for Dvorak you'll need to ignore the labels, move the keys and eliminate that advantage, or go with something like the blank das keyboard
My BROTHER of keyboard land. I think I found the holy grail in terms of programming keyboards. Behold the keyboard that retains the layout within the keyboard. I have a custom Dvorak keyboard layout not particularly for programing, mostly for essay writing. I do program a lot though. That retains programmable macros within its brain. That has 24 function buttons. And that has mechanical switches (if it had cherry blue or buckling it would be perfect, it currently sports alps, which arent bad at all). It is based on the renowned Northgate omnikey.
CVT Avanat Stella
http://www.theregister.co.uk/2005/11/07/avant_keyboard_review/
On the other hand, you could go 150 bucks under with the IBM Workstation, its legendary buckling spring design is a holy grail among typists. And its 24+ function buttons should prove useful. Plus its vintage goodness is something any geek would adore.
Although switching a keyboard format through software is an easy fix, having a keyboard like the Typematrix helps alot. I've been using the Typematrix 2030 for 4 years now and own 2 boards. One is for work and the other is for home use. I can now use any keyboard I want but the typematrix is definitely more comfortable and timely. This keyboard comes with software that will aid you in learning Dvorak if you don’t know how to type yet.

Is it possible to be ambikeyboardrous?

I switched to the dvorak keyboard layout about a year ago. I now use dvorak full-time at work and at home.
Recently, I went on vacation to Peru and found myself in quite a conundrum. Internet cafes were qwerty-only (and Spanish qwerty, at that). I was stuck with a hunt-and-peck routine that grew old fairly quickly.
That said, is it possible to be "fluent" in both qwerty and dvorak at the same time? If not, are there any good solutions to the situation I found myself in?
I've never used a public computer, but carry a keyboard and(/or, if you are good enough) just change the settings on the machine.
There's a special place in hell for people that change keyboard mappings on public computers.
Web
For your situation of being at a public computer that you cannot switch the keyboard layout on, you can go to this website:
http://www.dvzine.org/type/DVconverter.html
Use this to translate your typing and then use copy paste. I found this very useful when I was out of the country and had to write a bunch of emails at public computers.
USB Drive
Put this Dvorak Utility on your USB drive.
Run this app and it will put a icon in the system tray on windows. This icon will switch the computer between the two keyboard layouts and it works. (If you have tried switching back and forth from dvorak to qwerty you will know what I mean. Windows does the worst job of this one bit of functionality.)
Very possible. Although I became sadly mono-keyboarded after learning Dvorak, my wife is equally speedy at both. She recommends learning the other layout slowly, with frequent breaks to reacquaint with the previous layout.
DVAssist on a USB stick should make it easy to switch layouts on random computers. I
Yes, it is very possible. Just remember to use Qwerty every once in a while. I've been leaning Dvorak myself for about 2 weeks, and I'm up to 75wpm average. I use Qwerty every day for a bit, but most of the time I'm using Dvorak. My Qwerty speed is still averaging around 100wpm.
I also learnt the Korean Dubeolshik layout several years ago, and I average about 100wpm on that too.
Learning different keyboard layouts is much easier than learning multiple languages. And people still manage to remember their native tongue! So if you ever knew Qwerty, with a good bit of practice you should be able to get back up to speed on that fairly quickly.
That said, is it possible to be "fluent" in both qwerty and dvorak at the same time? If not, are there any good solutions to the situation I found myself in?
I've switched to Dvorak a few years ago and I've been fluent in qwerty and dvorak most of the time since (only slightly slower in qwerty than I used to be; much faster than I used to be when I use dvorak instead).
I found that the only part where switching back and forth was really hard was the beginning: I needed a few months until dvorak felt natural enough so that switching back and forth wouldn't confuse me (and hurt the learning curve). After a few months, switching back and forth was a little awkward, but quickly became entirely natural after I got used to it (school computers and a few games didn't easily let me change to dvorak, so it was nice to be able to work either way). So I think if you practice this a bit, it should be fine :)
Incidentally, once I was comfortable with both layouts, learning other layouts was extremely easy in comparison to learning dvorak. It took me only a few hours until I felt more comfortable typing Japanese characters (Hiragana direct input) than I did spelling them out, even though I had to learn it by hitting all keys and seeing what produced which character. It felt a bit like it did with languages -- once you knew two well, learning other similar languages is a lot easier than it was for the second :)
FWIW, I did finally find solution to the situation. I had my travel buddy (who is still stuck in the qwerty stone age) type while I dictated. That was a 10x speed improvement over my hunting-and-pecking. And much easier, too.
I'm ambidkeyboardwhatever, but in two different languages, so that helps with the muscle memory that someone mentioned. I use a Qwerty in English and Azerty in French. My colleagues curse every time they try to use my computer!
I looked briefly at learning Dvorak, but that would only be able to replace Qwerty, because it doesn't have the accented characters.
Having said all that, whatever keyboard layout you choose, the most important thing is to learn to touch-type!
Myself, I type 40wpm Dvorak versus 80wpm QWERTY, which roughly correlates with how often I use these layouts. It takes me about a minute of typing to fully make the switchover.
My sister has managed to train herself to type QWERTY on full-size keyboards but Dvorak on the miniature keyboard on her ASUS Eee, and has no trouble switching between two keyboards at will. She does have major problems when trying to use Dvorak on a full-size keyboard or QWERTY on the Eee, so I guess it's something related to muscle memory.
So, with some qualifications, I'd say that yes, it is completely possible to be "ambikeyboardrous".
Yes, it's completely possible to be fluent in both Dvorak and Qwerty, but you have to specifically work at it to develop the dual fluency. When I began to learn Dvorak it initially crippled me in Qwerty, so I wasn't able to type easily in either layout. But I was dealing with carpal tunnel and unable to do much typing anyway, so learning Dvorak couldn't make me any slower. After several months of switching between Dvorak and Qwerty increasingly often, the switch got easier and easier every time.
Now I can switch instantly. It's like there's a keyboard layout mode switch in my subconscious. I can't see it, but I can tell my brain what layout I want to use, and my fingers do the rest.
But if you're interested in learning Dvorak, consider whether it's worth the effort:
If you're interested in Dvorak to improve your typing speed, my advice is not to get your hopes up. It takes a long time to learn and I'm not convinced it improves typing speed. And it makes basic key shortcuts like those for cut/copy/paste a lot more annoying.
If you're interested in Dvorak because it seems like a cool ability or would look good on a CV, don't bother. Learning a foreign language is far more interesting.
If you're interested in Dvorak to reduce hand pain, give it a go. I'm not sure if it reduced my hand pain or not, but I can believe that it would, because it definitely reduces the distance one's fingers have to travel.
I've been typing Dvorak for about 10 yearns now. I find that I can switch back to qwerty pretty fluently after a few min. I have to look at the keyboard at first but, it comes back. What's funny is that I can only switch back to Qwerty if I'm using a computer or keyboard thats not mine. If I switch the mode to Qwerty on my own laptop, I just struggle. It has to be in Dvorak. =)
Yes. I type Dvorak on a Kinesis Advantage keyboard on my desktops, but type qwerty on my Macbook. Possibly it helps that they are so different, my muscles figure out what it is that they are typing on.
I would say no. I have used both, and they are different for very good reason (warning, history lesson)
The Dvorak keyboard is optimal, the qwerty layout was designed so that the pegs on a typewrier would not collide (so letters that often come next to each other are split up)
Because these are so different, its really not possible to be really good on both. You will find that even if you look at the keyboard while typing you eventually develop muscle memory that allows you to know where the keys are. This will get ALL messed up if you start moving where the keys are.
#Thomas Owens - the person in that cafe after you is going to be proper befuddled :-D
I guess to be good on both you'd have to alternate all the time. I have enough trouble switching between my laptop and desktop keyboards :-)
I'm using a homemade version of QWERTY (with all french letters mapped) at home and at work. I am personally stuck when I have to use the usual layout here (AZERTY). I feel your pain.
For what I have witnessed, everyone gets used to a single mapping, and trying to use an other layout is quite hard.
I've never used a public computer, but carry a keyboard and(/or, if you are good enough) just change the settings on the machine.

Resources