It compares both alternation (more is better) and reach (less is better). The main flaw is that it only counts ASCII characters, so may not help much for non-English texts.
It compares both alternation (more is better) and reach (less is better). The main flaw is that it only counts ASCII characters, so may not help much for non-English texts.
Also, I might be interested in helping you get this to analyze non-ASCII texts.
texts/alice_underground.txt:
qwerty:
alternation_effort: 32118
reach_effort: 51842
raw_score: 83960
dvorak:
alternation_effort: 24476
reach_effort: 30312
raw_score: 54788
colemak:
alternation_effort: 29962
reach_effort: 29403
raw_score: 59365
texts/declaration_of_independence.txt:
qwerty:
alternation_effort: 3049
reach_effort: 5129
raw_score: 8178
dvorak:
alternation_effort: 2237
reach_effort: 2693
raw_score: 4930
colemak:
alternation_effort: 2725
reach_effort: 2469
raw_score: 5194
texts/gullivers.txt:
qwerty:
alternation_effort: 110812
reach_effort: 181778
raw_score: 292590
dvorak:
alternation_effort: 81836
reach_effort: 103371
raw_score: 185207
colemak:
alternation_effort: 100074
reach_effort: 97327
raw_score: 197401
The raw score is simply the sum of alternation and reach. Without research into whether alternation or reach matters more in the long run, I don't feel like I can provide an aggregate ranking.Regardless, we can draw some rough conclusions like Dvorak is best on alternation, Colemak is best on reach, and they both blow Qwerty out of the water.
EDIT: Even though more alternation is better, the numbers above represent effort, meaning subsequent keypresses with the same hand, so lower numbers are always better.
As far as contributing goes, if it's possible to reliably support non-ASCII characters without special knowledge of the user's OS config, please take a crack at it (or at least open an issue). Thanks!
I haven't used a dvorak keyboard, but the next to each other keys are really a part of my flow. I really don't know how "<esc>:wq", "<ctrl>a" and so on which are part of programming work would translate to dvorak.
To your point I would accept that in command mode, key position, mnemonics, etc. may be more important. In insert mode however I think it is, at the very least, a sound hypothesis that more alternation creates more comfort.