home about
blog 2003 2004 2005 2006 2007 2008 2017 2018 2019 2020
tech android linux vim

Dvorak softkey layout for Multiling O Keyboard

Tags: keyboard layout dvorak android software

Updated: 2019-10-10 14:09 PDT

I use Dvorak pretty exclusively due to spinal damage and neuropathy, and eventually found it difficult to use QWERTY on my phone after almost two decades of having switched on all other devices.

Apple, in their infinite wisdom, have decided to entirely eschew supporting Dvorak, unless one wishes to use a hardware keyboard. I used that for a short time, doing my best to ignore the frustrations, before I switched entirely to Android for that and other reasons.

Initially, I tried some of the software keyboards in the Play store, but I'm not happy with using Google's own software, Gboard (I don't trust it in the slightest, and hated the API calls it made to other services) and don't care for most of the layouts I could find pre-made in other apps.

Thus I designed my own using existing software!: In steps Multiling O Keyboard.

O Keyboard has the facility to not only map ones own layout entirely from scratch -- or start from one of their examples as a template -- but also to theme it as well.

It can be found on the Play store, or by poking around on the author's website.

Layout

I have two different layouts. I have set the landscape map up to work well with a hardware keyboard, as I struggle to utilise softkeyboards for any time beyond a few minutes.

I believe the portrait one works decently with a physical board as well, aside from the number row, which has an off-by-one issue I'm unwilling to address (as it would squeeze those keys even smaller).

Portrait (compact):

vt carbon screenshot

{
"title":"clover.dv.v4.16",
"onScreen":{
"main":[
"[ESC][]1234567890[DEL][]",
"[CO:0]',.[CO:1]pyfgcrl[CO:0]",
"aoeuidhtns",
";qjkxbmwvz",
"[SHIFT][TOOL][ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"sym":[
"[TAB][]!@#$%^&*()[DEL][]",
"\"<>~`+=[PGUP][UP][PGDN]",
"{}/|\\-?[LEFT][DOWN][RIGHT]",
":[CTRL][ALT]\[\]_•°[REDO][UNDO]",
"[SHIFT][TOOL][ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"altGr":[
"[CO:1][ESC][]ƒç¥®£ñß[4D:àáãä][4D:òóõö][4D:èéêë][4D:ùúûü][4D:ìíîï][DEL][][CO:0]",
"[CTRL][][UP][][ALT][][CO:1]¢€×æ[CO:0]",
"[LEFT][][DOWN][][RIGHT][][CO:1][4D:[MC:[CTRL]c:^c][MC:[CTRL]a:^a][MC:[CTRL]a:^x][MC:[CTRL]a:^v]]¿ø÷[CO:0]",
"[CO:0]1234567890[CO:0]",
"[SHIFT][TOOL][ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"altGrShifted":[
"[CO:1][ESC][]∫ǵ™ℓÑẞ[4D:ÀÁÃÄ][4D:ÒÓÕÖ][4D:ÈÉÊË][4D:ÙÚÛÜ][4D:ÌÍÎÏ][DEL][][CO:0]",
"[CTRL][][UP][][ALT][][CO:1]¹²³Æ[CO:0]",
"[LEFT][][DOWN][][RIGHT][][CO:1]¤¡Ø≠[CO:0]",
"[CO:0]!@#$%^&*()[CO:0]",
"[SHIFT][TOOL][ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"shifted":[
"[TAB][]!@#$%^&*()[DEL][]",
"[CO:0]\"<>[CO:1]PYFGCRL[CO:0]",
"AOEUIDHTNS",
":QJKXBMWVZ",
"[SHIFT][TOOL][ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
]
}
}

Landscape (works better with hardware keyboards via bluetooth, for example):

vt carbon landscape screenshot

{
"title":"clover.dv.full.v4.23",
"onScreen":{
"main":[
"[CAPS]1234567890\[\][DEL]",
"[CO:0][TAB]',.[CO:1]pyfgcrl[CO:0]/=\\",
"[ESC]aoeuidhtns-[TOOL][]",
"[SHIFT];qjkxbmwvz[SHIFT]",
"[ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"sym":[
" !@#$%^&*(){}[DEL]",
" \"<>~`+=[PGUP][UP][PGDN]   ",
" {}/|\\-?[LEFT][DOWN][RIGHT] [TOOL][]",
"[SHIFT]:[CTRL][ALT]\[\]_•°[REDO][UNDO][SHIFT]",
" [4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"altGr":[
"[CO:1][ESC]ƒç¥®£ñß[4D:àáãä][4D:òóõö][4D:èéêë][4D:ùúûü][4D:ìíîï][DEL][CO:0]",
"[TAB][CTRL][][UP][][ALT][][CO:1]¢€×æ[CO:0]   ",
"[ESC][LEFT][][DOWN][][RIGHT][][CO:1][4D:[MC:[CTRL]c:^c][MC:[CTRL]a:^a][MC:[CTRL]a:^x][MC:[CTRL]a:^v]]¿ø÷ [CO:0][TOOL][]",
"[SHIFT][CO:0]1234567890[CO:0][SHIFT]",
"[ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"altGrShifted":[
"[CO:1][ESC]∫ǵ™ℓÑẞ[4D:ÀÁÃÄ][4D:ÒÓÕÖ][4D:ÈÉÊË][4D:ÙÚÛÜ][4D:ÌÍÎÏ][DEL][CO:0]",
"[CTRL][][UP][][ALT][][CO:1]¹²³Æ[CO:0]   ",
"[LEFT][][DOWN][][RIGHT][][CO:1]¤¡Ø≠[CO:0]  [TOOL][]",
"[SHIFT][CO:0]!@#$%^&*()[CO:0][SHIFT]",
"[ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
],

"shifted":[
"[CAPS]!@#$%^&*(){}[DEL]",
"[CO:0][TAB]\"<>[CO:1]PYFGCRL[CO:0]?+|",
"[ESC]AOEUIDHTNS_[TOOL][]",
"[SHIFT]:QJKXBMWVZ[SHIFT]",
"[ALTGR][4D:[ALL][CUT][COPY][PASTE]][SPACE][][][ENTER][]"
]
}
}

Theme

I like low-brightness themes, as you may be able to discern from the CSS of my site. I call mine "VT-carbon" for no particular reason. (See above screenshots.)

Here is the theme text. Import via Settings to use (or modify to suit your own tastes):

OK_Settings_Begin
__V.FB::false::B
__V.co6::ff82897f::X
__V.co7::a55177::X
__V.co11::ff423016::X
__V.co8::4260602d::X
__K.fs2::84::I
__V.co13::ffff9300::X
__V.co4::ffff8e00::X
__K.gw.L::3::I
__K.rx.L::3.9::F
__V.co1::ff474c49::X
__V.co9::ffffff::X
__K.gh.L::10::I
__K.gh::5::I
__V.co14::ffc1d1ba::X
__V.co18::ffb29100::X
__V.co0::c9000000::X
__K.fs2.L::89::I
__K.rx::8.4::F
__K.ra0::0::I
__V.co5::a3ffe0bf::X
__K.ra3::0::I
__V.co15::ffc1d1ba::X
__K.fs.L::114::I
__K.fs::100::I
__V.co2::ffff8e00::X
__V.co17::84000000::X
__K.ra2::0::I
__V.co12::56000000::X
__V.co16::ffff8400::X
__V.co3::ff353830::X
__K.gw::5::I
__V.co10::a3ffe0bf::X
__K.ra1::0::I
OK_Settings_End




© 1995-2020 clover