Layout design tools

I figure if you’re gonna put the hard work in to unlearn qwerty, best to do it while you’re learning to use a whole new shape of keyboard anyway and make sure what you learn in its place is good enough to not need unlearning any time soon. So these are the tools I used to design a new layout to my own satisfaction.

Letter frequencies and bigraph frequencies - for making letter frequency:position comfort correlation strong, and for minimising using the same finger consecutively by mapping common bigraphs to different fingers. There are many places with similar information, but this one seems like it’s the only one which has literally every possible bigraph and its frequency. Also has lots of other potentially useful information, and obviously useful if you’re into breaking code.

I also used it to work out how useful a macro to duplicate the last typed character would be (pretty useful, would account for over 2% of letter presses if used, and in theory could again avoid same-finger usage) and where best to place that so that it actually does avoid same finger usage.

Towards the bottom, this one helped me work out non-letter character frequency in case you want to optimise their layout too. It annoyingly doesn’t have quantitative information, only an order of frequency (so you can work some stuff out by inference with known letter frequencies). It also has a lot of other information that could be useful to some, including links to non-english letter frequency. This helps add some quantitative information to the picture, though it very slightly conflicts with the previous link.

If you want to optimise common shortcuts and their placement in some way (I decided to put any I was likely to want to use while using the mouse on the left hand), wikipedia has a decent page and I learned some new ones that I’ve started using.

If you want to go the whole hog and get an algorithm to put hundreds of layouts against each other and swap letters until you find an optimum based on parameters you can decide on using test text you can choose, Carpalx has you possibly covered - I don’t know whether it is much use for alternative keyboard layouts or even columnar as is, so might need some tweaking. I haven’t gone this route though, since the decision to optimise for shortcut keys on the left hand simplified this to the point where I could do without.


Actually I’ve found a better alternative to the first link for bigram/bigraph frequencies at least for my purposes, as it is based on a british english corpus, incorporates non-letter characters if you want to analyse them (important if you want to avoid placing apostrophes where multiple presses of the same finger would result) and it allows you some control over some parameters.

If you want to work out non-letter character frequency outside of bigrams as I complained previously of having to do workarounds for, you can choose 1-grams and hey presto.

May have to slightly revise my layout. Again. Good thing I haven’t had a chance to learn anything yet!

1 Like

Just to highlight how useful this is, using the tools I linked, I found that in the default QWERTY layout, you are expected to type 9.53% of keys with the finger you just used for the last one (5.2% for Dvorak, 3.76% for Colemak)***, about within the range of what you’d expect if the keys were placed randomly.

By consistent use of a strategically placed “redial” key (thanks again, @Algernon!) you can reduce that to 6.85% (2.52% for Dvorak, 1.08% for Colemak), but by using redial and by optimising a layout to avoid bigraphs, I was able to get the latest iteration of my layout to reduce that down to 0.83% (would be 3.5% without redial though).

That figure could have been a lot lower still if I didn’t prioritise home fingers use (59% vs 25%
for QWERTY) and avoid lower row use (9% vs 15% for QWERTY ignoring punctuation which I’ve put on thumb keys), and also maintenance and improvement of the placement of common shortcut keys used while using the mouse onto the left side (which Dvorak and Colemak don’t do at all, but they do have similar values for home fingers use and avoiding lower row use at least).

As an unintentional bonus, my two strongest fingers (index and middle of right hand) handle about twice the typing of other fingers, which is something that could be easily aimed for.

Can’t wait until a few weeks’ time when I can actually properly sit down and learn the layout I’ve designed through this whole process!

***Of course, you can always use your keys on a column it “doesn’t belong to”, but I have found this a lot harder on a columnar keyboard than a staggered keyboard. Don’t get me wrong, I think columnar is great and far more ergonomic on split keyboards, but it does exacerbate same-finger-key-press issues by almost forcing you to type the “right way” and I think that demands a more careful layout design.

1 Like