Saturday, November 14, 2009

Dvorak - Why I use it

Before I write my first "real" post about game programming and all, I have to confess a little detail that might surprise you: There are actually People using the (in-)famous DVORAK Keyboard Layout.

I use it for 3 years now and I'm really happy about it. It started out as a way to learn touch typing (Because I really couldn't type at all before that) and I thought it would be easier to learn touch typing with a completely new layout where you couldn't rely on your old habits.
That, and I was convinced about the Idea that you don't have to move your fingers as much with the Dvorak layout (because all the vowels are on the lift home-row and the most used consonants are on the right side).

The way I switched was that I got myself a touch typing trainer program that supported a dvorak layout and switched my keyboard at home AND at work immediately. The first week was really awkward because I basically couldn't type at all but everything was good after another week or two.
I wouldn't want to miss it now because it "feels" much more natural to me than the old two-finger search-typing. I don't know if I'm really that much faster (I think I am a little bit) but I surely make much less errors and I don't have to look at the keyboard at all. In fact I still use a keyboard with the normal labels on it which is REALLY confusing for all people that try to use my computer ;)

There are some negative points about the switch and the new layout though:

  • It took some time to get up to speed. - That mostly wasn't a real problem because I was in college back than and didn't have to write that much each day.
  • I sometimes have trouble with the shortcuts of programs (Especially training new ones) because I have to actively thing about where the character is an the Keyboard. If I'm typing an english text my muscle-memory takes over and I can thing about other stuff, but for single characters it's a bit more difficult. Some of the common shortcuts are in positions that are harder to reach with a single hand (Crtl-V,Ctrl-S) but thats not a big problem because i normally have both hands on the keyboard anyway.
  • Most new games don't use the physical low level functions to get key-presses but use something like WM_CHAR. That means that I have to reconfigure every game that I want to play. For games the keyboard really is just a gamepad with lots of buttons and the position of the button matters more for the gameplay than the character that is produced in a text-editor when you press it. Therefore I think games on Windows (*yuck*) should use a more low-level approach to get button presses and use the transformed WM_CHAR stuff only for entering text
  • The normal dvorak layout has some shortcomings for the programming languages that I use (Mostly C++ these days). Therefore I changed the layout around a bit and moved some of the symbols to easier to reach keys. The biggest change was that i switched all the number keys above the characters to output symbols (braces mostly) and put the numbers on the shift modifier. I really type in much more braces and other symbols a day than numbers and you always have the keypad for that.