Question xbindkeys ne fonctionne pas avec XF86audio *, comment configurer correctement le mappage de clés?


Je veux cartographier mon Fn + La gauche (XF86audioprev) et Fn + Droite (XF86audionext) touches pour fonctionner comme "Accueil" (Num_Lock + 7) et fin" (Num_Lock + 1) clés.

J'ai essayé d'utiliser xbindkeys avec xte. Au début, rien ne s'est passé lorsque j'ai appuyé sur les boutons pour essayer différentes choses. J'ai découvert que les commandes xte étaient exécutées trop tôt alors j'ai ajouté un délai comme suggéré dans un autre thread. J'ai essayé d'utiliser 3 comme clé pour mapper et ça marche. C'est ce qui est écrit dans le fichier "/home/me/.xbindkeysrc":

#HomeFNLeft
"xte 'usleep 100000' 'key Num_Lock' 'key KP_Home' 'key Num_Lock'"
    m:0x0 + c:12 + Release
    3 

Cela fonctionne parfaitement mais quand je change la clé à la Fn + Left cela échoue

#HomeFNLeft
"xte 'usleep 100000' 'key Num_Lock' 'key KP_Home' 'key Num_Lock'"
    m:0x0 + c:173
    XF86AudioPrev 

La configuration ci-dessus ne fonctionne pas. Je ne sais pas pourquoi. Y a-t-il une incompatibilité entre les clés de média et les xbindkeys? Merci et j'espère que vous pourrez m'aider.

Mes spécifications:

* OS: Ubuntu 16.04

* noyau: 4.8.0-58-generic

* Modèle d'ordinateur portable: ASUS ROG Strix GL753VD


1
2017-07-04 20:32


origine




Réponses:


J'ai eu exactement le même problème Finalement, je l'ai résolu, alors ça marche maintenant, mais pas très bien. J'ai écrit

# my Shift Home
"xte 'usleep 200000' 'keydown Shift_L' 'key Home' 'keyup Shift_L'"
Control+Shift + Left | m:0x5 + c:113

# my Home
"xte 'usleep 200000' 'key Home'"
Control + Left | m:0x4 + c:113

# my Shift End
"xte 'usleep 200000' 'keydown Shift_L' 'key End' 'keyup Shift_L'"
Control+Shift + Right | m:0x5 + c:114

# my End
"xte 'usleep 200000' 'key End'"
Control + Right | m:0x4 + c:114

Mais de cette manière, cela ne fonctionne qu'avec des presses assez rapides, ce qui peut ne pas être très confortable - essayez de jouer avec le temps de sommeil. Il semble que le clavier soit occupé quelque temps après avoir appuyé sur Left / Right, il ne peut donc pas lire les clés et ignorer Home / Right de xte si le temps de sommeil est trop court. P.S. désolé pour mon anglais, je ne suis pas natif.


0
2017-07-23 16:11



J'ai essayé ceci et j'ai joué avec le temps de sommeil, mais le comportement était très irrégulier (parfois il reconnaissait la presse, parfois pas) - MsKK
Le temps de repos est utilisé entre les pressions de la touche Ctrl et la touche fléchée, essayez donc d'appuyer sur Ctrl, puis sur la flèche juste après. Je suppose que le temps entre les presses doit être plus long que le temps de traitement des touches, mais inférieur à notre temps de 200 000. J'ai eu un comportement instable seulement avec de petits temps de sommeil, donc si quelque chose comme 1e6 n'est toujours pas correct, la situation est en quelque sorte différente de la mienne. Sur mon ordinateur portable avec 1e6, tout fonctionne bien, mais il est étrange de voir l’effet d’une presse dans une seconde après la presse elle-même. Mais si vous parlez de décalage entre la presse et son effet alors ça va pour cette méthode - Yura Polyachenko
Ce n'est pas un décalage. Je suppose que c'est un problème différent, mais merci pour votre contribution. - MsKK
vous devriez utiliser le Release modificateur. Par exemple. Release + Control+Shift + Left - manpages.ubuntu.com/manpages/xenial/man1/… - andras.tim