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.



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

Tom Ritter
+7  A: 

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.

I am very interested in your typing speed. Does your keyboard increases it?
I like my Kinesis Contoured very much, and can type about 100 WPM on it.
Jim Carroll
Masi: I type ~70wpm (pretty much as fast as I've ever typed). I've never tried to improve my typing speed though (aside from learning to touch-type). 70wpm is faster than my brain usually works, so I've never felt a need to improve it.
+1  A: 

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'.

+4  A: 
I like the layout, but the keys look like they suck. Too much like laptop keys
+4  A: 

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.

Dave Smylie

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.


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

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.