Decades into the smartphone era, seven billion people communicate with one finger on a virtual QWERTY keyboard. Why not arrange the keys for one-finger typing, with the spacebar and most common letters in the center? Jean Ichbiah did that in 1995 with his FITALY keyboard, and no one noticed.
Here are my arrangements:
On the left is Ichbiah's FITALY, to which I've added digits, symbols, and Esperanto diacritics. If you don't use Esperanto, you can fill those seven slots with whatever you like. A long press on a letter gives the symbol below it; feel free to add symbols under the digits and bottom-row letters.
On the right, I've tried to create something similar for Russian. I calculated, for billions of permutations, how far a finger would need to travel to type the complete text of Anna Karenina. In fact there are 263 decillion (2.63×1035) permutations of 32 letters, so mine might not be ideal, but it looks pretty good.
With digits, I put 1, 2, and 3 nearest to the spacebar because 30% of numerals in documents start with 1 and another 30% with 2 or 3, according to the Newcomb–Benford law.
You can use these layouts for free on your Android device. Go to Google Play and install Multiling O. Hold a finger on the spacebar, drag it to Layouts, choose [ + DIY ], and paste the following text:
{
"title":"62FITALY",
"onScreen":{
"main":[
"84zvchwk[DEL]",
"62fitaly[ENTER]",
"01[SPACE][]ne[SPACE][][SHIFT]",
"73gdorsb[SYM:,]",
"95qjumpx[ALTGR:.]",
"[TOOL] ĵŝĉĝŭĥ[FDEL]"
],"sym":[
" #$_-+= ",
" %&<>/* ",
" ³²()÷× ",
" '\"[]\\@ ",
" `^{}|~ ",
"" ] } }
or
{
"title":"62RUSSIAN",
"onScreen":{
"main":[
"84цздмуж[DEL]",
"62ылаикч[ENTER]",
"01[SPACE][]не[SPACE][][SHIFT]",
"73бвотся[SYM:,]",
"95хгрпьй[ALTGR:.]",
"[TOOL]ъёщшюэф[FDEL]"
],"sym":[
" #$_-+= ",
" %&<>/* ",
" ³²()÷× ",
" '\"[]\\@ ",
" `^{}|~ ",
"" ] } }
To change these layouts, paste them into an editor (I use QuickEdit),
then copy and paste the result into Multiling O.
Sadly, Multiling O has been abandoned, and no longer works with newer versions of Android. Fortunately I learned of another program called Unexpected Keyboard that provides similar functionality. The maps for it are
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keyboard name="62FITALY" script="latin">
<row>
<key key0="8"/>
<key key0="4"/>
<key key0="z" key1="\#"/>
<key key0="v" key1="$"/>
<key key0="c" key1="_"/>
<key key0="h" key1="-"/>
<key key0="w" key1="+"/>
<key key0="k" key1="="/>
<key key0="backspace"/>
</row>
<row>
<key key0="6"/>
<key key0="2"/>
<key key0="f" key1="%"/>
<key key0="i" key1="&"/>
<key key0="t" key1="<"/>
<key key0="a" key1=">"/>
<key key0="l" key1="/"/>
<key key0="y" key1="*"/>
<key key0="enter"/>
</row>
<row>
<key key0="0"/>
<key key0="1"/>
<key key0="space" width="2.0"/>
<key key0="n" key1="("/>
<key key0="e" key1=")"/>
<key key0="space" width="2.0"/>
<key key0="shift" key1="capslock"/>
</row>
<row>
<key key0="7"/>
<key key0="3"/>
<key key0="g" key1="'"/>
<key key0="d" key1="""/>
<key key0="o" key1="["/>
<key key0="r" key1="]"/>
<key key0="s" key1="\\"/>
<key key0="b" key1="\@"/>
<key key0="," key1=";"/>
</row>
<row>
<key key0="9"/>
<key key0="5"/>
<key key0="q" key1="`"/>
<key key0="j" key1="^"/>
<key key0="u" key1="{"/>
<key key0="m" key1="}"/>
<key key0="p" key1="|"/>
<key key0="x" key1="~"/>
<key key0="." key1=":"/>
</row>
<row>
<key key0="?" key1="!"/>
<key key0="ĵ" key1="£" shift="1.0"/>
<key key0="ŝ" key1="€"/>
<key key0="ĉ" key1="₽"/>
<key key0="ĝ" key1="°"/>
<key key0="ŭ" key1="²"/>
<key key0="ĥ" key1="³"/>
<key key0="delete"/>
</row>
</keyboard>
and
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keyboard name="62RUSSIAN" script="cyrillic">
<row>
<key key0="8"/>
<key key0="4"/>
<key key0="ц" key1="\#"/>
<key key0="з" key1="$"/>
<key key0="д" key1="_"/>
<key key0="м" key1="-"/>
<key key0="у" key1="+"/>
<key key0="ж" key1="="/>
<key key0="backspace"/>
</row>
<row>
<key key0="6"/>
<key key0="2"/>
<key key0="ы" key1="%"/>
<key key0="л" key1="&"/>
<key key0="а" key1="<"/>
<key key0="и" key1=">"/>
<key key0="к" key1="/"/>
<key key0="ч" key1="*"/>
<key key0="enter"/>
</row>
<row>
<key key0="0"/>
<key key0="1"/>
<key key0="space" width="2.0"/>
<key key0="н" key1="("/>
<key key0="е" key1=")"/>
<key key0="space" width="2.0"/>
<key key0="shift" key1="capslock"/>
</row>
<row>
<key key0="7"/>
<key key0="3"/>
<key key0="б" key1="'"/>
<key key0="в" key1="""/>
<key key0="о" key1="["/>
<key key0="т" key1="]"/>
<key key0="с" key1="\\"/>
<key key0="я" key1="\@"/>
<key key0="," key1=";"/>
</row>
<row>
<key key0="9"/>
<key key0="5"/>
<key key0="х" key1="`"/>
<key key0="г" key1="^"/>
<key key0="р" key1="{"/>
<key key0="п" key1="}"/>
<key key0="ь" key1="|"/>
<key key0="й" key1="~"/>
<key key0="." key1=":"/>
</row>
<row>
<key key0="?" key1="!"/>
<key key0="ъ"/>
<key key0="ё" key1="£"/>
<key key0="щ" key1="€"/>
<key key0="ш" key1="₽"/>
<key key0="ю" key1="°"/>
<key key0="э" key1="²"/>
<key key0="ф" key1="³"/>
<key key0="delete"/>
</row>
</keyboard>