On desktop, I use the AI-designed Halmak Keyboard, and its had great results.
Rather than manually picking letter positions, Halmak was designed by an evolutionary algorithm, based on a given set of criteria, and sample text.
I designed the original english thumb-key layout manually, with trial-and-error, and based essentially on 3 criteria:
- Letter frequency
- Alternating thumbs
- Thumbs come from the bottom corners, so lower and edge tiles are easier than higher.
But I did not take into account things like digrams / trigrams, and I don’t know enough about evolutionary algorithms to do it.
Would anyone be interested in tackling this problem?
I’m not a programmer but there is this open source tool called genkey, which can generate desktop keyboard layouts. Maybe it could be somehow adapted for generating 3x3 layouts.
I hope it helps in someway.