J'ai essayé de comprendre cela depuis un moment et je me demandais si vous pouviez m'aider. Avec AppleScript, il y a deux fonctions cachées disponibles dans l'application Événements système qui vous permettent de pousser une touche vers le bas (en la maintenant enfoncée pendant que d'autres actions, comme cliquer sont terminées), puis en relançant la touche.Envoi de la touche System Events vers le bas/vers le haut à l'aide de JXA
par exemple. voir la réponse ici Applescript to run Detect Displays où "touche en haut" et "touche en bas" sont utilisés pendant qu'un clic est en cours.
Mais dans l'intérêt de cet exemple, utilisons quelque chose de très simple, un raccourci d'enregistrement.
Le AppleScript ressemble à ceci:
tell application "System Events"
key down command
keystroke "s"
key up command
end tell
Le plus proche que je l'ai appris à cela dans JXA est la suivante, mais peu importe ce que je passe à keyDown, il envoie la lettre « a »:
events = Application("System Events")
events.keyDown("command")
events.keystroke("s")
events.keyUp("command")
Des idées?
Merci!
Fotis
Ne jamais utiliser 'clé up' /' 'down' clé dans système Events' à moins que vous n'avez pas d'autre choix. Ici, vous avez: 'keystroke 's' using command down' – vadian
Selon mon post, j'ai seulement utilisé cmd + s comme exemple. L'objectif initial était de reproduire l'AppleScript à l'article http://stackoverflow.com/questions/12640643/applescript-to-run-detect-displays, qui, selon moi, doit utiliser des actions de touches enfoncées et enfoncées lorsque le script clique sur un bouton pendant que le la touche est maintenue enfoncée. Vous pouvez voir mon script terminé sur https://github.com/fgimian/macbuild/blob/master/detectdisplays.js –
Je l'ai, je voulais juste mentionner que l'utilisation de 'key up' /' key down' est assez dangereux. Si une erreur survient alors que la touche est enfoncée, elle reste enfoncée! – vadian