abouttreesummaryrefslogcommitdiff
path: root/srcs/layouts
diff options
context:
space:
mode:
authorZitrone2025-02-15 10:28:21 +0000
committerGitHub2025-02-15 11:28:21 +0100
commita22cc39a45be344a7d8627a857ad79cc5cdfc17a (patch)
tree59f45c49f258634c32dec13560dbef36a4c23b55 /srcs/layouts
parent7e86ca70cd37fe4f38c4e66850961e47b2688b99 (diff)
downloadunexpected-keyboard-a22cc39a45be344a7d8627a857ad79cc5cdfc17a.tar.gz
unexpected-keyboard-a22cc39a45be344a7d8627a857ad79cc5cdfc17a.zip
layouts/latn_bone.xml: improve (#760)
* layouts/latn_bone.xml: use new syntax and add most missing keys new syntax: n/s/e/w/ne/nw/se/sw instead of key{1..8} Some keys were missing keys according to the tests, this adds them in a similar way to latn_neo2. Only `switch_forward` didn't fit (because of the 0 at the bottom of the spacebar). * layouts/latn_bone.xml: even better bone - use number row to unclutter rest of keyboard - use modmap for special shift functions of bone layout - add missing loc characters - use standard bottom bar - add diacritics from the 3 dead key keys on bone - 2 small keys left and right of the number row (don't fit all 6 diacritics, so they leak onto the number keys) - row 1 is full too, so the dead keys from the left of that row leak onto the keys there as well open questions: - should bone rely on the math layer or use modmap? - possibility to combine diacritics?
Diffstat (limited to 'srcs/layouts')
-rw-r--r--srcs/layouts/latn_bone.xml153
1 files changed, 106 insertions, 47 deletions
diff --git a/srcs/layouts/latn_bone.xml b/srcs/layouts/latn_bone.xml
index a99f338..16cb35d 100644
--- a/srcs/layouts/latn_bone.xml
+++ b/srcs/layouts/latn_bone.xml
@@ -1,27 +1,92 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<!-- https://neo-layout.org/Layouts/bone/ -->
-<keyboard name="Bone" bottom_row="false" script="latin">
- <!-- first row + characters from number row:
+<keyboard name="Bone" script="latin" embedded_number_row="true">
+ <modmap>
+ <!-- shift on number row:
+ 1234567890 -> °§ℓ»«$€„“”
+ -->
+ <shift a="1" b="°"/>
+ <shift a="2" b="§"/>
+ <shift a="3" b="ℓ"/>
+ <shift a="4" b="»"/>
+ <shift a="5" b="«"/>
+ <shift a="6" b="$"/>
+ <shift a="7" b="€"/>
+ <shift a="8" b="„"/>
+ <shift a="9" b="“"/>
+ <shift a="0" b="”"/>
+
+ <!-- shift on bottom row:
+ ,. -> –•
+ -->
+ <shift a="," b="–"/>
+ <shift a="." b="•"/>
+ </modmap>
+ <!-- number row:
+ left of numbers:
+ accent_circonflexe/superscript
+ accent_caron/subscript
+ ↻
+ accent_dot_above
+ accent_hook_above/accent_horn
+ accent_dot_below
+ numbers:
+ 1234567890
+ °§ℓ»«$€„“” -> shift modmap
+ ¹²³›‹¢¥‚‘’
+ ₁₂₃♀♂⚥ϰ⟨⟩₀v
+
+ right of numbers:
+ accent_grave
+ accent_cedille/accent_ogonek
+ accent_ring
+ accent_trema
+ accent_rough_breathing (not implemented yet)
+ accent_macron/accent_macron_below (not implemented yet)
+ -->
+ <row>
+ <!--left side-->
+ <key width="0.5" key0="loc accent_circonflexe" nw="superscript"/>
+ <key key0="1" ne="¹" se="₁" nw="loc accent_caron" n="subscript"/>
+ <key key0="2" ne="²" se="₂" nw="↻"/>
+ <key key0="3" ne="³" se="₃" nw="loc accent_dot_above"/>
+ <key key0="4" ne="›" se="♀" nw="loc accent_hook_above" n="loc accent_horn"/>
+ <key key0="5" ne="‹" se="♂" nw="loc accent_dot_below"/>
+ <!--right side-->
+ <key key0="6" nw="¢" sw="⚥" ne="loc accent_macron"/>
+ <key key0="7" nw="¥" sw="ϰ"/>
+ <key key0="8" nw="‚" sw="⟨" ne="loc accent_trema"/>
+ <key key0="9" nw="‘" sw="⟩" ne="loc accent_ring"/>
+ <key key0="0" nw="’" sw="₀" ne="loc accent_cedille" n="loc accent_ogonek"/>
+ <key width="0.5" key0="loc accent_grave"/>
+ </row>
+ <!-- first row:
jduaxphlmwß
…_[]^!<>=&ſ
- °§ℓ»«$€„“”—
- ›‹¢¥‚‘’
+
+ from the accent key on this row:
+ accent_aigu
+ accent_tilde
+ accent_double_aigu
+ accent_slash/accent_bar
+ accent_smooth_breathing (not implemented yet)
+ accent_breve
-->
<row>
<!--left side-->
- <key key0="j" key2="°" key4="…"/>
- <key key0="d" key2="§" key4="_"/>
- <key key0="u" key2="ℓ" key4="["/>
- <key key0="a" key2="»" key4="]" key1="›"/>
- <key key0="x" key2="«" key4="^" key1="‹"/>
- <!--middle-->
- <key key0="p" key7="¢" key8="!"/>
+ <key key0="j" se="…" n="loc esc"/>
+ <key key0="d" se="_"/>
+ <key key0="u" se="["/>
+ <key key0="a" se="]"/>
+ <key key0="x" se="^"/>
+ <!--center-->
+ <key key0="p" s="!" ne="loc accent_breve"/>
<!--right side-->
- <key key0="h" key1="€" key3="&lt;" key4="7" key2="¥"/>
- <key key0="l" key1="„" key3="&gt;" key4="8" key2="‚"/>
- <key key0="m" key1="“" key3="=" key4="9" key2="‘"/>
- <key key0="w" key1="”" key3="&amp;" key2="’"/>
- <key key0="ß" key1="—" key3="ſ"/>
+ <key key0="h" sw="&lt;"/>
+ <key key0="l" sw="&gt;" ne="loc accent_double_aigu"/>
+ <key key0="m" sw="=" ne="loc accent_slash" n="loc accent_bar"/>
+ <key key0="w" sw="&amp;" ne="loc accent_tilde"/>
+ <key key0="ß" sw="ſ" n="loc accent_aigu"/>
</row>
<!--second row:
ctieobnrsgq
@@ -29,19 +94,19 @@
-->
<row>
<!--left side-->
- <key key0="c" key4="\\"/>
- <key key0="t" key4="/"/>
- <key key0="i" key4="{"/>
- <key key0="e" key4="}"/>
- <key key0="o" key4="*"/>
- <!--middle-->
- <key key0="b" key8="\?"/>
+ <key key0="c" se="\\" ne="loc tab"/>
+ <key key0="t" se="/"/>
+ <key key0="i" se="{"/>
+ <key key0="e" se="}"/>
+ <key key0="o" se="*"/>
+ <!--center-->
+ <key key0="b" s="\?"/>
<!--right side-->
- <key key0="n" key3="(" key4="4"/>
- <key key0="r" key3=")" key4="5"/>
- <key key0="s" key3="-" key4="6"/>
- <key key0="g" key3=":"/>
- <key key0="q" key3="@"/>
+ <key key0="n" sw="("/>
+ <key key0="r" sw=")"/>
+ <key key0="s" sw="-"/>
+ <key key0="g" sw=":"/>
+ <key key0="q" sw="\@"/>
</row>
<!--third row -> compressed to also fit shift and backspace:
fvüäöyz,.k
@@ -49,24 +114,18 @@
-->
<row>
<!--left side-->
- <key width="1.5" key0="shift" key4="\#"/>
- <key key0="f" key4="$"/>
- <key key0="v" key4="|"/>
- <key key0="ü" key4="~"/>
- <key key0="ä" key4="`"/>
+ <key width="1.5" key0="shift"
+ se="\#"/>
+ <key key0="f" se="$"/>
+ <key key0="v" se="|"/>
+ <key key0="ü" se="~"/>
+ <key key0="ä" se="`"/>
<!--right side-->
- <key key0="ö" key3="+"/>
- <key key0="y" key3="%" key4="1"/>
- <key key0="z" key3="," key1="&quot;" key4="2"/>
- <key key0="k" key3="." key1="&apos;" key4="3"/>
- <key width="1.5" key0="backspace" key3=";" key1="delete"/>
- </row>
- <!--bottom row-->
- <row height="0.95">
- <key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
- <key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
- <key width="5.0" key0="space" key7="switch_forward" key8="0"/>
- <key width="1.2" key5="left" key6="right" key7="up" key8="down"/>
- <key width="1.8" key0="enter" key3="action"/>
+ <key key0="ö" sw="+"/>
+ <key key0="y" sw="%"/>
+ <key key0="z" sw="," nw="&quot;"/>
+ <key key0="k" sw="." nw="&apos;"/>
+ <key width="1.5" key0="backspace"
+ sw=";" nw="delete"/>
</row>
</keyboard>