Gibt es eine Möglichkeit oder eine Anwendung eines Drittanbieters, mit der ich beispielsweise angeben kann, dass alle 5 Sekunden ein Tastaturereignis gesendet werden soll (damit es den gleichen Effekt hat wie das physische Drücken der Taste auf der Tastatur)?
Also könnte ich ihm zum Beispiel sagen, dass er Kalle 5 Sekunden zuschlagen soll, also insgesamt 15 Mal?
Grundsätzlich suche ich nach etwas wie AutoHotkey , aber für OS X.
Hier ist ein AppleScript, um zu tun, was Sie wollen:
set i to 0
repeat while i < 15
set i to i + 1
delay 5
tell application "System Events" to keystroke "k"
end repeat
Sie können es wie folgt in ein Shell-Skript einfügen:
echo "set i to 0
repeat while i < 15
set i to i + 1
delay 5
tell application \"System Events\" to keystroke \"k\"
end repeat" | osascript
(Dank an @houbysoft für die echo "script" | osacript
Syntax!)
Ich habe einen Weg gefunden, dies in einem Bash-Skript zu tun:
#!/bin/sh
# Simulates hitting a key on OS X
# http://apple.stackexchange.com/a/63899/72339
echo "tell application \"System Events\" to keystroke \"$1\"" | osascript
Speichern unter hitkey
, chmod +x hitkey
, hitkey k
um zu klicken K.
Von dort aus ist es einfach, Automator zu verwenden, um das Skript mehrmals zu durchlaufen oder einen iCal-Alarm zu erstellen, um das Skript zu einem bestimmten Zeitpunkt zu starten.
echo "script" | osascript
Syntax - ich habe immer verwendet osascript -e "script"
. Dafür bekommst du +1.Hier ist mein Arbeitsablauf
Geben Sie in der Befehlszeile Strg + x und dann Strg + e ein, um Vim einzugeben, und geben Sie dort ein.
unten eingeben ; Sie sehen, es gibt keinen Backslash.
cat << EOF | osascript
set repeat_number to 5
set i to 1
repeat while i <= repeat_number
tell application "System Events" to keystroke "k"
display notification "repeat keystroke " & i & "time"
set i to i + 1
delay 1
end repeat
EOF
dann speichern Sie vim und beenden Sie den Befehl, vorausgesetzt, Sie wissen, wie man in vim aussteigt;)
Zurück zum Terminal, um oben eingegeben auszuführen.
+++ Ach noch was.
cat | osascript
display alert "typeing like Script Editor, no need to type backslash!"
display notification "type ctrl + d to end typing and run it."
cat
zusammen mit einem Hier-Dokument scheint ein bisschen übertrieben zu sein (Sie brauchen das cat
Teil nicht).cat
regelmäßig verliehen wurden !comp.unix.shell
Adam_G