web-dev-qa-db-fra.com

Essayer de remapper ma clé SUPER gauche (également appelée touche WINDOWS) vers la touche CONTROL gauche ou droite, avec xkg

J'ai essayé de lire et de comprendre ceci: https://www.charvolant.org/doug/xkb/html/node5.html

En guise de test, ma mise en page étant "Polonais, programmeur" dans le fichier/usr/share/X11/xkb/symboles/pl, j'ai joué en remappant le caractère "q" en "x", et cela a bien fonctionné.

Mais ce que je veux, c'est de remapper LWIN (Left Super) sur Left Control.

J'ai donc essayé ceci: j'ai commencé à éditer le fichier/usr/share/X11/xkb/symboles/pc, en supposant qu'il s'agit de la "racine" de tous les autres fichiers. Commenté cette ligne:

//key <LWIN> {  [ Super_L       ]   };

et ajouté celui-ci:

key <LWIN> {    [ Control_L     ]   };

et redémarré PC, sans succès. C'est à dire. LWIN + C, ne copie pas le texte sélectionné dans les éditeurs de texte dans le presse-papiers, mais produit simplement la lettre 'c'. Au terminal, au lieu d’arrêter le programme en cours, il ne produit que la lettre "c".

Voici mon fichier de configuration: https://Gist.github.com/anonymous/49514ddf6f03ba87babaab51e2d5eff4

Lorsque j'essaie la commande xev, puis que j'appuie sur la touche de commande gauche, je vois ceci:

KeyPress event, serial 40, synthetic NO, window 0x5a00001,
    root 0x7e, subw 0x0, time 1053321, (374,-259), root:(374,545),
    state 0x0, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
    root 0x7e, subw 0x0, time 1053425, (374,-259), root:(374,545),
    state 0x0, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

BTW. Ask ubuntu me suggère deux liens vers des questions similaires, mais elles sont anciennes et suggèrent d'utiliser xmodmap et, autant que je sache, sa réponse n'est plus correcte sous Ubuntu> = 16.04 (Xenial) et c'est précisément la version que j'ai.

BTW2. J'aimerais vraiment éviter d'utiliser des applications comme Xbindkeys, vu qu'il existe une solution intégrée, que je comprends presque, et que j'ai déjà passé du temps à essayer de comprendre.

4
konrados

Pour le changer temporairement, vous pouvez exécuter cette commande:

setxkbmap -option altwin:ctrl_win

Pour le changer de manière persistante, ouvrez le fichier /etc/default/keyboard pour le modifier, modifiez la ligne.

XKBOPTIONS=""

à

XKBOPTIONS="altwin:ctrl_win"

et redémarrez.

3
Gunnar Hjalmarsson