Parce que j'ai une utilisation limitée de mes mains, j'utilise le Contrôle vocal pour dicter la plupart de mon texte. (Je l'utilise pour lire cette question.) Le Contrôle vocal offre la possibilité d'ajouter des commandes personnalisées, y compris celles qui exécuteront un flux de travaux Automator. Automator, à son tour, peut exécuter du JavaScript ou de l'AppleScript arbitraire. (Je préfère JavaScript). Ce que je veux faire, c'est créer un script qui prend le texte actuellement sélectionné dans l'application active, le manipule, puis remplace le texte sélectionné sur place. Par exemple, imaginez créer une commande "hyphénater ceci" qui convertit du texte sélectionné comme ceci-"Mac Voice Control scripting"-et le change en ceci-"Mac-Voice-Control-scripting". Écrire le JavaScript ou l'AppleScript pour transformer la chaîne est la partie facile. Le problème est de savoir comment obtenir le texte actuellement sélectionné pour l'application en cours, quel qu'elle soit.
Dans Automator, vous pouvez créer un flux de travail "Action rapide" qui est censé transmettre le texte actuellement sélectionné et vous permettre de le remplacer. En pratique, cependant, sous Big Sur (au moins), je n'ai pas pu obtenir ce flux de travail pour recevoir du texte de n'importe quelle application. Étant donné une fonction run()
standard, le tableau input
était toujours de longueur 0.
Comment créer un flux de travail qui peut être exécuté par une commande personnalisée dans le Contrôle vocal qui reçoit, traite et remplace le texte actuellement sélectionné dans l'application en cours?