Comment configurer la bonne Alt pour qu'elle fonctionne comme une clé Win (Super)?

11

Bien qu'il existe de nombreux articles différents sur la façon de modifier l'Alt gauche pour simuler la victoire, je veux mapper l'Alt droit pour le faire. Je veux passer à 11h10, je retombe à l'unité 2d et je n'ai pas de clé de victoire. Je ne trouve même pas le code clé dans les articles que j'ai trouvés ... Une aide ou de bonnes suggestions?

deckoff
la source

Réponses:

12

Vous pouvez utiliser xmodmap pour remapper n'importe quelle touche du clavier; en particulier, vous pouvez remapper la bonne Alt pour agir comme une clé Super / Win .

Créez un fichier nommé .Xmodmapdans votre répertoire personnel avec le contenu suivant:

! free up right-Alt for remapping
remove mod1 = Alt_R

! Right-Alt remapped to Super
clear mod4
keycode 108 = Super_R
add mod4 = Super_R

Lorsque vous vous déconnectez puis vous reconnectez, GNOME devrait vous demander si vous souhaitez charger le .Xmodmapfichier; répondez «oui» et vous êtes prêt à partir. (Vous ne le demanderez qu'une seule fois.)

Alternativement, vous pouvez charger la .Xmodmapconfiguration depuis un terminal à tout moment:

xmodmap .Xmodmap

Il y a quelques choses qui peuvent varier selon la version du serveur X et le modèle de clavier. Les éléments suivants peuvent vous aider à adapter le .Xmodmapfichier à votre environnement spécifique.

  1. Vérifiez que votre touche Alt droite est initialement sur mod1 : Émettez la commande xmodmapdans une fenêtre de terminal, et vous devriez obtenir une sortie comme celle-ci:

    xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):
    
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        Caps_Lock (0x9),  Caps_Lock (0x4e)
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Alt_L (0xcc)
    mod2      
    mod3        Mode_switch (0xcb)
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce)
    mod5      
    

    Si la Alt_Rbalise n'apparaît pas dans la ligne mod1 mais sur une autre, ajustez votre en .Xmodmapconséquence.

  2. Vérifiez que votre touche Alt droite est le code clé 108: dans une fenêtre de terminal, tapez la commande xev , puis concentrez la petite fenêtre carrée qui est apparue. Si vous tapez la touche Alt droite à cet endroit , vous devriez voir des lignes apparaître dans la fenêtre du terminal. Recherchez une strophe comme celle-ci:

    KeyPress event, serial 25, synthetic NO, window 0x5000001,
        root 0xbd, subw 0x5000002, time 867397196, (53,48), root:(54,49),
        state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Le nombre après le keycodemot est celui que vous voulez dans votre .Xmodmapfichier pour le remappage droit Alt .

Riccardo Murri
la source
Je vous remercie. Je peux garder ma gauche pour tout ce dont j'ai besoin.
deckoff
étrange, bien que la solution fonctionnait, maintenant elle s'est arrêtée ??? Lorsque je redémarre le PC et recrée la solution, cela fonctionne jusqu'au prochain redémarrage ...
deckoff
1
@deckoff Cela signifie que votre .Xmodmapfichier n'est pas lu au début de la session X. Essayez d'ajouter xmodmap ~/.Xmodmapà votre .gnomercfichier (ou équivalent).
Riccardo Murri
Je vais essayer. Il semble que cela ne fonctionne pas lorsque la connexion par mot de passe est désactivée. Si je vois un écran de connexion (peu importe si je me déconnecte et que je me connecte, ou si j'ai activé la connexion par mot de passe au démarrage, cela fonctionnera) .Veuillez regarder ici si vous êtes prêt à aider. Il semble que le fichier soit chargé, mais pas exécuté correctement.
deckoff
1
Oui, l'ajout de xmodmap ~ / .Xmodmap à .gnomerc a fonctionné
deckoff
3

J'ai trouvé cela simplement:

remove mod1 = Alt_R
add mod4 = Alt_R

fonctionne comme espéré. Suis-je en train de manquer des "pièges" avec cette méthode?

Brian Harvey
la source