web-dev-qa-db-fra.com

Comment puis-je remapper les touches du clavier?

Je cherche des instructions générales sur les clés de remappage.

Quelqu'un peut me dire comment remapper F9 à PrtScr et F10 à ScrollLock bouton?

J'ai examiné chaque fil ici et aucune des suggestions n'a fonctionné.

J'utilise un clavier suédois et Ubuntu 12.04.

38
jdc

Cette réponse a été principalement constituée à l'aide des informations des trois premières étapes de cette Demandez à Ubuntu de répondre et de ce forum Ubuntu fil auquel il renvoie/fait référence. Ceci autre réponse à Ask Ubunt a été très utile. Donc, tout le mérite à NES, llazarte, bodhi.zazen et Argusvision.

Pour échanger simplement les fonctions de deux touches: À partir du terminal, exécutez xev puis appuyez sur F9 ce qui donnerait quelque chose comme

Terminal window showing F9 KeyPress event

Faire la même chose pour PrtSc n’a donné aucune sortie dans xev pour moi (ou je n’ai pas trouvé le "événement KeyPress"), j’ai donc utilisé les conseils d’Argusvision pour utiliser les raccourcis personnalisés dans Tous les paramètres, mais pour le désactiver. PrtSc comme bouton de capture d'écran en réaffectant Shift + Alt puis essayé d'appuyer à nouveau ce qui m'a donné le code 107 pour PrtSc comme xev

Terminal window showing PrtSc KeyPress event

Répéter le processus pour les quatre clés m'a donné

  • F9 = code de touche 75
  • PrtSc = code de touche 107, action Imprimer
  • F10 = code de touche 76
  • Scroll Lock = code de touche 127, action Pause

Pour changer une fonction de touche, nous devons connaître le code de touche de la touche NEW sur laquelle vous appuyez et "l'action" de la touche OLD ou existante pour cette fonction.

Maintenant que nous avons les codes de clé pour identifier les clés, nous demandons maintenant au système de faire ce que nous voulons en utilisant xmodmap et comme nous le savons F9 a "keycode 75" et PrtSc a l'action de "Imprimer" tout ce que nous devons faire est

xmodmap -e "keycode 75 = Print"

pour faire le F9 clé se comporter comme si le PrtSc la touche a été appuyée. c’est-à-dire que le code de touche reste le même mais que vous appuyez sur le bouton F9 clé aura des résultats différents.

Utiliser xev avec Scroll Lock a également donné

Terminal window showing Scroll Lock KeyPress event

qui confirme "l'action" pour la Scroll Lock la clé est "Pause" donc pour faire la F10 agir comme Scroll Lock en essayant

xmodmap -e "keycode 76 = Pause"

devrait donner les résultats souhaités.

C’est jusqu’à ce que vous vous déconnectiez ou éteigniez, etc.

xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 76 = Pause"

donnez les résultats souhaités est trier SysRec qui est modifié PrtSc et basculez sur les autres boutons pour ne pas avoir plusieurs instances de la même action de clé. Ajouter

xmodmap -e "keycode 107 mod1 = F9 Sys_Req"

devrait échanger F9 Jusqu'où PrtSc gardait le modifié SysReq (Alt + PrtSc) encore une fois, nous pouvons utiliser xev pour nous aider à le vérifier.

Échanger le Scroll Lock et F10 les boutons sont plus faciles

xmodmap -e "keycode 127 = F10"

Après avoir vérifié que lors de l'exécution

xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 107 mod1 = F9 Sys_Req"
xmodmap -e "keycode 76 = Pause"
xmodmap -e "keycode 127 = F10"

fait en effet ce qui est prévu tout ce qui reste à faire est que cela se produise au moment du démarrage. Pour faire cette course

xmodmap -pke|egrep  -e '(F9|Print)'

qui m'a donné

some more text

nous nous intéressons uniquement aux codes de touche 75 et 107. Faites de même pour

xmodmap -pke|egrep  -e '(F10|Pause)'

qui m'a donné

even more text

et nous ne sommes intéressés que par les codes de touche 76 et 127.

Créez un nouveau document texte avec votre éditeur de texte favori, copiez et collez les informations pertinentes.

keycode  75 = Print NoSymbol Print
keycode 107 = F9 Sys_Req F9 Sys_Req
keycode  76 = Pause NoSymbol Pause
keycode 127 = F10 NoSymbol F10

nommer le fichier en tant que .Xmodmap et l'enregistrer dans votre répertoire de base vous permettrait d'exécuter les modifications simplement en vous connectant après le redémarrage.

48
geezanansa

Xmodmap fonctionne pour les versions plus récentes d’Ubuntu, mais après le redémarrage, vous perdez vos correspondances de touches! Au lieu de cela, ce que j'ai fait est de modifier le fichier xbd (/usr/share/X11/xkb/symboles/pc ).

Dans ce cas, vous ajouteriez les entrées suivantes:

key <FK09> { [Print] };
key <FK10> { [Scroll_Lock] };

Puis effacez le cache des paramètres xkb:

rm -rf /var/lib/xkb/*

Après un redémarrage, vos clés sont correctement mappées. Si vous avez besoin d’aide supplémentaire, consultez mon article sur remappage de clés dans Ubuntu 15.04

15
Captain

Allez à System Settings > keyboard > Custom Shortcuts. Ici, vous pouvez assigner une commande à n'importe quelle touche ou jeu de touches. Cliquez sur le bouton Ajouter (+). Dans la fenêtre qui s’ouvre, Nom = Print Screen; Command = gnome-screenshot. Une fois que vous l'avez créé, cliquez sur la ligne à droite du nom où il est écrit "Disabled". Cela devrait changer en "New Accelorator" Appuyez simplement sur F9.

Toujours à la recherche d'un verrou de défilement.

Après un peu de recherche, j'ai trouvé une réponse pour le verrouillage du défilement. J'ai commencé cette réponse à partir de ce que j'ai trouvé ici. Vous devriez pouvoir l'appliquer à n'importe quel jeu de clés en utilisant xmodmap depuis le terminal. Edit: Vous pouvez aussi en savoir plus sur Xmodmap here

Jetez un coup d'œil au résultat de xmodmap -pke | grep F10.
Le mien est:

keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10  

Cela signifie mon F10 la clé est keycode 76. Le vôtre peut-être différent puisque vous utilisez une mise en page différente.

Donc I devrait pouvoir attribuer un verrou de défilement à F10 avec la commande suivante:

xmodmap -e "keycode 76 = Scroll_Lock"  

Vous devrez insérer le "code clé" que vous avez trouvé pour votre clé F10.

Vous pouvez également consulter man xmodmap et xmodmap --help pour des options supplémentaires.
Par exemple, xmodmap -pke répertorie votre table de clés en tant qu’expressions. De cette façon, vous pouvez également localiser les expressions affectées à d'autres clés.

4
Argusvision