J'essaie de configurer xkb de telle sorte que le verrouillage des majuscules soit mappé à la touche Composer et que les fonctions Maj + Verrouillage des majuscules fonctionnent comme le verrouillage des majuscules traditionnel. J'ai mis ce qui suit dans un nouveau fichier appelé /usr/share/X11/xkb/symbols/gdwatson
:
partial modifier keys
xkb_symbols "compose" {
key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Multi_key, Caps_Lock ]
};
};
Puis j'ai couru setxkbmap -symbols 'pc+us+gdwatson(compose)'
, ce qui s'est terminé avec succès. Le verrouillage des majuscules fonctionne en tant que composition, mais Shift + majuscule fonctionne en tant que composition au lieu du verrouillage des majuscules. xkbcomp :0.0
révèle ce qui suit:
key <CAPS> {
type= "TWO_LEVEL",
symbols[Group1]= [ Multi_key, Multi_key ]
};
Le mappage de symboles de deuxième niveau duplique le premier pour une raison quelconque, plutôt que la valeur distincte que j'ai essayé de lui donner. Quelqu'un a-t-il suffisamment de xkb-fu pour me dire ce que j'ai fait de mal ou comment y remédier?
la source
@mirabilos
dans votre réponse donc je le remarque) dans un commentaire, alors je supprimerai ce commentaire et l'écrirai comme réponse (vous devriez également supprimer également votre réponse de commentaire).partial modifier keys
fait l'êtrepartial modifier_keys
? Sans ce changement,setxkbmap -symbols 'pc+us+gdwatson(compose)'
se termine en fait avec une erreur, mais avec le changement, j'obtiens la sortie souhaitéexkbcomp :0.0
. Cependant, j'obtiens l'effet secondaire indésirable que le fait d'appuyer simultanément sur Capslock me place en mode Capslock et compose le mode clé.Réponses:
Cela semble accomplir ce que vous recherchez.
Les ressources suivantes sont inestimables lorsque vous traitez avec XKB (je me suis lié aux miroirs de la machine WayBack de ces pages pour une protection future):
la source
default partial modifier_keys
, vous n'avez pas besoin de le spécifier explicitementsetxkbmap -symbols 'pc+us+gdwatson(compose)'
, vous pouvez simplement le fairesetxkbmap -symbols 'pc+us+gdwatson'