Comment attribuer un raccourci clavier à un AppleScript que j'ai écrit?

43

Comment attribuer un raccourci clavier à un AppleScript? J'ai trouvé un script permettant de revenir automatiquement à la boîte de réception dans Office 2011.

À M
la source
1
Comme le souligne cette réponse , les raccourcis clavier attribués via les services ne sont pas toujours cohérents.
William

Réponses:

48

Il est également possible sans applications tierces payées!
1. Ouvrez Automator.
2. Créez une nouvelle action rapide.
3. Assurez-vous qu'il ne reçoit aucune entrée dans tous les programmes.
4. Sélectionnez Exécuter un script Apple et tapez votre code.
5. Économisez!

Maintenant, allez dans Préférences Système> Clavier> Raccourcis. Sélectionnez Services dans la barre latérale et trouvez votre service. Ajoutez un raccourci en double-cliquant (none).

Enfin, sélectionnez Préférences Système> Sécurité> Confidentialité> Accessibilité et ajoutez Automator et l'application préférée pour exécuter le raccourci.

MegaCookie
la source
2
Ce dernier "Enfin" est important - ratez-le et vous obtiendrez une boîte de dialogue déroutante "L'action [...] rencontrée une erreur", vous proposant simplement Afficher le flux de travail, ce qui ne vous rendra probablement pas plus sage.
ecmanaut
Compris le problème, la dernière étape est différente sur mon système d'exploitation mizage.com/help/accessibility.html#10.7
William
5
Qu'entendez-vous par application préférée?
William
Ce serait bien s'il y avait un moyen d'automatiser l'étape "maintenant go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none).". Ce doit être possible, mais
je
3
@ William, comme si vous écriviez un AppleScript dans le Finder, sélectionnez simplement Automator et Finder dans les paramètres d'accessibilité.
MegaCookie
15

En résumé, vous devrez utiliser:

  • Automator pour créer un service qui exécute un script Apple
  • Préférences système pour attribuer un raccourci clavier au service

Vous trouverez ci-dessous les étapes à suivre pour chacun.

1. Créer un service avec Automator

  1. Lancer Automator (généralement présent dans votre dossier Applications)
  2. Aller dans Fichier> Nouveau
  3. Sélectionnez Service et cliquez sur Choisir.
  4. En haut à droite de la fenêtre qui apparaît, assurez-vous que "Aucune entrée" est sélectionné dans la liste déroulante Services reçus.
  5. Assurez-vous que la liste déroulante Dans affiche "Toute application".
  6. Dans la deuxième colonne contenant la longue liste, trouvez "Run AppleScript" et double-cliquez dessus.
  7. Cela va ajouter la fenêtre Exécuter AppleScript à droite
  8. Maintenant, remplacez le (* Votre script va ici *) par le script que vous voulez
  9. Enregistrez le service sous un nom explicite (par exemple, GoToInbox).

Passons maintenant à l'étape suivante.

