Open linux-a7s opened 12 months ago
Seconded! For example, add syntax in the layout XML that would make the keyboard align-left or align-right rather than span the full available width. And perhaps attach to top instead of bottom of the screen.
It's possible to add emtpy space on either side of the keyboard (though not on the right without having at least one row touching the right side).
Here's an impractical layout that cram the latin letters and a few symbols on 4 rows and 4 columns:
<?xml version="1.0" encoding="utf-8"?>
<keyboard name="QWERTY One-Handed (US)" script="latin" bottom_row="false">
<row>
<key shift="3" key0="!" key1="config" key2="q" key3="?"/>
<key key0="e" key1="w" key2="r" key3=":"/>
<key key0="y" key1="t" key2="u"/>
<key key0="o" key1="i" key2="p"/>
</row>
<row>
<key shift="3" key0="backspace" key2="delete"/>
<key key0="s" key1="a" key2="d" key3="fn"/>
<key key0="g" key1="f" key2="h" key3="-"/>
<key key0="k" key1="j" key2="l" key3="@"/>
</row>
<row>
<key shift="3" key0="shift" key2="loc capslock"/>
<key key0="." key2="z" key3=","/>
<key key0="c" key1="x" key2="v"/>
<key key0="n" key1="b" key2="m"/>
</row>
<row>
<key shift="2.5" key0="switch_numeric" key1="change_method" key3="ctrl" key4="switch_emoji"/>
<key width="3" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
<key key0="enter" key1="loc voice_typing" key2="action"/>
</row>
</keyboard>
It looks like that (with french keys being automatically added):
More research into this is welcome.
I've tried a layout by myself:
<keyboard name="doak (single handed)" bottom_row="false" script="latin">
<row>
<key key0="q" key1="y" key2="esc" key3="<" key4=">" shift="2.5" />
<key key0="u" key1="w" key2="1" key3="@" key4="#" />
<key key0="e" key1="i" key2="2" key3="$" key4="€" />
<key key0="o" key1="r" key2="3" key3="%" key4="^" />
<key key0="t" key1="p" key2="|" key4="*"
key3="&" />
</row>
<row>
<key key0="a" key1="h" key2="tab" key3="~"
key4="loc accent_trema" shift="2.5" />
<key key0="s" key1="j" key2="4" key3="ß" />
<key key0="d" key1="k" key2="5" key3="(" key4=")" />
<key key0="f" key1="l" key2="6" key3="[" key4="]" />
<key key0="g" key1="+" key2="-" key3="_" key4="=" />
</row>
<row>
<key key0="b" key1="z" key2="?" key3="/" key4="\" shift="2.5" />
<key key0="n" key1="x" key2="7" key3="!" />
<key key0="c" key1="m" key2="8" />
<key key0="v" key1=":" key2="9" key3="," key4="." />
<key
key0="backspace"
key1="shift"
key2="delete"
key3="subscript"
key4="superscript"
/>
</row>
<row>
<key
key0="ctrl"
key1="loc switch_greekmath"
key2="loc meta"
key4="switch_numeric"
shift="2.5"
/>
<key
key0="fn"
key1="alt"
key2="0"
key3="switch_emoji"
key4="config"
/>
<key
key0="space"
key1="switch_backward"
key2="switch_forward"
key5="left"
key6="right"
key7="up"
key8="down"
slider="true"
width="2"
/>
<key
key0="enter"
key1="ctrl"
key2="action"
key3="compose"
/>
</row>
<row height="0">
<key width="10"/>
</row>
</keyboard>
Yes, but having the keyboard centered reduces the utility of one-handed typing! Delete shift="2.5"
or replace it with shift="5.0"
depending on your handedness!
That's funny. What device you are using? I reach the middle best without letting the mobile phone go … :)
Very well! Have it your way (which is the essence of custom layouts)!
which is the essence of custom layouts
Absolutely. I am still curious. Is the device rather wide? Mine is such slippy, I would let it go if I wanna reach a key at the edge.
Since there is afaik no toggle to configure placement, I will create a layout for left, middle and right placement and provide it on https://github.com/Julow/Unexpected-Keyboard-layouts.
Add one sided option like right or left when we type from one handed