Wie verwende ich Terminal, um Tastenanschläge zu senden?

12

Gibt es eine Möglichkeit für Terminal, das gleichzeitige Drücken mehrerer Tasten zu simulieren? Zum Beispiel Umschalt + Strg + R?

Ich bin sshvon einem Windows-Client (PuTTY) in OS X eingebunden und frage mich, ob ich den Client konfigurieren muss oder ob es eine native Möglichkeit für OS X gibt, diese Befehle auf der Empfangsseite zu emulieren.

user84019
quelle
Es geht darum, mit dem Terminal Tastaturkürzel zu senden. Insbesondere muss ich Strg + Opt + Shift + E senden. Ich muss es ohne AppleScript machen, da es von einem Windows-Computer stammt. Ich gehe davon aus, dass es sich um eine Art Terminalsimulator oder SSH von cmd handelt.
user84019
AppleScript funktioniert über SSH mit Osascript. Die folgende Antwort ist über SSH voll funktionsfähig, sofern auf dem OS X-Computer eine grafische Benutzeroberfläche vorhanden ist.
grg

Antworten:

8

Sie können AppleScript auf dem Terminal verwenden:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'
grg
quelle
Wenn ich das versuche, bekomme ich nur eine neue Zeile mit ">"?
user84019
Ist es programmspezifisch? Wenn ich beispielsweise "E" in TextEdit eingeben möchte, würde ich dann "osascript -e 'eingeben, um der Anwendung" Systemereignisse "mit" Umschalttaste} "" e "zu drücken?
user84019
2
Okay, ich versuche, Strg + Opt + Umschalt + E einzugeben, und ich habe "osascript -e", um der Anwendung "Systemereignisse" mit "Steuerung nach unten, Umschalten nach unten, Option nach unten}" zu drücken, aber es sagt mir "48:55: Syntaxfehler: Ein Bezeichner kann nach diesem" "nicht suchen. (-2740) "
user84019
Tastenanschläge werden genau so eingegeben, wie sie wären, wenn sie manuell eingegeben würden. Sie sind nicht für jede Anwendung spezifisch. Wenn Sie einen Tastendruck in eine Anwendung eingeben möchten, verwenden Sie "osascript -e" und teilen Sie der Anwendung "AppName" mit, um sie zu aktivieren. Dadurch wird die Anwendung gestartet, sofern sie noch nicht geöffnet ist, und im Vordergrund angezeigt (dh der Name wird in der Menüleiste angezeigt). Sie können dann den Code @grg verwenden, der in seiner obigen Antwort angegeben ist.
Peter Schorn
3

Das Cliclick-Shell-Tool ist ziemlich beeindruckend. sendet Tastenanschläge, Klicks, alles Mögliche

https://github.com/BlueM/cliclick

boulder_ruby
quelle
boulder_ruby - eine ausgezeichnete Lösung, eine gute Referenz. Bist du der cliclickAutor?
Johnny Utahh
@ JohnnyUtahh das ist ein Negativ, nur ein Nerd, der von Automatisierung besessen ist
boulder_ruby