Alors, les pilotes sont en cours de fabrication.
Le xkb est fait (en simplifié pour l’instant), et le compose avance doucement, mais voilà je me retrouve devant un n[sup]ème[/sup] problème :
Je ne peux pas créer mes propres touches mortes, ou en tout cas je n’arrive pas à les faire fonctionner.
J’ai juste fait un test comme ça :
<dead_api> <e> : "ɘ" U0258
et malgré la ligne
key <AD12> { [ w, W, dead_breve, dead_api ] }; // w W ̆ ɮ
dans le xkb, et bien ça ne fonctionne pas.
Donc pour l’instant j’avance sur les touches existantes, il va me manquer l’API, le Cyrillique et les «ligatures et autre caractères», j’ai déjà en tête un contournement (en passant pas un <dead_psili> par exemple), mais ça sera moins propre.
Pour ceux que ça intéresse voici le code xkb, pour l’instant utile que pour le BÓPO, car mon BÉPO n’apporte pas grand chose sans l’ajout aux touches mortes.
Fichier ah à mettre dans le dossier /usr/share/X11/xkb/symbols/
partial alphanumeric_keys
xkb_symbols "bepoat" {
include "fr(bepo)"
name[Group1]="French (Atchia, BÉPO based)";
key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U221E ] }; // @ 6 ^ ∞
key <AD05> { [ egrave, Egrave, dead_grave, dead_doublegrave ] }; // è È ` ˵
key <AD06> { [ dead_circumflex, exclam, exclamdown, U2011 ] }; // ^ ! ¡ -
key <AD07> { [ v, V, dead_caron, U2117 ] }; // v V ˇ ℗
key <AD09> { [ l, L, dead_stroke, U2113 ] }; // l L / ℓ
key <AD12> { [ w, W, dead_breve, dead_api ] }; // w W ̆ ɮ
key <AC05> { [ comma, semicolon, apostrophe, dead_horn ] }; // , ; ' ̛
key <AC10> { [ n, N, dead_tilde, dead_cyrillic ] }; // n N ~ И
key <AB01> { [ agrave, Agrave, backslash, dead_lig ] }; // à À \ ȸ
key <AB06> { [ rightsinglequotemark, question, questiondown, dead_hook ] }; // ’ ? ¿ ̉
key <AB08> { [ g, G, dead_greek, U20A2 ] }; // g G µ ₢
};
partial alphanumeric_keys
xkb_symbols "bopo" {
include "ah(bepoat)"
name[Group1]="Catalan (Atchia, BÉPO based)";
key <AD02> { [ oacute, Oacute, dead_acute, dead_doubleacute ] }; // ó Ó ˊ ˝
key <AD04> { [ o, O, egrave, Egrave ] }; // o O è È
key <AD05> { [ ograve, Ograve, dead_grave, dead_doublegrave ] }; // ò Ò ` ˵
key <AC01> { [ a, A, eacute, Eacute ] }; // a A é É
key <AC02> { [ u, U, uacute, Uacute ] }; // u U ú Ú
key <LSGT> { [ iacute, Iacute, slash, aacute ] }; // í Í / á
};
Et ce qu’il faut ajouter à rules/evdev.xml juste avant </layoutList> pour que ça soit pris en compte
<layout>
<configItem>
<name>ah</name>
<shortDescription>ah</shortDescription>
<description>French (Atchia, BEPO based)</description>
<languageList>
<iso639Id>fra</iso639Id>
<iso639Id>cat</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>bopo</name>
<description>Catalan (Atchia, BEPO based)</description>
</configItem>
</variant>
</variantList>
</layout>
Question subsidiaire : Comment faire pour donner un nom dans plusieurs langues au clavier. Là du coup le nom est en anglais.