2. Créer votre raccourci

  1. Allez dans Préférences Système> Clavier> Raccourcis
  2. Sélectionnez Services dans la barre latérale.
  3. Trouvez votre service (ce sera dans la liste à droite)
  4. Ajouter un raccourci en double-cliquant sur le nom du service
  5. Maintenant, allez dans Préférences Système> Sécurité et confidentialité> Confidentialité
  6. Sélectionnez Accessibilité dans la barre latérale.
  7. Cliquez sur le signe + (vous devrez peut-être déverrouiller le cadenas s'il est verrouillé)
  8. Ajouter Automator.
  9. Ajouter le Finder (pour le trouver, vous devrez naviguer vers /System/Library/CoreServices/Finder.app ).
  10. Quittez vos préférences système.

Maintenant, vous devriez pouvoir faire deux choses:

1. Exécutez le service depuis n'importe quelle application en accédant à la liste Services dans un menu Application (par exemple, Finder> Services, Safari> Services, TextEdit> Services, etc.) et sélectionnez le service que vous venez de créer.

2. Utilisez le raccourci clavier pour exécuter le service.

REMARQUE: Je suis conscient que, pour certains utilisateurs, les raccourcis clavier ne semblent pas fonctionner même s'ils ont été affectés à un service. Ceci est un tout autre sujet, mais si cela se produit dans votre cas, vous pouvez au moins exécuter le service à partir de n'importe quelle application que vous utilisez.

Fais-moi savoir comment tu vas.

Monomeeth
la source
1
Pourquoi dois-je ajouter le chercheur manuellement et quelles applications cela ne fonctionne pas en général? Il semble que je dois parfois exécuter le script sous services pour le faire enregistrer avant d’enregistrer le raccourci clavier, ce qui est dommage.
William
2
Oui, le problème que j'ai mentionné à la fin de ma note peut souvent (mais pas toujours) être corrigé en exécutant d'abord un service (et parfois, il suffit d'accéder au menu Services) avant que le raccourci clavier ne soit reconnu. C’est un bogue extrêmement gênant qui existe depuis longtemps et je vous recommande certainement d’ envoyer un rapport de bogue à Apple . Pour ce qui est de la raison pour laquelle vous devez ajouter le Finder manuellement , tout simplement parce qu’il n’est pas ajouté par défaut. Enfin, je n'ai pas compris ce que vous vouliez dire par quelles applications cela ne fonctionne-t-il pas en général ?
Monomeeth
Ignorer ma question sur l'application ne fonctionne pas dans certaines applications. Il semble que le fait d’exécuter le script une fois dans le menu Service corrige ce problème et votre explication explique le problème que j’avais. Pourquoi dois-je ajouter Automator Finder à la liste Accessibility list? Cela ne semble pas faire la différence lors de l'exécution de commandes (telle était ma question fondamentale)?
William
Bonne question! Si vous trouvez que les étapes 5 à 9 ci-dessus pour créer un raccourci ne sont pas nécessaires pour vous, c'est très bien. Cependant, j'ai aidé beaucoup de gens à créer des raccourcis clavier pour exécuter des scripts personnalisés et j'ai constaté qu'inclure ces étapes évitait souvent un message d'erreur (ne vous souvenez pas de ce qu'il est maintenant ou dans quelles circonstances il apparaîtrait). Je ne devrais peut- être pas inclure ces étapes par défaut, mais c’est ce que je fais depuis quelques années (bien que les étapes exactes diffèrent en fonction de votre version de macOS - ci-dessus, j’ai inclus les étapes pour El Capitan selon votre prime).
Monomeeth
Les étapes 5 à 9 devraient être parfaitement inutiles pour l'attribution d'un raccourci, bien qu'elles puissent être nécessaires pour que le script déclenché fonctionne correctement s'il utilise les fonctionnalités UI Automation (clics de souris simulés et touches enfoncées). Cependant, ce dernier cas est un autre problème; vous ne devriez pas associer deux problèmes en incluant ces étapes dans votre réponse.
Kopischke
9

Vous ne pouvez pas attribuer des raccourcis clavier aux scripts Apple prêts à l'emploi. Cependant, vous pouvez:

  1. utilisez un lanceur qui prend en charge la définition de touches de raccourci globales et l'exécution de AppleScripts ( Alfred , Keyboard Maestro , FastScripts - comme bon vous semble) ou
  2. placez le script dans une action Exécuter AppleScript dans un service Automator . Notez qu'il doit s'agir d'un service et non d'une application ou d'un flux de travail ordinaire: vous pouvez attribuer des touches de raccourci aux services dans les paramètres du clavier Préférences Système.
Kopischke
la source
Suivez simplement les étapes de la réponse de @ MegaCookie .
Kopischke
Quelle version de système d'exploitation possédez-vous? Mon Mac 10.6.5 ne semble pas disposer de l'option "Sélectionnez Exécuter un script Apple et entrez votre code".
William le
1
Comme indiqué dans ma réponse, il ne s’agit pas de «Sélectionner Run AppleScript», mais de l’ action Run AppleScript à ajouter à votre service Automator; faites-le simplement glisser dans la zone d'action de la bibliothèque, ce qui vous donnera un champ de texte avec un échafaudage de fonctions auquel vous pouvez ajouter votre code. De plus, je doute que les paramètres d'accessibilité de la réponse de @ MegaCookie soient nécessaires - ceux-ci concernent UI Automation.
kopischke
3

Remarque: dans macOS Mojave, il a été renommé "Service" en "Action rapide" dans Automator.

  1. cmd+ spaceet tapez "automator"
  2. Sélectionnez: Fichier> Nouveau
  3. Sélectionnez "Actions rapides"
  4. Recherchez en haut à gauche "applescript" ou "shellscript" ou "javascript"
  5. Faites glisser l'action souhaitée vers le flux de travail situé à droite
  6. Fichier> Enregistrer avec le nom souhaité

Pour ajouter une frappe à votre flux de travail:

  1. Ouvrir les préférences système
  2. Sélectionnez Clavier> Raccourcis
  3. Sélectionnez Services à gauche
  4. Recherchez le service nouvellement créé et double-cliquez sur "aucun" pour ajouter un raccourci clavier.
spencer.sm
la source
Remarque: si vous n'en faites pas une action rapide (par exemple, vous en faites un "flux de travail"), la liste des raccourcis ne le détectera pas.
Sridhar Sarnobat
-2

Vous pouvez aller dans Préférences Système -> Clavier -> Raccourcis -> ajouter un nouveau raccourci. Vous pouvez ensuite sélectionner votre script.

https://support.apple.com/kb/PH18418?locale=en_US

Arecibo
la source
3
Ça ne marchera pas. Le document auquel vous vous associez décrit comment (ré) affecter un raccourci clavier à une commande de menu d'une application .
Kopischke
Lien rompu, apple a depuis longtemps désactivé cette fonctionnalité en un clic, en la remplaçant par une opération en 90 clics impliquant des applications tierces.
Eric Leschinski