The Capewell-Dvorak Keyboard Layout
[This page was written before the other pages on keyboard layouts on my site. Sorry if some of it is a bit redundant!]
While it's not true that the common
QWERTY layout keyboard was
designed to be slow, it wasn't designed to be particularly fast or
comfortable.
Considering the amount of time I spend at the
computer, I decided to look into alternative keyboard layouts to find
somethng that, in the long run, would save me time by increasing my
typing speed.
What I found was the Dvorak layout (named after
one of its designers). In short, Dvorak reduces the distance your
fingers move by about 45%, making it a much more comfortable
layout. Whether the Dvorak layout allows faster typing hasn't
been conclusively etablished, but I wanted to switch anyway, for the
novelty.
After using the Dvorak layout for a while, I found that I could not get
over some of the flaws in the design and decided that I would try to do
better. Thus began the Capewell-Dvorak keyboard layout.
Links
About the QWERTY and Dvorak
Layouts
Here are some interesting links about Dvorak and QWERTY:
http://en.wikipedia.org/wiki/Qwerty
— be sure to check out the
'External links' at the end
http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
— again, the 'External links.'
http://www.visi.com/~pmk/evolved.html
— Peter M. Klausler used a randomized evolution algorithm to generate an efficient
keyboard layout.
http://www.acm.vt.edu/%7Ejmaxwell/dvorak/compare.html
— Neat Java applet by Jon A. Maxwell for comparing Dvorak &
QWERTY. I modified his source code to compare my own layout(s) with
QWERTY and Dvorak.
http://www.gigliwood.com/abcd/
— Basic lessons for learning Dvorak (I recommend using
my program
instead).
Setting
Windows XP to Use Dvorak (Not
Nearly As Troublesome As You Might Imagine)
Windows XP supports the Dvorak keyboard layout and can be set up to use it in just a couple minutes.
If you want to play around with Dvorak, there's very little
inconvenience if you want to use QWERTY most of the time until you get
the hang of Dvorak. It is very easy to set Windows XP to treat a
QWERTY keyboard as a
Dvorak keyboard. It is
also extremely simple to switch back and forth between Dvorak and
QWERTY during every-day use, and XP will even remember which layout you prefer for each
program running, so playing around with Dvorak will not prevent you
from being productive or drive you totally insane. It also won't
mess up your key arrangements in games. Here are
instructions for setting Windows XP to use
Dvorak. I don't know how well these instructions work on other versions of Windows.
On
Learning to Type (It's All About
the Combos)
I learned to type in grade 9. We had a typing class. 72
minutes per class, 5 days per week, for 2 or 3 months. About 60
hours total. And after all those hours, I could only type 15
words per minute!
The only typing programs I've seen teach
you simply by teaching you the home row on one hand, then the other,
then it moves on to maybe the top left row, etc., teaching you based
purely on location, trying to make you memorize each individual key
location. When you see the word BECAUSE, you would simply type
each
letter individually: B-E-C-A-U-S-E. However, when you're a
good typist, you type something like BE-C-AU-SE. You
type in combos. If you want to teach someone to type fast, you
need to train them on common combinations of keys.
So I wrote a program to teach typing using my combo theory.
My
Program that Teaches Typing
I decided to make my own typing program based on the idea that we type
using key combinations.
I started by writing a little Java program to analyze a collection of
text to find the most commonly typed key combinations. The text I
used was comprised of some articles off the internet, paragraphs from
some relatively modern books, and a bunch of instant messaging archive
text.
I then made another little program that I could use to get a list of
words that contained certain keys and key combinations.
With my list of important words handy, I wrote a Visual Basic 6 program
to give lessons and then wrote some lessons for it to give.
Download my typing program. The lessons were written
with Dvorak in mind, but I'm sure you could teach any
layout with it. After all, it just teaches you the most
common key combos, not areas of the keyboard. (If the program does not work, you need to
install the Microsoft Visual Basic run-time DLLs)
My Impressions of the Dvorak Layout
(The Good, the Bad, and the Ugly)
It's far from perfect. Some things about it drive me crazy.
A couple sections below, you'll find out what I did to get rid of these
problems.
The Good:
- You can type a heck of a lot of words on that home row. All
the
vowels and five of the top seven consonants (together making up 10 of
the
top 12 most
commonly occurring english letters) are on the home row. This
reduces finger
movements ~45% (good for reducing the risk of carpel tunnel syndrome
and just generally making typing more comfortable) and makes it
easier for beginners to increase their typing speed quickly since it's
easy to remember where the common keys are.
- Because all the vowels are on the left side, letters in words
tend to
alternate back and forth between hands, maximizng typing speed (QWERTY
actually isn't too bad at this, which is why there isn't much of a
speed difference between the two layouts).
It's not a long list of good things, but it's just a keyboard layout –
there are only so many things you can laud! : P
The Bad:
- We live in a CTRL+C world. Programs have their shortcut
keys
hard-wired in as CTRL+C, CTRL+V, etc. Having
all the common keyboard shortcuts moved all around is a huge
pain. Check out C way up
there on the top row. Z
and V are also way over on the
right side of the keyboard. Ideally, the Copy, Cut, & Paste
shortcut keys C, X, and V should remain near the left Ctrl
key so you can use the mouse and shortcuts at the same time.
- The I key is used about
2.5
times more than the U key, so
it makes no sense at all giving that valuable index finger real estate
away to the U key.
- GH is a fairly common key
combination, so it's bad to have these two keys typed by the same
finger.
- I find it very hard to reach the F
and X positions on keyboards (Y and B on QWERTY). Less common
letters should be placed there.
- Using my pinky finger to reach for the L
key gives me sore wrists since it requires me to turn my hand to get my
pinky up there. I try to use my ring finger instead.
Putting a rarer letter (or a punctuation mark) here would be good.
The Ugly:
- For one, it's hard to type
one-handed (for instance, when eating... I know what you were
thinking!).
The standard Dvorak layout was designed to increase the
probability that consecutive keys are typed with alternate hands, and
about 55% of letters are typed with the right hand. That makes
one-handed typing tough (especially with the left hand, if you're using
the mouse with the right hand)! Dvorak did, in fact, create
keyboard
layouts that were easy to use with one hand (either the left or the
right).
- When you're talking with people on instant messengers while still
learning to type using a new keyboard layout, you look pretty weird
when you make typos. People assuming you're using QWERTY will not
understand why you are ending all your sentences with the letter V
(which replaces the period) or why you're replacing all your Es with
periods. (Sorry, I couldn't think of any funny typos where a word
you meant to type would come out as an entirely different and hilarious
word : P)
My Custom Layout (The Capewell-Dvorak Layout)
Due to the problems listed in the
The Bad section
above, I really could not get used to the Dvorak
layout. I decided to make some changes and develop my own
layout (
which you can download here). Both layouts are presented below for easy comparison.
First, here is a list of the frequency of use of letters in English (with punctuation marks inserted based on my own research):
E T
A O I N S R H
L D
C U M
F P
G W Y
B .
V , K ' - X " J Q Z ) ? ( ; ! : (
source)
Here are the changes I made, along
with my reasoning. This probably won't mean much to you if you're
not already familiar with Dvorak.
- I moved ZXCV back to
their QWERTY positions so that the shortcut keys associated with them
could be used in the QWERTY manner (I also use these frequently with Winamp). Z, I simply switched with the semi-colon key. You'll find out what happened to the other displaced keys (Q, J, and K) later.
- I switched I and U. I is used about 2.5 times as often as U, so
it makes little sense giving that valuable index-finger real estate
away to the U key. This reduces finger movement by approximately 8.3%! That is significant! I have no idea why Dvorak didn't do this.
- I decided to switch A
and O. You never
type AO, but OA is fairly common, so, on the left
side of the keyboard, O should
be to the left of A since it's
easier to type moving from keys on the outside of the keyboard to keys
towards the middle of the keyboard.
- As I said before, I find it hard to reach the F and X keys the (Y and B keys on QWERTY), so I decided to place the least common keys in these hard-to-reach spots. I placed Q in F's position and J in X's position (I needed to leave Z and X in their QWERTY positions).
- I didn't like that G was above the H key (because I use the word 'though' a lot), so I moved G into C's old position and replaced G with F (which was displaced by Q).
- I replaced L with K, the 5th most uncommonly-used key, since reaching for the L key so often in the upper right was hurting my wrist. L then replaced B. B moved to the gap left by V (I wanted B here instead of L because I find this position to be awkward to reach). And that's it!
Putting all these modifications
together resuled in a finger movement efficiency gain over
Dvorak of about 9.7%.
Using the same sample text, comparing
Dvorak to
QWERTY and
Capewell-Dvorak to
QWERTY, the efficiency gains are 42.5% for
Dvorak
and 48.4% for
Capewell-Dvorak.
(Finger distances travelled: QWERTY 1961m; Dvorak 1121m;
best evolved layout by Peter M. Klausler 1021m; Capewell-Dvorak: 1012m)
It was never even my intention to reduce finger movements – my goal
was simply to make the
layout more comfortable to use. I don't believe finger movement
distance is the greatest contributor to typing speed, either -- it's
how easy it is to type combos.
What Software I Needed to Make My Layout
Using the Microsoft Keyboard Layout Creator (MCKLC) tool is relatively straightforward (if frustrating).
However, there is a limitation with the MSKLC tool that basically makes
it
useless on its own: from what I can tell, it does not allow you
to change the Virtual Key settings
of the keys. If the virtual keys are not set properly, you can
not use CTRL+[key] shortcuts properly (because if you hit CTRL+O when
the O key is mapped onto the VK_A virtual key, you will be telling
Windows to Select All, not to Open)
To get around this limitation, I used notepad to open the .KLC file
that MSKLC creates when you create a layout, and then reloaded the
layout in MSKLC and compiled the layout. I won't go into how
to do that here, but if you're interested, send me an email
([mcapewell]-[gmail]-[com]).
Installing the Capewell Layout
(Be my Guinea Pig)
Download the Capewell-Dvorak v0.23 installer.
If you try out this layout, I'd love to hear your feedback. You can contact me at [mcapewell]-[gmail]-[com].
Rearranging My Keyboard Keys (Not
for the Weak-of-Stomach)
I love my keyboard. I've had it since I had a Cyrix P166+ (that's
something like a Intel Pentium 133 or 150MHz). It's rather quiet and smooth and comforting. It's
me in keyboard form. I don't even know who made this keyboard (but this I know about myself) –
there's no name on it; it was simply made in China (unlike me) and complies with
the appropriote FCC regulations (I'm not sure about me).
So when I decided to learn Dvorak, I balked at the idea of tearing up the keys and
rearranging them, since my first cautious efforts to remove the keys
were unsuccessful.
Instead, I cut up the sticky parts of three
Post-It notes into little slightly-smaller-than-key-sized squares (you should get 14 keys per
Post-It), stuck them on the keys, and wrote the new letters on these
keys. You could, if you wanted, write both the Dvorak or Capewell-Dvorak keys and the QWERTY keys on the keys. This worked pretty well, though
sometimes the papers would move around a bit. TIP: Round
the edges on the squares to prevent accidentally ripping up the papers
from the keys.
Speaking of keyboards, whose brilliant idea was it to put a POWER button on a keyboard? Obviously not someone with a cat.
Eventually, however, I tired of the Post-Its and got down and dirty
(VERY. DIRTY.) with my keyboard. I took off all the keys using
two screwdrivers to pop them off (one prevents the key from moving
sideways and the other pops it up and off). Make sure you have a vacuum
on hand, because it is DISGUSTING what accumulates under your keys over
8 years. I used the screwdrivers to scrape away the miscellaneous
goos, crusts, and hairballs.
My keyboard has slightly differently-shaped keys for each row of keys,
so rearranging them makes them all not quite level with some of the
neighboring keys. You get use to this quickly and stop noticing
it altogether.
Future
Evolution of the Capewell-Dvorak Layout
These are some ideas I've had that I haven't really thought through yet.
- I may try to put R on the home row.
- I may put the /? key
back to it's QWERTY position to make learning the layout a little
easier. We use the question mark a lot these days with instant
messaging and email.
- I may switch the ;: key with J.