Usiłuję wyposażyć AppleScript, który automatycznie naciska klawisz strzałki w prawo przez 1 sekundę, a następnie klawisz strzałki w lewo przez 1 sekundę i powtarzam to w niekończącej się pętli, aż ją przerwę.
Oto, co do tej pory wymyśliłem, ale to nie działa:
tell application "VisualBoyAdvance"
repeat 100 times
tell application "VisualBoyAdvance" to keystroke "124"
delay 1
end repeat
end tell
keyboard
applescript
automator
piekarnik
źródło
źródło
Odpowiedzi:
Możesz powtarzać polecenia klawiszy, aż zmieni się aplikacja na pierwszym planie:
Krótsze opóźnienia (w tym 0,2 sekundy) utrudniały zatrzymanie skryptu. Musiałem przytrzymać ⌥⇧⌘⎋, aby wymusić wyjście z TextEdit.
Ten ruch przeniósł się tylko raz:
źródło
Właśnie wykonałem kilka testów: AppleScript nie nadaje się do tego, o co pytasz, ponieważ jest on jednowątkowy. Dlatego wyjście z pętli w takiej sytuacji nie wydaje się możliwe.
Oto kod, który robi, co chcesz, ale bez wychodzenia z pętli.
Jeśli go uruchomisz, komputer zawiesi się, wysyłając do wielu zdarzeń.
źródło