web-dev-qa-db-fra.com

Remappez une combinaison de touches sur une autre combinaison, e. g. Super + Ctrl + Maj + J -> Ctrl + Maj + Gauche

Je souhaite implémenter une couche de clés d'addition pour pouvoir accéder à des clés non alphanumériques sans avoir à bouger les poignets.

J'utilisais Autokey à cette fin, mais l'expérience n'était pas satisfaisante: il y avait des décalages occasionnels et des frappes au clavier originales se glissaient dans certaines applications.

J'ai donc besoin d'une solution de bas niveau.

Donnez une combinaison de xbindkeys et xvkbd à essayer. xbindkeys écoute les clés et envoie la traduction à xvkbd.

Sudo apt-get install xbindkeys xvkbd
xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Ouvrez .xbindkeysrc dans votre éditeur favori. J'ai commenté tout le reste, mais il est bon de s'y référer si nécessaire.

Pour vérifier, j'ai essayé de mapper Ctrl +; à Ctrl + V

"xvkbd -xsendevent -text "\Cv""
   control + semicolon

Je suppose que tu cherches quelque chose comme ça

"xvkbd -xsendevent -text "\C\S\[Left]""
  Super+Control+Shift+J

Enregistrez le fichier, puis exécutez xbindkeys

Afin de recharger les modifications de configuration, j'ai tué le processus xbindkeys puis redémarré.

syntaxe xbindkeys

J'ai élaboré la combinaison de touches à l'aide d'une interface graphique pour xbindkeys

Sudo apt-get install xbindkeys-config
xbindkeys-config

Une fois que vous avez exécuté cela, appuyez sur Obtenir la clé pour la combinaison à insérer dans la deuxième ligne de votre fichier .xbindkeys.

syntaxe xvkbd

Du manuel:

\r - Return
\t - Tab
\b - Backspace
\e - Escape
\d - Delete
\S - Shift (modify the next character; please note that modify with ``\S'' will be ignored in many cases. For example, ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.)
\C - Control (modify the next character)
\A - Alt (modify the next character)
\M - Meta (modify the next character)
\[keysym] - the keysym keysym (e.g., \[Left]), which will be processed in the similar matter with other general characters
\{keysym} - the keysym keysym (e.g., \{Left}), which will be processed in more primitive matter and can also be used for modofier keys such as Control_L, Meta_L, etc.; also, \{+keysym} and \{+keysym} will simulate press and release of the key, respectively [Version 3.3]
\Ddigit - delay digit * 100 ms
\xvalue - move mouse pointer (use "+" or "-" for relative motion)
\yvalue - move mouse pointer (use "+" or "-" for relative motion)
\mdigit - simulate click of the specified mouse button

J'adore savoir comment cela fonctionne et si la combinaison est adaptée à votre objectif. Cela a l'air bien en tant que keymapper, mais pas nécessairement en tant que coureur de macro.

9
Mark Hewitt

Je pense que vous pouvez trouver la solution ici (car Xorg est la couche de bas niveau est) ...: https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg

EDIT: pour ce que j'ai compris, vous devez ajouter l'option lv3:win_switch dans votre fichier .conf

0
mattia.b89