Ré-affectation d'une touche clavier sur une autre (sous X)

Partagez ici vos Trucs et vos Astuces.
Répondre
MicP
Modérateur
Modérateur
Messages : 665
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

17 avr. 2016, 11:55

Il s'agit de la copie d'un de mes derniers messages au sujet d'un problème de clavier.
La personne à qui je répondais avait la touche Espace cassée, et voulait utiliser la touche située juste à gauche de la touche espace pour la remplacer.

Mais la méthode est la même pour n'importe quelle touche du clavier.

=======
L'agencement de ton clavier dépends de beaucoup de choses.
Mon clavier est un clavier type pc105 fr
et j'utilise la configuration Français (variante)

Mais je ne suis pas du tout sûr que ta configuration soit la même,
aussi, il faudrait que tu récupère les codes clavier des touches de ton clavier dans ta configuration.

=======
Cette ligne de commandes te permettra de "récupérer" les codes des touches que tu appuiera,
il te suffira de les presser juste après avoir lancé la commande.

Code : Tout sélectionner

xev | awk ' /keycode/ {print $3,$4,$7}'
Quand tu aura récupéré les codes, pour fermer la petite fenêtre qui s'est ouverte clique sur la croix en haut à droite avec la souris.
(on peut aussi utiliser Alt-F4, mais si c'est une autre fenêtre qui est active à ce moment là…)

Dans ce qui suit, j'ai juste appuyé sur Shift + la touche juste à gauche de la barre espace,
ensuite, j'ai relâché les deux touches, et j'ai appuyé et relâché aussitôt la touche espace.

Code : Tout sélectionner

michel@debg53sw:~$ xev | awk ' /keycode/ {print $3,$4,$7}'
keycode 36 Return),
keycode 50 Shift_L),
keycode 64 Meta_L),
keycode 64 Meta_L),
keycode 50 Shift_L),
keycode 65 space),
keycode 65 space),
michel@debg53sw:~$ 
Donc :

Code : Tout sélectionner

    …
keycode 64 Meta_L),
    …
keycode 65 space),
    …
J'en déduis qu'il me faudrait copier la définition de la touche code 65 sur la touche code 64

=======
Je vais donc récupérer les lignes de configurations concernant ces deux touches :

Code : Tout sélectionner

michel@debg53sw:~$ xmodmap -pke | grep -E " 64 | 65 "
keycode  64 = Alt_L Meta_L Alt_L Meta_L
keycode  65 = space space space space space nobreakspace space U202F
michel@debg53sw:~$ 
=======
Déjà, je peux tester en ligne de commandes :

Code : Tout sélectionner

xmodmap -e "keycode  64 = space space space space space nobreakspace space U202F"
Et bien sûr, reconfigurer la touche à sa valeur initiale :

Code : Tout sélectionner

xmodmap -e "keycode  64 = Alt_L Meta_L Alt_L Meta_L"

============================
Pour mon compte utilisateur, il me suffit donc de créer un fichier ~/.Xmodmap contenant :

Code : Tout sélectionner

keycode  64 = space space space space space nobreakspace space U202F
Une fois ce fichier créé, il suffit de se déconnecter et de se re-connecter à sa session graphique pour que le fichier soit pris en compte.
bazin
Membre
Membre
Messages : 15
Enregistré le : 16 avr. 2016, 15:53
Status : Hors ligne

17 avr. 2016, 12:21

Extra, ça réponds à une question que je pose souvent et je vais essayer de l'appliquer pour configurer une touche de "retour" vers la page vue avant.
J'explique, quand je suis sur un forum, sur un clavier, j'ai une touche qui me permet de revenir sur la page précédemment visitée et je trouve que c'est pratique au lieu de cliquer sur la flèche à gauche de la barre d'adresse.
Sur un autre clavier d'un autre ordinateur, je n'ai pas cette touche. Je vais essayer d'en affecter une qui ne me sert pas.
MicP
Modérateur
Modérateur
Messages : 665
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

17 avr. 2016, 14:24

Super content que ça puisse te servir.

Si tu "cafouille" et que tu te retrouve bloqué à cause du clavier,
n'oublie pas qu'il te reste toujours la souris pour te déconnecter/reconnecter de ta session graphique,
ce qui remettra le clavier dans sa configuration d'origine (si le fichier ~/.xmodmap a été supprimé ou renommé)
Répondre