Comment utiliser Terminal pour envoyer des frappes?


12

Existe-t-il un moyen pour Terminal de simuler la pression de plusieurs touches à la fois? Par exemple, Maj + Ctrl + R?

J'utilise sshOS X à partir d'un client Windows (PuTTY) et je me demande si j'ai besoin de configurer le client ou existe-t-il un moyen natif pour OS X d'émuler ces commandes du côté de la réception.


Il s'agit d'utiliser un terminal pour envoyer des raccourcis clavier. Plus précisément, je dois envoyer ctrl + opt + shift + e. Je dois le faire sans AppleScript, car c'est à partir d'un ordinateur Windows, en utilisant ce que je suppose être une sorte de simulateur de terminal, ou SSH de cmd.
user84019

AppleScript fonctionne sur SSH en utilisant osascript. La réponse ci-dessous est entièrement fonctionnelle sur SSH à condition qu'une interface graphique soit présente sur la machine OS X.
grg

Réponses:


8

Vous pouvez utiliser AppleScript sur le terminal:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'

Quand j'essaye, je reçois juste une nouvelle ligne avec ">"?
user84019

Est-ce un programme spécifique? Par exemple, si je veux taper "E" dans TextEdit, devrais-je taper "osascript -e 'Tell application" System Events "pour taper" e "en utilisant {shift down}'"?
user84019

2
D'accord, j'essaye de taper ctrl + opt + shift + e, et j'ai "osascript -e 'dire à l'application" System Events "d'appuyer sur" e "en utilisant {control down, shift down, option down}'" mais il me dit "48:55: erreur de syntaxe: un identifiant ne peut pas aller après ce" "". (-2740) "
user84019

Les frappes sont saisies exactement comme elles le seraient si elles étaient saisies manuellement; ils ne sont pas spécifiques à chaque application. Si vous souhaitez saisir une touche dans une application, utilisez `osascript -e 'pour dire à l'application" AppName "d'activer'. Cela lancera l'application si elle n'est pas déjà ouverte et l'amènera également au premier plan (c'est-à-dire que son nom apparaît dans la barre de menu). Vous pouvez ensuite utiliser le code @grg fourni dans sa réponse ci-dessus.
Peter Schorn

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.