web-dev-qa-db-fra.com

Différence super bouton gauche / droite

Quand je presse à gauche Super touche le gnome Shell apparaît et quand j'appuie sur la droite Super la clé ne le fait pas. D'ailleurs en appuyant à droite Super + T ouvre un terminal à la fois, mais lorsqu’on utilise super gauche, je dois appuyer sur le T deux fois, quand je presse le T une fois, cela revient à appuyer sur le bouton T sans tenir Super la gauche. Ce dernier point se produit également avec d’autres raccourcis que j’ai définis (comme Super+LSuper+E), mais pas avec Super+Up/Down/Left/Right.

Ce que je veux, c'est appuyer soit Super clé pour obtenir le gnome Shell et utiliser soit Super clé en combinaison avec T d'ouvrir un terminal immédiatement (et similaire avec d'autres raccourcis). J'utilise Ubuntu 12.04 LTS et le gnome 3 Shell.

10
Erik

solution xmodmap

Je pense que vous pouvez le faire en utilisant xmodmap , un outil pour modifier les keymaps. Depuis mon clavier n'a pas le droit Super Je ne peux pas confirmer cette solution, alors laissez un commentaire si cela ne fonctionne pas.
Toutes les étapes sont effectuées dans un terminal

Affiche la carte de modificateur actuelle
Courir

xmodmap

Ceci devrait imprimer la carte de modificateur courante qui devrait ressembler à quelque chose comme ça

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

La ligne importante est la ligne mod4. Cette ligne indique les codes de touche mappés sur les symboles de touche Super_L et Super_R.

Sauvegarde la mappe de clés
Avant de changer quoi que ce soit, c’est une bonne idée de sauvegarder la mappe de clés actuelle, nous pouvons le faire avec

xmodmap -pke > ~/.xmodmap.orig

Maintenant, si quelque chose ne va pas, vous pouvez simplement taper

xmodmap ~/.xmodmap.orig

pour restaurer votre carte de clé d'origine. (Si vous avez commis de graves erreurs et que vous ne pouvez plus taper correctement, un redémarrage fonctionne également)

Vérifier la carte de touches actuelle pour le  Super  clés
En supposant que le Super les clés ont des codes de clé consécutifs (0x85 et 0x86 dans ce cas), nous pouvons vérifier le mappage actuel en exécutant

xmodmap -pke | grep -wA1 $((0x85))

étaient bien sûr vous devriez changer le 0x85 avec le code de clé que vous avez de votre carte de modificateur. Cela devrait vous donner

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

(le $((0x85)) convertit le nombre hexadécimal en décimal)

Copiez le comportement de la gauche  Super  à droite  Super
Comme vous pouvez le voir à l’étape précédente, la droite Super la clé a le code clé 134 mais nous voulons qu'elle ait le comportement de la gauche Super clé qui a le code clé 133. Nous pouvons le faire en remappant la clé en utilisant

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Vérifier si cela fonctionne
Si vous faites maintenant

xmodmap -pke | grep -wA1 $((0x85))

tu devrais voir

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

ce qui signifie que les deux clés ont maintenant le même comportement. De plus, le modificateur devrait avoir changé sur la ligne avec mod4, nous pouvons le vérifier en lançant

xmodmap | grep 'mod4'

ce qui devrait donner

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

Et bien sûr, les raccourcis dont vous avez parlé devraient également fonctionner!

Rendre le mappage persistant
Si cela fonctionne, vous pouvez vous assurer que ces paramètres sont automatiquement appliqués lorsque vous démarrez. Courir

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

pour stocker votre mappage de clé personnalisé dans le fichier ~/.xmodmaprc. Courir

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

pour vous assurer que le mappage de clés personnalisé est exécuté lors du chargement de votre gestionnaire de fenêtres.

3
Gerhard Burger