J'ai un petit problème. Je voulais remapper certains raccourcis clavier auxquels je suis habitué à partir de mon système précédent, mais je ne peux pas le faire fonctionner correctement xbindkeys
.
xbindkeys
reconnaît la combinaison, mais la commande ne se déclenche pas.
Si j'utilise la commande
xdotool key braceleft
Il me sort le bon {
signe dans la console. Cependant, si j'utilise la même commande dans xbindkeys, rien ne se passe. Si je remplace la commande par firefox
elle fonctionne correctement et ouvre Firefox, donc je suppose que ça xbindkeys
marche.
Je veux atteindre les objectifs suivants:
Je veux taper le caractère {
dans la fenêtre active avec
Alt_R+ 7ou Alt_Left+ Ctrl+ 7pour pouvoir utiliser les deux. Je sais que Alt_R(AltGr) est la bonne façon, mais sur les claviers allemands, il est en quelque sorte difficile de taper le braceleft avec la AltGrtouche (Alt_R), donc je dois utiliser Alt_L+ Control+ à la 7place (comme je l'étais dans mon système précédent). J'ai réussi à le faire fonctionner correctement en 12.04, mais je ne peux pas le faire fonctionner en 14.04.
Aucune suggestion? J'ai essayé plusieurs commandes. Tous ont fonctionné dans la console, mais aucun n'a fonctionné lorsqu'il était exécuté par xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Ceci est ma config, qui ne fonctionnera pas
"xdotool key braceleft"
Control+Alt + 7
Cependant, cela fonctionne:
"firefox"
Control+Alt + 7
Modification de la solution
Comme j'ai essayé plusieurs autres choses, j'ai remarqué que xdotool semble se déclencher trop tôt. J'ai modifié la config comme ceci:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
MAINTENANT, il envoie le bon signe {à la fenêtre active. Maintenant, la seule chose qui reste est de réduire le sommeil et le retard à une valeur réalisable, car 1 seconde semble un peu trop long :)
** Informations sur l'ajout ** Eh bien, maintenant j'ai réussi à trouver des valeurs appropriées. CEPENDANT, cela ne fonctionne que si vous relâchez les touches jusqu'à ce que la durée de sommeil soit terminée. Si vous êtes trop lent ou ne fonctionnera pas.
Ceci est ma configuration actuelle pour tous les caractères AltGr allemands peu pratiques
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
Cependant, si vous voulez taper plusieurs signes @ (par exemple), vous devez appuyer sur Ctrl + Alt + Q comme prévu, mais relâchez toutes les touches et appuyez à nouveau dessus. Cependant, c'est beaucoup, beaucoup mieux que de ne pas avoir l'option Control + Alt au lieu d'AltGr mais ce n'est pas aussi efficace que moi aussi. Je trouverai peut-être aussi une solution à cela.
xdotool
répéter la touche tout en maintenant la touche enfoncée?
xdotool getactivewindow key Home