GNU/Linux >> Tutoriels Linux >  >> Linux

Remplacer quelques codes clés avec Xkb ?

Je veux mélanger quelques clés avec XKB. (Pourquoi ? Sur un ordinateur portable où certaines touches sont mal situé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 souhaite utiliser XKB et attribuer différents noms symboliques à certaines clés physiques, plutôt que d'attribuer différents keysyms à certains codes clés. (C'est pourquoi.) Je veux que le code d'accès 110 envoie PGUP au lieu de HOME , keycode 115 pour envoyer DELE au lieu de END , etc. Le reste de la configuration ne doit pas être affecté (donc PGUP est de continuer à envoyer le keysym Prior , etc., et toutes les autres clés restent telles quelles).

Comment puis-je modifier l'attribution de ces codes d'activation spécifiques ? Je vais charger un fichier avec xkbcomp somefile.xkb $DISPLAY , que dois-je mettre dans somefile.xkb ?

Réponse acceptée :

Créez un fichier contenant vos modifications de code d'activation et enregistrez-le sous (par exemple) ~/.xkb/keycodes/local . (Les keycodes le répertoire est codé en dur ; le répertoire de base peut être autre chose, et le nom du fichier aussi.) Cela contiendra dans votre cas

xkb_keycodes {
  <PGUP> = 110;
  <PGDN> = 112;
  <DELE> = 115;
  <INS> = 117;
  <HOME> = 118;
  <END> = 119;
};

Pour charger ceci, exécutez

setxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY

Cela affiche vos paramètres actuels, ajoute +local aux xkb_keycodes include et la charge dans le compilateur XKB, en ajoutant ~/.xkb au chemin d'inclusion. (Si vous avez nommé votre fichier autrement que ~/.xkb/keycodes/local , vous devrez évidemment changer +local et -I${HOME}/.xkb} .) De cette façon, tous les autres paramètres sont conservés.


Linux
  1. Traçage du noyau avec trace-cmd

  2. Utiliser Notify-send avec Cron ?

  3. Ajout avec "sed" ?

  4. Patcher un binaire avec Dd ?

  5. Dupliquer, avec quelques petites modifications, quelques lignes dans un fichier texte ?

15 Commande Linux ps avec exemples

Commandes Nmap avec exemples

Planification avec cron &At

Commande d'historique avec exemples

Microservices avec Python3

Autorité de certification avec OpenSSL