Layout azerty pour matchbox-keyboard
Après quelques recherches infructueuses sur le Net j'ai fini par me faire mon propre layout azerty pour le clavier virtuel matchbox-keyboard. C'est un fichier XML à placer dans /usr/share/matchbox-keyboard.
Sur mon FreeRunner je l'ai appelé keyboard-azerty.xml, et j'ai édité la ligne 20 du fichier /usr/bin/matchbox-keyboard-toggle pour le lancer automatiquement :
os.system("matchbox-keyboard azerty &")
Une autre méthode est de sauvegarder le fichier keyboard.xml en keyboard-default.xml et de créer un lien "keyboard.xml" vers "keyboard-azerty.xml".
Le contenu du fichier layout est reproduit intégralement ci-dessous. Il n'y a plus qu'à copier/coller.
Remarque : le layout n'est pas du strict azerty car matchbox a vraisemblablement des combinaisons qwerty codées en dur. Par exemple, impossible d'avoir le "/" par une touche shiftée : on obtient invariablement un "?" à la place.
Sommaire |
Update 07/10/2008
Un autre layout azerty est disponible ici. Avec les screenshots qui vont bien.
Quelques copies d'écran
Le fichier layout
<?xml version="1.0" encoding="UTF-8"?>
<keyboard>
<options>
</options>
<layout id="Azerty keyboard">
<row>
<space width="500" extended="true"/>
<key fill="true">
<default display="Esc" action="escape" />
</key>
<key>
<default display="'" />
</key>
<key obey-caps='true'>
<default display="1" />
<shifted display="&" />
</key>
<key obey-caps='true'>
<default display="2" />
<shifted display="é" />
<mod1 display="~" />
</key>
<key obey-caps='true'>
<default display="3" />
<shifted display='"' />
<mod1 display="#" />
</key>
<key obey-caps='true'>
<default display="4" />
<shifted display="'" />
<mod1 display="{" />
</key>
<key obey-caps='true'>
<default display="5" />
<shifted display="(" />
<mod1 display="[" />
</key>
<key obey-caps='true'>
<default display="6" />
<mod1 display="|" />
</key>
<key obey-caps='true'>
<default display="7" />
<shifted display="è" />
<mod1 display="`" />
</key>
<key obey-caps='true'>
<default display="8" />
<shifted display="_" />
<mod1 display="\" />
</key>
<key obey-caps='true'>
<default display="9" />
<shifted display="ç" />
<mod1 display="^" />
</key>
<key obey-caps='true'>
<default display="0" />
<shifted display="a" />
<mod1 display="@" />
</key>
<key obey-caps='true'>
<default display="-" />
<shifted display=")" />
<mod1 display="]" />
</key>
<key obey-caps='true'>
<default display="=" />
<shifted display="+" />
<mod1 display="}" />
</key>
<key fill="true">
<default display="Bksp" action="backspace"/>
</key>
<key>
<default display="H." action="home"/>
</key>
<key>
<default display="Up" action="pageup"/>
</key>
</row>
<row>
<space width="500" extended="true"/>
<key fill="true">
<default display="Tab" action="tab"/>
</key>
<key obey-caps='true'>
<default display="a" />
<shifted display="A" />
</key>
<key obey-caps='true'>
<default display="z" />
<shifted display="Z" />
</key>
<key obey-caps='true'>
<default display="e" />
<shifted display="E" />
<mod1 display="E" />
</key>
<key obey-caps='true'>
<default display="r" />
<shifted display="R" />
</key>
<key obey-caps='true'>
<default display="t" />
<shifted display="T" />
</key>
<key obey-caps='true'>
<default display="y" />
<shifted display="Y" />
</key>
<key obey-caps='true'>
<default display="u" />
<shifted display="U" />
</key>
<key obey-caps='true'>
<default display="i" />
<shifted display="I" />
</key>
<key obey-caps='true'>
<default display="o" />
<shifted display="O" />
</key>
<key obey-caps='true'>
<default display="p" />
<shifted display="P" />
</key>
<key>
<default display="^" />
</key>
<key>
<default display="$" />
</key>
<key>
<default display="E." action="end"/>
</key>
<key>
<default display="Dn" action="pagedown"/>
</key>
</row>
<row>
<space width="500" extended="true"/>
<key fill="true">
<default display="Caps" action="modifier:caps"/>
</key>
<key obey-caps='true'>
<default display="q" />
<shifted display="Q" />
</key>
<key obey-caps='true'>
<default display="s" />
<shifted display="S" />
</key>
<key obey-caps='true'>
<default display="d" />
<shifted display="D" />
</key>
<key obey-caps='true'>
<default display="f" />
<shifted display="F" />
</key>
<key obey-caps='true'>
<default display="g" />
<shifted display="G" />
</key>
<key obey-caps='true'>
<default display="h" />
<shifted display="H" />
</key>
<key obey-caps='true'>
<default display="j" />
<shifted display="J" />
</key>
<key obey-caps='true'>
<default display="k" />
<shifted display="K" />
</key>
<key obey-caps='true'>
<default display="l" />
<shifted display="L" />
</key>
<key>
<default display="m" />
<shifted display="M" />
</key>
<key>
<default display="*" />
<shifted display="%" />
</key>
<key fill="true">
<default display="Ret" action="return"/>
</key>
<space width="500" extended="true"/>
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true"/>
</row>
<row>
<space width="500" extended="true"/>
<key fill="true">
<default display="Shift" action="modifier:shift"/>
</key>
<key>
<default display="<lt;" />
<shifted display=">gt;" />
</key>
<key obey-caps='true'>
<default display="w" />
<shifted display="W" />
</key>
<key obey-caps='true'>
<default display="x" />
<shifted display="X" />
</key>
<key obey-caps='true'>
<default display="c" />
<shifted display="C" />
</key>
<key obey-caps='true'>
<default display="v" />
<shifted display="V" />
</key>
<key obey-caps='true'>
<default display="b" />
<shifted display="B" />
</key>
<key obey-caps='true'>
<default display="n" />
<shifted display="N" />
</key>
<key>
<default display="," />
<shifted display="?" />
</key>
<key>
<default display="." />
<shifted display="!" />
</key>
<key>
<default display=";" />
<shifted display=":" />
</key>
<key>
<default display="/" />
</key>
<key fill="true">
<default display="Shift" action="modifier:shift"/>
</key>
<space width="500" extended="true"/>
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true"/>
</row>
<row>
<space width="500" extended="true"/>
<key fill="true">
<default display="Ctrl" action="modifier:ctrl"/>
</key>
<key>
<default display="Alt" action="modifier:alt"/>
</key>
<key width="12000">
<default display=" " action="space" />
</key>
<key>
<default display="AltGr" action="modifier:mod1"/>
</key>
<key>
<default display="Del" action="delete"/>
</key>
<key>
<default display="^" action="up" />
</key>
<key>
<default display="V" action="down" />
</key>
<key>
<default display="<lt;" action="left" />
</key>
<key>
<default display=">qt;" action="right" />
</key>
<space width="500" extended="true"/>
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true"/>
</row>
</layout>
</keyboard>
Une autre version (avec des caractères spéciaux pour certaines touches)
<?xml version="1.0" encoding="UTF-8"?>
<keyboard>
<options>
</options>
<layout id="azerty">
<row>
<space width="500" extended="true" />
<key fill="true">
<default display="Esc" action="escape" />
</key>
<key>
<default display="'" />
</key>
<key>
<default display="1" />
<shifted display="&" />
</key>
<key>
<default display="2" />
<shifted display="é" />
<mod1 display="~" />
</key>
<key>
<default display="3" />
<shifted display='"' />
<mod1 display="#" />
</key>
<key>
<default display="4" />
<shifted display="'" />
<mod1 display="{" />
</key>
<key>
<default display="5" />
<shifted display="(" />
<mod1 display="[" />
</key>
<key>
<default display="6" />
<mod1 display="|" />
</key>
<key>
<default display="7" />
<shifted display="è" />
<mod1 display="`" />
</key>
<key>
<default display="8" />
<shifted display="_" />
<mod1 display="\" />
</key>
<key>
<default display="9" />
<shifted display="ç" />
<mod1 display="^" />
</key>
<key>
<default display="0" />
<shifted display="a" />
<mod1 display="@" />
</key>
<key>
<default display="-" />
<shifted display=")" />
<mod1 display="]" />
</key>
<key>
<default display="=" />
<shifted display="+" />
<mod1 display="}" />
</key>
<key fill="true">
<default display="⟵" action="backspace" />
</key>
<key>
<default display="⇱" action="home" />
</key>
<key>
<default display="⇞" action="pageup" />
</key>
</row>
<row>
<space width="500" extended="true" />
<key fill="true">
<default display="↹" action="tab" />
</key>
<key obey-caps='true'>
<default display="a" />
<shifted display="A" />
</key>
<key obey-caps='true'>
<default display="z" />
<shifted display="Z" />
</key>
<key obey-caps='true'>
<default display="e" />
<shifted display="E" />
<mod1 display="E" />
</key>
<key obey-caps='true'>
<default display="r" />
<shifted display="R" />
</key>
<key obey-caps='true'>
<default display="t" />
<shifted display="T" />
</key>
<key obey-caps='true'>
<default display="y" />
<shifted display="Y" />
</key>
<key obey-caps='true'>
<default display="u" />
<shifted display="U" />
</key>
<key obey-caps='true'>
<default display="i" />
<shifted display="I" />
</key>
<key obey-caps='true'>
<default display="o" />
<shifted display="O" />
</key>
<key obey-caps='true'>
<default display="p" />
<shifted display="P" />
</key>
<key>
<default display="^" />
</key>
<key>
<default display="$" />
</key>
<key>
<default display="⇲" action="end" />
</key>
<key>
<default display="⇞" action="pagedown" />
</key>
</row>
<row>
<space width="500" extended="true" />
<key fill="true">
<default display="Caps" action="modifier:caps" />
</key>
<key obey-caps='true'>
<default display="q" />
<shifted display="Q" />
</key>
<key obey-caps='true'>
<default display="s" />
<shifted display="S" />
</key>
<key obey-caps='true'>
<default display="d" />
<shifted display="D" />
</key>
<key obey-caps='true'>
<default display="f" />
<shifted display="F" />
</key>
<key obey-caps='true'>
<default display="g" />
<shifted display="G" />
</key>
<key obey-caps='true'>
<default display="h" />
<shifted display="H" />
</key>
<key obey-caps='true'>
<default display="j" />
<shifted display="J" />
</key>
<key obey-caps='true'>
<default display="k" />
<shifted display="K" />
</key>
<key obey-caps='true'>
<default display="l" />
<shifted display="L" />
</key>
<key>
<default display="m" />
<shifted display="M" />
</key>
<key>
<default display="*" />
<shifted display="%" />
</key>
<key fill="true">
<default display="⏎" action="return" />
</key>
<space width="500" extended="true" />
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true" />
</row>
<row>
<space width="500" extended="true" />
<key fill="true">
<default display="Shift" action="modifier:shift" />
</key>
<key>
<default display="<" />
<shifted display=">" />
</key>
<key obey-caps='true'>
<default display="w" />
<shifted display="W" />
</key>
<key obey-caps='true'>
<default display="x" />
<shifted display="X" />
</key>
<key obey-caps='true'>
<default display="c" />
<shifted display="C" />
</key>
<key obey-caps='true'>
<default display="v" />
<shifted display="V" />
</key>
<key obey-caps='true'>
<default display="b" />
<shifted display="B" />
</key>
<key obey-caps='true'>
<default display="n" />
<shifted display="N" />
</key>
<key>
<default display="," />
<shifted display="?" />
</key>
<key>
<default display="." />
<shifted display="!" />
</key>
<key>
<default display=";" />
<shifted display=":" />
</key>
<key>
<default display="/" />
</key>
<key fill="true">
<default display="Shift" action="modifier:shift" />
</key>
<space width="500" extended="true" />
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true" />
</row>
<row>
<space width="500" extended="true" />
<key fill="true">
<default display="Ctrl" action="modifier:ctrl" />
</key>
<key>
<default display="Alt" action="modifier:alt" />
</key>
<key width="12000">
<default display=" " action="space" />
</key>
<key>
<default display="AltGr" action="modifier:mod1" />
</key>
<key>
<default display="Del" action="delete" />
</key>
<key>
<default display="↑" action="up" />
</key>
<key>
<default display="↓" action="down" />
</key>
<key>
<default display="←" action="left" />
</key>
<key>
<default display="→" action="right" />
</key>
<space width="500" extended="true" />
<space width="4000" extended="true" />
<space width="4000" extended="true" />
<space width="500" extended="true" />
</row>
</layout>
</keyboard>


