web-dev-qa-db-fra.com

Ajout d'une autre touche de modification

Je suis assez nouveau pour Ubuntu (et Linux) et l'une des premières choses que je voulais faire était de remapper certaines clés en raison de certaines clés situées dans des positions "non désirées". Je pensais que cela ne serait pas si difficile, mais après avoir lu la documentation et être redirigé à plusieurs reprises, je me suis connecté en tant que root, en modifiant le fichier evdev dans /usr/share/X11/xkb et en modifiant les codes clés.

Apparemment, vous pouvez configurer votre clavier par défaut au démarrage , mais en raison du temps qu'il m'a fallu pour comprendre un peu tout ce système, je ne l'ai pas encore essayé. Il semble que cela permettrait effectivement de configurer le clavier par défaut de la "bonne" manière.

Pour le moment, j'aimerais savoir s'il est possible d'ajouter une autre touche de modification (par exemple, Ctrl) liée à une autre touche (par exemple, <CTL2>), mais en utilisant déjà 2 touches de modification (en d'autres termes, J'ai utilisé 2 touches Ctrl, mais je veux une touche supplémentaire qui se comporte comme une touche Ctrl gauche ou droite).

Information système

Ubuntu 17.04 (kernel information: Linux 4.10.0-37-generic #41-Ubuntu SMP Fri Oct 6 20:20:37 UTC 2017)
X Keyboard Extension (XKB) configuration data v.2.19
2
pdvries

Malheureusement, et autant que je sache, il n'y a pas vraiment de bonne documentation sur la façon de configurer XKB. Mais la réponse que vous avez liée ne s'applique-t-elle pas à votre question spécifique?

Vous pouvez afficher les options disponibles pour modifier XKB en exécutant cette commande:

man xkeyboard-config

depuis le terminal et faites défiler vers le bas. C'est ce que j'ai fait avant de répondre à l'autre question. :)

2
Gunnar Hjalmarsson

J'ai trouvé une solution à mon problème. Je ne suis actuellement au courant d'aucune autre solution, alors j'aime bien la partager ici.

La raison de commencer à modifier le fichier evdev dans usr/share/X11/xkb/keycodes est née de la frustration de ne pas comprendre pourquoi les modifications ne semblaient pas se produire lors de l'ajout d'une autre disposition de clavier au cours du processus de démarrage (à l'aide de fichiers de configuration différents). Il y a un certain nombre de publications qui parlent de la modification des codes clés et c'est sous cet angle que j'ai finalement décidé de les changer dans evdev.

Pour que cela fonctionne:

  1. Ajoutez la touche de modification (par exemple <SHF2>) à votre fichier evdevou si vous avez créé une disposition de clavier personnalisée, vous devez la modifier ici).
  2. Ensuite, en fonction de la touche de modification, vous devez l'ajouter au modifier_map du fichier pc- de usr/share/X11/xkb/symbols. D'après ce que j'ai compris, l'entrée doit être à l'opposé de la dernière clé ajoutée. Ainsi, par défaut, cette dernière touche est soit une touche Maj droite, soit une touche Contrôle droite. Par conséquent, le modificateur ajouté doit être une touche Maj gauche ou Ctrl gauche, qui ressemble à ceci:

    key <SHF2> { [ Shift_L ] };

    modifier_map Shift { Shift_L, Shift_R, <SHF2> };

  3. Redémarrer. (Peut-être que cette étape n'est pas nécessaire si vous savez comment reconfigurer ces modifications sans redémarrer)

--- (_ note _: Je n'ai créé que les modificateurs Shift et Control. Si vous souhaitez ajouter une autre touche Alt (en fonction du comportement de la touche Alt de gauche), vous devez modifier le fichier altwin- dans usr/share/X11/xkb/symbols et ajouter la ligne suivante: key <ALT2> { [ Alt_L, Meta_L ] }; (où <ALT2> est le nom que vous avez spécifié dans evdev ou configuré de toute autre manière dans votre fichier de disposition de clavier personnalisé) dans ce fichier et "re-configure"/reboot.

1
pdvries