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.