web-dev-qa-db-fra.com

Comment définir la clé AltGr avec xmodmap

J'utilise un us-intl avec la disposition "AltGr dead keys" et l'option de basculer Alt et Win clé. Gentil, mais mon AltGr ne marche pas. La clé que je veux utiliser pour AltGr a le code clé 134 (découvert en utilisant xev). Je crée donc un fichier .Xmodmap:

keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key

que j'exécute "xmodmap .Xmodmap". Quand je montre maintenant mon modificateur, je reçois:

> xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x85),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x40),  Super_R (0x6c),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  ISO_Level3_Shift (0x86),  Mode_switch (0xcb)

Mais ... pressant AltGr (la clé avec le code 134 = 0x86) + q ne donne pas le résultat attendu - ce qui serait "un tréma". Cela devrait! xmodmap -pke contient cette ligne:

keycode  24 = q Q q Q adiaeresis Adiaeresis adiaeresi

Alors qu'est-ce qui ne va pas et que puis-je faire?

7
Nathan

Selon Xmodmap Manual , lorsque vous souhaitez échanger ou modifier les touches de modification, vous devez supprimer et effacer leurs liens avec leurs codes de clé et groupes de modifications d'origine. Ensuite, après les avoir affectés à un nouveau code d'activation, vous devez également les affecter à un nouveau groupe unique.

Il semble que (cela semble être assez courant en raison de la configuration du fabricant) le groupe de modificateurs 5 a été affecté à deux modificateurs différents [Level3_shift] & [Mode_switch]! En effet, en appuyant sur l'un d'eux, les active/les envoie tous les deux au système. Chacun d’entre eux est conçu pour donner accès à une couche/niveau unique du clavier, ainsi qu’à une couche/niveau unique supplémentaire lorsqu’ils sont pressés ensemble. [Mode_switch] est apparemment synonyme de [AltGr] fournissant un accès à la couche 2, le deuxième ensemble de [q] & [Q] dans votre exemple, [ISO_Level3_shift] permet d'accéder au niveau trois - les [ä] & [Ä] de votre exemple- mais vous ne pouvez taper aucune de ces clés sans les taper tant que vous n'avez pas changé votre fichier .xmodmap. Et votre deuxième "adiaeresi" (sic.) Manque la finale [s] pour ne produire aucun caractère.

Je sais que c'est assez déroutant et compliqué sans raison apparente, plus ce fil est vieux. Mais j'espère que quelqu'un trouvera mon explication utile à un moment donné!

4
AuralArch