web-dev-qa-db-fra.com

Comment simuler la saisie au clavier?

C'est ce qui m'empêche le plus de pouvoir profiter d'Ubuntu/Linux.

Idéalement, j'aimerais pouvoir exécuter mon script AutoHotKey sur Ubuntu, mais je n'ai pas eu beaucoup de chance de le faire fonctionner avec Wine.

Voici ce que je fais dans AHK (utiliser des modificateurs supplémentaires fonctionne aussi, Shift+Alt+l est Shift+right).

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}

J'ai essayé AutoKey, mais cela n'a pas consommé d'entrée, de remappage Alt + I à la flèche droite a travaillé, mais il a quand même exécuté Alt + I, qui sélectionne parfois un élément dans le menu de l'application.

Le plus proche que j'ai eu était xbindkeys pour la configuration des raccourcis clavier, cela semble très bien fonctionner. Et xvkbd pour simuler une entrée; cette partie est vraiment buggy; cela ne fonctionne pas dans tous les programmes et me fait perdre beaucoup de concentration, entre autres problèmes.

Pour ceux qui se demandent ce que j'essaye de faire: j'utilise IJKL comme touches fléchées Alt est éteint.

15
Farzher

Je n'ai jamais utilisé xvkbd, mais il existe deux autres excellents programmes de simulation de la saisie au clavier que j'aime bien utiliser. L'un est xteet l'autre xdotoolname__.

Sudo apt-get install xautomation xdotool  

xdotoolet xtesont très similaires, mais puisque j'utilise xteau maximum, j'entre dans celui-ci.

xte:

La syntaxe la plus élémentaire pour xteest la suivante:

xte 'command key/mousebutton/xyCoordinates'

xtepeut faire beaucoup plus que simplement créer une entrée au clavier, il peut également déplacer votre souris et simuler des appuis sur les boutons de la souris, entre autres choses.

Exemples de syntaxe:

  • Pour appeler une seule touche, appuyez sur: xte 'key keyName'

  • Pour appeler une combinaison de touches: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Pour appeler un bouton de la souris: xte 'mouseclick buttonNumber' (Vous pouvez trouver les numéros de bouton via xevname__)

  • Pour déplacer la souris: xte 'mousemove xCoordinate yCoordinate'

  • Et plus! Lire man xte

Noms clés:

Voici une liste de noms de clés (autres que ceux évidents):

Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key  
Super_L  
Super_R

En train de lire:

Vous pourriez aussi être intéressé par la lecture:

Comment puis-je modifier les touches de mon clavier? (Comment créer des commandes/raccourcis clavier personnalisés?)

Comment puis-je remapper certaines clés ou appareils?

16
Seth