Unexpected-Keyboard/srcs/layouts/latn_bone.xml
Zitrone a22cc39a45
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?
2025-02-15 11:28:21 +01:00

132 lines
3.5 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- https://neo-layout.org/Layouts/bone/ -->
<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" 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" 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
\/{}*?()-:@
-->
<row>
<!--left side-->
<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" 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
#$|~`+%"';
-->
<row>
<!--left side-->
<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="ö" 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>