Je veux mélanger quelques touches avec XKB. (Pourquoi? Sur un ordinateur portable où certaines touches sont mal placées.) J'utilise actuellement xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Au lieu de cela, je veux utiliser XKB et attribuer des noms symboliques différents pour certaines clés physiques, plutôt que d'attribuer des noms de clés différents à certains codes clés. ( C'est pourquoi.) Je veux que le code de touche 110 envoie à la PGUP
place de HOME
, le code de clé 115 à envoyer à la DELE
place END
, etc. Le reste de la configuration ne doit pas être affecté (il en PGUP
va de même pour l'envoi de la Prior
clé de clavier, etc. comme ils sont).
Comment puis-je modifier l'attribution de ces codes clés spécifiques? Je vais charger un fichier avec xkbcomp somefile.xkb $DISPLAY
, que dois-je mettre somefile.xkb
?
la source
-I
Vous pouvez commencer par
setxkbmap -print > somefile.xkb
obtenir le clavier que vous utilisez comme base, puis redéfinir les noms de clés que vous souhaitez dans laxkb_keycodes
section comme ceci:Cela génère des avertissements selon lesquels certains noms de clés sont attribués plusieurs fois, mais cela fonctionne car seul le dernier compte (il est donc important de mettre les paramètres personnalisés après l'inclusion). Et le fichier a l'avantage d'être lisible.
Une autre façon est de vider le clavier que vous utilisez dans un fichier:
xkbcomp $DISPLAY somefile.xkb
et de modifier les mêmes lignes (c'est le même clavier avec les inclusions évalués). De cette façon, il n'y a pas d'avertissement pour plusieurs définitions, mais c'est moins lisible.la source
evdev+aliases(azerty)
, etc.)? Je veux explicitement effectuer un changement relatif, pas une reconfiguration complète. Les clés autres que les 6 énumérées dans les questions ne doivent pas être affectées, elles doivent rester dans l'état où elles étaient lorsque j'ai émis la commande.setxkbmap -print
, ce sont des fichiers/usr/share/X11/xkb/
. Je pense que vous devez donner un schéma complet,xkbcomp
mais je peux me tromper ...