61 votes

Comment puis-je remapper les touches du clavier ?

Je cherche des instructions générales sur le remappage des touches.

Quelqu'un peut-il me dire comment remapper F9 a PrtScr y F10 a ScrollLock bouton ?

J'ai parcouru tous les fils de discussion ici et aucune des suggestions n'a fonctionné.

J'utilise une configuration de clavier suédois et Ubuntu 12.04.

76voto

geezanansa Points 1490

Cette réponse a été élaborée en grande partie à partir des informations des trois premières étapes de ce projet. Réponse de Ask Ubuntu et ce Forums Ubuntu Gewinde vers lequel il se lie/réfère. Ce site autre réponse de Ask Ubuntu a été très utile pour. Tout le mérite revient donc à NES, llazarte, bodhi.zazen et Argusvision.

Pour échanger simplement les fonctions de deux touches : A partir de Terminal run xev puis appuyez sur F9 ce qui donnerait quelque chose comme

Terminal window showing F9 KeyPress event

Faire de même pour PrtSc n'a pas donné de résultat dans xev pour moi (ou je ne trouvais pas l'événement "KeyPress"), j'ai donc suivi le conseil d'Argusvision d'utiliser les raccourcis personnalisés dans Tous les paramètres, mais en faisant cela afin de désactiver PrtSc comme bouton de capture d'écran en le réaffectant comme Shift + Alt puis j'ai essayé d'appuyer à nouveau, ce qui m'a donné le code 107 pour PrtSc en xev comme ça

Terminal window showing PrtSc KeyPress event

En répétant le processus pour les quatre clés, j'ai obtenu

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

Pour changer la fonction d'une touche, il faut connaître le code de la NOUVELLE touche sur laquelle on appuie et l'"action" de l'ANCIENNE touche ou de la touche existante pour cette fonction.

Maintenant que nous disposons des codes d'identification des clés, nous pouvons faire en sorte que le système fasse ce que nous voulons en utilisant les éléments suivants xmodmap et comme nous le savons F9 a le "keycode 75" et PrtSc a l'action de "Imprimer", tout ce que nous devons faire c'est

xmodmap -e "keycode 75 = Print"

pour faire le F9 se comportent comme si la touche PrtSc c'est-à-dire que le code de la touche reste le même mais l'appui sur la touche F9 aura des résultats différents.

Utilisation de xev con Scroll Lock a également donné

Terminal window showing Scroll Lock KeyPress event

qui confirme l'"action" pour le Scroll Lock est "Pause", donc pour faire la F10 agir en tant que Scroll Lock en essayant

xmodmap -e "keycode 76 = Pause"

devrait donner les résultats escomptés.

C'est jusqu'à ce que vous vous déconnectiez ou que vous arrêtiez etc donc ce que nous devons faire après avoir confirmé les commandes

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

donnent les résultats souhaités est de trier SysRec qui est modifié PrtSc et échanger les autres boutons pour ne pas avoir plusieurs instances de la même action de touche. Ajout de

xmodmap -e "keycode 107 mod1 = F9 Sys_Req"

devrait échanger F9 vers où PrtSc gardait la version modifiée SysReq ( Alt + PrtSc ), nous pouvons à nouveau utiliser xev pour aider à vérifier cela.

En échangeant le Scroll Lock y F10 les boutons sont plus faciles

xmodmap -e "keycode 127 = F10"

Après s'être assuré 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, il ne reste plus qu'à faire en sorte que cela se produise au moment du démarrage. Pour ce faire, exécutez

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

qui m'a donné

some more text

nous ne sommes intéressés que par les codes clés 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 76 et 127.

Créez un nouveau document texte avec votre éditeur de texte préféré, 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

en nommant le fichier comme .Xmodmap et l'enregistrer dans votre répertoire d'accueil vous permettra d'exécuter les modifications en vous connectant simplement après le redémarrage.

31voto

nschonni Points 704

Pour les versions plus récentes d'Ubuntu, Xmodmap fonctionne mais après un redémarrage, vous perdez vos keymappings ! A la place, ce que j'ai fait c'est d'éditer le fichier xbd ( /usr/share/X11/xkb/symboles/pc ).

Dans ce cas, vous devez ajouter les entrées suivantes :

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

Ensuite, videz le cache des paramètres xkb :

rm -rf /var/lib/xkb/*

Après un redémarrage, vos touches sont mappées correctement.

6voto

Argusvision Points 1601

Ir a System Settings > keyboard > Custom Shortcuts . Ici, vous pouvez attribuer une commande à n'importe quelle touche ou ensemble de touches. Cliquez sur le bouton d'ajout (+). Dans la fenêtre qui s'affiche, nommez = Print Screen ; Commande = gnome-screenshot . Après l'avoir créé, cliquez sur la ligne à droite du nom où il est indiqué "Désactivé". Cela devrait le changer en "New Accelorator" Appuyez simplement sur F9.

Je cherche toujours une serrure à rouleau.

Après avoir cherché un peu, j'ai trouvé une réponse pour la serrure à rouleau. J'ai commencé cette réponse à partir de ce que j'ai trouvé ici. Vous devriez être en mesure de l'appliquer à n'importe quel ensemble de clés en utilisant xmodmap du terminal. Edit : Vous pouvez également en savoir plus sur Xmodmap aquí

Jetez un coup d'œil à la sortie de xmodmap -pke | grep F10 .
Le mien l'est :

keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10  

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

Alors I devrait être en mesure d'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 Touche F10.

Vous pouvez également consulter man xmodmap y xmodmap --help pour des options supplémentaires.
Par exemple, xmodmap -pke liste votre table de keymap en tant qu'expressions. Vous pouvez ainsi localiser les expressions affectées à d'autres touches.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X