web-dev-qa-db-fra.com

Comment remapper la touche Super (gauche) en touche de contrôle

Quelqu'un pourrait-il me dire comment remapper mon Supertouche (gauche) pour Ctrl clé?

Je veux dire Super(à gauche) devrait fonctionner comme Ctrl clé.

25
Sandy

Pour apporter des modifications majeures à votre clavier, y compris le remappage des caractères et les modifications de modificateurs, vous devez utiliser l'utilitaire xmodmap - voir man xmodmap. Il y a deux façons d'exécuter les modifications:

  • soit de la ligne de commande

    xmodmap -e "your commands"
    
  • ou écrivez les commandes dans un fichier tel que .xmodmaprc, puis exécutez-le dans vos éléments de connexion ou votre fichier .bashrc avec

    xmodmap .xmodmaprc
    

    Si vous nommez le fichier ~/.xmodmap, il sera exécuté automatiquement lors de la connexion.

Maintenant les commandes

Ce que vous voulez faire est un processus en deux étapes. Tout d'abord, vous démappez Super de son modificateur, puis vous le mappez pour le contrôler.

  1. Exécutez xmodmap -pm dans une fenêtre de terminal pour obtenir une liste des modificateurs liés. Sur ma machine (et vraisemblablement la vôtre), Super est appelé mod4. Super_L et Super_R sont des clés séparées qui génèrent le même modificateur.

    Vous pouvez maintenant retirer le modificateur de celui-ci. Exécutez la commande xmodmap (en utilisant l'une des méthodes ci-dessus)

    remove mod4 = Super_L
    

    Désormais, la clé physique est toujours appelée en interne Super_L, mais elle ne fait rien.

  2. Maintenant, remappez-le. Exécutez la commande xmodmap:

    add control = Super_L
    

Si vous souhaitez annuler cette opération ultérieurement, exécutez les mêmes commandes avec les arguments appropriés.

Pas de Super_R?

La sortie de xmodmap -pm peut vous donner plusieurs clés nommées Super_L mais aucune nommée Super_R). Si tel est le cas, plusieurs clés supplémentaires sont affectées à Control, mais aucune à Super. Vous devrez renommer une clé. (NB: cela peut vous donner plusieurs Super_L et au moins un Super_R. C'est très bien.)

Les noms de clé dans la table ont tous un chiffre hexadécimal entre parenthèses. Ce numéro est le code clé physique de la touche de votre clavier (il peut varier selon le modèle). Si vous devez modifier un Super_L en Super_R, commencez par trouver le code d'activation que vous souhaitez associer à Super_R (vous ne savez pas lequel est le bon? Exécutez xev, puis tapez plusieurs fois sur le Super droit. Quelque part dans le labyrinthe de sortie "keycode = 133" (avec un numéro différent)). Exécuter la commande xmodmap

keycode 133 = Super_R

renommer la clé, puis

add mod4 = Super_R

l'assigner à Super.

27
pconley

Ligne de commande:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Ou mettez dans ~/.Xmodmap pour activer au démarrage:

remove mod4 = Super_L
add control = Super_L
18
Coc

Sur Ubuntu, vous pouvez éditer /etc/default/keyboard et définir:

XKBOPTIONS = "altwin: ctrl_win"

Lequel:

Ctrl est associé aux touches Windows (et aux touches Ctrl habituelles)

Lisez man 5 keyboard pour plus d'informations. Vous pouvez trouver toutes les combinaisons possibles d'options sur votre système en procédant comme suit:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win
4
Mitar

Essayez avec ceci:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Mettez les lignes ci-dessus dans votre ~/.Xmodmap et exécutez xmodmap ~/.Xmodmap.

1
rendon