[clavier] Personnaliser son clavier

Préalable pour comprendre comment définir et compiler un nouveau mapping de clavier, lire:
viewtopic.php?f=8&t=13198

Sur un portable on pourrait préférer utiliser les touches numériques supérieures sans avoir à utiliser SHIFT. Comme sur un clavier US. Mais attention ça demande une certaine habitude car tout est inversé. Les chiffres sont accessibles en direct mais les accents nécessitent l’usage de SHIFT. Pas évident, mais c’est à essayer.

[ul]

[li]Dans son répertoire $HOME, créer son fichier xkb perso:

Ceci va donner un fichier du genre:

xkb_keymap { xkb_keycodes { include "xfree86+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc(pc105)+be" }; xkb_geometry { include "pc(pc105)" }; };
[/li]
[li]Editer ce fichier pour modifier le comportement des touches numériques suppérieures (clavier BE)

// pour clavier be

xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(azerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc(pc105)+be+compose(lwin)+keypad(legacy)"

        //      émulation clavier US: touches numériques en accès direct. Accents en shift
                key <AE01>  { [         1,  ampersand,          bar,   exclamdown ] };
                key <AE02>  { [         2,     eacute,           at,    oneeighth ] };
                key <AE03>  { [         3,   quotedbl,   numbersign,     sterling ] };
                key <AE04>  { [         4, apostrophe,   onequarter,       dollar ] };
                key <AE05>  { [         5,  parenleft,      onehalf, threeeighths ] };
                key <AE06>  { [         6,    section,  asciicircum,  fiveeighths ] };
                key <AE07>  { [         7,     egrave,    braceleft, seveneighths ] };
                key <AE08>  { [         8,     exclam,  bracketleft,    trademark ] };
                key <AE09>  { [         9,   ccedilla,    braceleft,    plusminus ] };
                key <AE10>  { [         0,     agrave,   braceright,       degree ] };
        };
        xkb_geometry  { include "pc(pc105)"     };
};

Pour le clavier FR ça devrait ressembler à quelque-chose comme:

key <AE01> { [ 1, ampersand, onesuperior, exclamdown ] }; key <AE02> { [ 2, eacute, asciitilde, oneeighth ] }; key <AE03> { [ 3, quotedbl, numbersign, sterling ] }; key <AE04> { [ 4, apostrophe, braceleft, dollar ] }; key <AE05> { [ 5, parenleft, bracketleft, threeeighths ] }; key <AE06> { [ 6, minus, bar, fiveeighths ] }; key <AE07> { [ 7, egrave, grave, seveneighths ] }; key <AE08> { [ 8, underscore, backslash, trademark ] }; key <AE09> { [ 9, ccedilla, asciicircum, plusminus ] }; key <AE10> { [ 0, agrave, at, degree ] };
[/li]
[li]Compiler le nouveau mapping:

Si pas d’erreurs de compil, essayer les nouvelles touches.[/li][/ul]

Je vous préviens ça perturbe pas mal. Ça relève plus d’un exercice de personnalisation de clavier qu’autre chose. Mais si ça vous convient, pour activer la recompilation du clavier à chaque démarrage de session, voir le T&A viewtopic.php?f=8&t=13198

Pour ma part, je ne suis pas sûr de garder ce mapping. Ou alors je n’utilise plus les accents! Et pour un Belge, ne plus avoir d’accent est presque un déshonneur. :wink:

Comme sur les Macs, il est également possible d’avoir une touche directe pour @.

Pour ça, on va sacrifier une touche peu utilisée: la touche [²] qui se trouve à gauche de [1]. Dans xkb_symbols rajouter:

Clavier FR

Clavier BE

key <TLDE> { [ at,twosuperior,threesuperior, notsign ] };

La touche [²] n’est pas vraiment sacrifiée puisqu’on peut toujours y accéder en faisant [SHIFT][²].

un post qui ne sert pas à grand chose à part pour dire merci : j’ai récupéré mes touches de contrôle de son (n’ont jamais marché d’origine mais d’un coup quand on les lie aux bons évènements c’est mieux ^^).

Juste pour la postérité, et surtout parce que la doc de xkb est parmi la plus mauvaise qui soit (inexistante), c’est quoi ces évènements?

De mon côté j’essaye de trouver la solution pour déverrouiller la touche [Caps Lock] avec la touche [Shift], mais je ne trouve pas. Alors si quelqu’un a une idée…

J’ai regardé du côté des /usr/share/X11/xkb/types/* mais sans succès jusqu’à présent.

XF86AudioLower / Raise / Mute

Enfin je crois que ca marche correctement “de base” sous gnome, mais sous xfce j’avais besoin de bricoler un peu, mes combinaisons “fn+un_truc” n’étant pas liées en général.
Par contre je viens de tester mon bricolage sous xmonad : a march’ po :-
Je n’ai donc fait que du lien, après faut utiliser les évènements comme tu l’entends.