Dvorak vs Qwerty - overall layout efficiency

< Go back to the test

The overall effort is computed with the effort values show in the table below. This is trying to count effort for each key in context, so effort will vary depending on other keys that have to be struck before and after.

Thumbs LPinky LRing LMiddle LIndex RIndex RMiddle RRing RPinky
Key Press 1.00 2.50 1.25 1.05 1.05 1.00 1.00 1.20 2.40
Finger Stretch (distance of one key) 1.00 1.60 1.00 0.55 0.75 0.70 0.50 0.90 1.50
Bottom Row Key N/A 1.50 1.25 1.00 0.50 0.50 1.25 1.00 1.50

If you type two consecutive keys on the upper or lower rows with the same hand, the algorithm will consider this a single 'stretch' - (for example in Qwerty typing 'we' counts one move up for ring finger and one move down for the middle finger, rather than a move up and a move down for each finger as it would for 'wu').

In addition to the above, the following effort 'penalties' also apply:

Same Finger Press 1.00 * Key Press Effort
Same Hand and Reverse Order 1.00
Same Hand and Jumping a Row 2.00
Horrizontal Stretch 1.00 This is an extra penalty in addition to the finger stretch listed above. Only applies to index fingers.

Effort imbalance

Since this algorithm attempts to aggregate all metrics into a single unit, the ideal layout would have equal effort values for every finger. If the value for a finger is greater than the average, that indicates the finger is 'overworked'.

How good are these figures?

These figures are an educated guess. The way to check them is to have the program generate many (thousands) of variations of a known good layout, let it choose the best, and then see if what it chose actually is better. When I tried this with Dvorak, the first change suggested was switching 'i' and 'u'. The next was 'r' and 'c'. Following that, switching 'j' and 'b'. This continues with diminishing returns until after 5 generations it comes up with a layout which scores just as good as Colemak. Unfortunately I haven't had the time to test the resulting layout.

I would assume an error margin of 2-3% on these figures, so if layout A scores 3% better than layout B, then A is almost certainly more efficient.

Example of effort calculation

Typing "jry.l" in Qwerty

1. Type 'j'         1.00 (key press)

2. Type 'r'         0.75 * 1.00 (stretch up) 
                  + 1.05 (key press) 
                  + 0.75 * 1.00 (move finger back to home position) 

3. Type 'y'         0.70 * sqrt(2) (stretch diagonally) 
                  + 1.00 (key press)
                  + 0.70 * sqrt(2) (move finger back to home position) 
                  + 1.00 (fixed penalty for horizontal finger movement)
                   
4. Type '.'         0.90 * 1.00 (stretch down) 
                  + 1.50 (key press) 
                  + 0.90 * 1.00 (move finger back to home position) 
                  + 1.00 (bottom row key penalty)
                  + 1.00 (fixed penalty for typing with the same hand as previous key and in reverse order)
                  + 2.00 (fixed penalty for typing with the same hand as previous key and jumping a row)

5. Type 'l'         1.50 (key press)
                  + 1.00 * 1.50 (penalty for typing with the same finger as previous key)