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>