Je dois invoquer un raccourci clavier à partir d'un code AppleScript, par ex. Cmd + Ctrl + Opt + E.Comment peut-on invoquer un raccourci clavier depuis un AppleScript?
Répondre
Bien sûr, cela fonctionne. Les événements système peuvent effectuer des frappes de clavier. Cependant, les séquences de touches sont toujours envoyées à l'application la plus à l'avant, donc pour exécuter un raccourci pour une application, vous devez indiquer à cette application de l'activer en premier, puis d'exécuter le raccourci. Par exemple, je peux ouvrir un nouvel onglet dans Safari en utilisant command-t. Cette applescript ressemblerait à ceci ...
tell application "Safari" to activate
tell application "System Events"
keystroke "t" using command down
end tell
Supposons maintenant que vous ayez un raccourci clavier global. Global signifie que cela fonctionne à partir de n'importe quelle application. Ensuite, vous n'avez même pas besoin d'activer une application en premier, il suffit d'appuyer sur la touche. Pour appuyer sur les touches que vous avez demandé le faire ...
tell application "System Events"
keystroke "e" using {command down, option down, control down}
end tell
application Activate "Safari"
est de 7 caractères plus courte que
tell application "Safari" pour activer
;)
Cela devrait être un commentaire sur la réponse à laquelle il fait référence, pas une autre réponse. – Pinko
Vous pouvez invoquer la séquence de touches ou, si le script GUI est activé, vous pouvez sélectionner un élément de menu dans un menu.
Voici un excellent lien expliquant cela en détail.
http://hints.macworld.com/article.php?story=20060921045743404
activate application "Safari"
delay 3
tell application "System Events"
keystroke "t" using {command down}
delay 2
keystroke "www.google.com"
key code 36
end tell
selon ce que vous souhaitez que le raccourci clavier pour être vous utiliseriez des événements de course clés par exemple
l'application tell "System Events" combinaison de touches "e" en utilisant {commande vers le bas, option bas, contrôle vers le bas}
Remplacez le "e" après le trait de la touche avec le ou les mots que vous souhaitez saisir, puis modifiez la commande {, option vers le bas, contrôle vers le bas} vers quelles touches vous souhaitez être activé en même temps.
thankyou
Comment utiliser 'enter' dans la frappe? 'return' ou 'enter' ne fonctionne pas. – JFW
Normalement, vous utiliseriez simplement ... le retour de la touche. Si cela ne fonctionne pas, vous pouvez essayer le code de la clé de retour ou d'entrée. Je ne connais pas les codes mais si le code était par exemple 13 c'est aussi simple que ... le code clé 13. Si cela ne fonctionne pas, alors vous devrez essayer les scripts de l'interface utilisateur (ui). Avec les scripts ui, vous pouvez appuyer sur et cliquer sur des choses, alors vous pouvez peut-être cliquer sur ce bouton. Les scripts d'interface utilisateur sont trop compliqués à expliquer ici, mais vous pouvez google pour trouver comment faire cela. Rappelez-vous cependant, assurez-vous que l'application est au premier plan avant d'essayer l'une de ces suggestions. – regulus6633
J'ai essayé d'utiliser la touche "retour" et tout ce qu'il a fait était de taper 'return' dans la fenêtre de saisie de texte. – JFW