§ Un clavier français facilitant la frappe du polonais §
La disposition
Cette disposition de clavier, ici présentée sous forme matricielle, est une variante du clavier ergonomique bépo. Elle est notamment inspirée de la variante programmation proposée par Utilisezlinux. Cette disposition n’est à l’heure actuelle installable que sur un système opérationnel linux ou de type unix. Pour la tester, collez le code si dessous dans un dossier. Si vous lui donnez le nom bepo_pl.xkb, il faudra activer en console la commande
xkbcomp -w0 bepo_pl.xkb $DISPLAY
pour basculer vers cette disposition. Pour repasser en bépo, tapez dans la console
setxkbmap fr bepo
et en azerty,
setxkbmap fr
Différences avec le bépo
Si l’on s’en tient aux touches en accès direct, il y a peu de modifications (touches vertes) par rapport au bépo standard. Le réaménagement intégral de la ligne des chiffres mis à part, bien entendu… En revanche, j’ai modifié nombre de touches de niveau 3 (avec Alt_Gr) pour simplifier l’accès aux lettres polonaises (ą, ć, ę, ł, ń, ó, ś, ż). Seule la lettre ź demande plus de gymnastique pour être tapée.
Le code du fichier xkb
// version maison adaptée au polonais (Damien Thiriet)
xkb_symbols "bepo_frpl" {
include "level3(ralt_switch)"
include "keypad(oss)"
name[Group1]= "France - Bepo, ergonomic, franco-polonais";
//Premier rang
key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶
key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 7, quotedbl, emdash, doublelowquotemark ] };
key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 5, braceleft, less, leftdoublequotemark ] };
key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 3, braceright, greater, rightdoublequotemark ] };
key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 1, parenleft, bracketleft, lessthanequal ] };
key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 9, parenright, bracketright, greaterthanequal ] };
key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 8, at, asciicircum ] };
key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 0, plus, plusminus, notsign ] };
key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 2, minus, U2212, onequarter ] };
key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 4, asterisk, multiply, onehalf ] };
key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ 6, slash, division, threequarters ] };
key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // = ° ≠ ′
key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % ` ‰ ″
//Deuxième rang
key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, brokenbar ] }; // b B | ¦
key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, dead_doubleacute ] }; // é É ´ ˝
key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P & §
key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oacute, oe ] }; // o O ó œ
key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, OE ] }; // è È ` Œ
key <AD06> { type[group1] = "THREE_LEVEL", [ w, W, exclam, exclamdown ] }; // w W ! ¡
key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, thorn ] }; // v V ˇ þ
key <AD08> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ d, D, eth, ETH ] }; // d D ð Ð
key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, lstroke, Lstroke ] }; // l L ł Ł
key <AD10> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ j, J, U0133, U0132 ] }; // j J ij IJ
key <AD11> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ q, Q, dead_abovering, dead_belowdot ] }; // q Q ˚ ̣
key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, EuroSign, dead_breve, UFDD0 ] }; // ^ € ˘ /
//Troisième rang
key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, aogonek, Aogonek ] }; // a A ą Ą
key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U ù Ù
key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ¨ ˙
key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, eogonek, UFDD1 ] }; // e E ę ¤
key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, cacute, Cacute ] }; // c C ć Ć
key <AC07> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ t, T, ccedilla, Ccedilla ] }; // t T ç Ç
key <AC08> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ s, S, sacute, Sacute ] }; // s S ś Ś
key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, registered, trademark ] }; // r R ® ™
key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, nacute, dead_tilde ] }; // n N ń ~
key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, masculine ] }; // m M ¯ º
key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, slash, dead_cedilla, UFDD3 ] }; // \ / ¸ ,
//Quatrième rang
key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, ae, AE ] }; // ê Ê æ Æ
key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, guillemotleft, leftsinglequotemark ] }; // à À « ‘æ Æ
key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, guillemotright, rightsinglequotemark ] }; // y Y » ’
key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, zabovedot, Zabovedot ] }; // z Z ż Ż
key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . : … ·
key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, THORN ] }; // k K ~ Þ
key <AB06> { type[group1] = "FOUR_LEVEL", [ apostrophe, question, questiondown, dead_hook ] }; // ' ? ¿ ̉
key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_belowdot ] }; // q Q ˚ ̣
key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, ssharp, UFDD2 ] }; // g G ß µ
key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dagger, doubledagger ] }; // h H † ‡
key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, ordfeminine ] }; // f F ˛ ª
key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, nobreakspace, underscore, U202F ] }; // _
include "level3(ralt_switch)"
};