Estoy tratando de dispositivos un AppleScript que presionará automáticamente la tecla de flecha derecha durante 1 segundo, luego la tecla de flecha izquierda durante 1 segundo y repetirá esto en un ciclo sin fin hasta que lo interrumpa.
Esto es lo que he encontrado hasta ahora, pero no funciona del todo:
tell application "VisualBoyAdvance"
repeat 100 times
tell application "VisualBoyAdvance" to keystroke "124"
delay 1
end repeat
end tell
Puede repetir los comandos del código clave hasta que cambie la aplicación más avanzada:
delay 1
activate application "TextEdit"
tell application "System Events"
repeat while (path to frontmost application) is (path to application "TextEdit")
repeat 3 times
key code 123
delay 0.3
end repeat
repeat 3 times
key code 124
delay 0.3
end repeat
end repeat
end tell
Retrasos más cortos (incluidos 0,2 segundos) dificultaron la detención del guión. Tuve que mantener presionado ⌥⇧⌘⎋ para forzar el cierre de TextEdit.
Esto se movió a la izquierda solo una vez:
delay 1
tell application "System Events"
key down (character id 28)
delay 5
key up (character id 28)
end tell
Acabo de hacer algunas pruebas: AppleScript no se adapta bien a lo que pides, ya que es de un solo subproceso. Por lo tanto, salir del ciclo en tal situación no parece posible.
Aquí hay un código que hace lo que quiere pero sin salir del bucle.
tell application "VisualBoyAdvance" to activate
repeat while true
set mydate to current date
repeat while ((current date) - mydate < 1)
tell application "System Events" to keystroke (key code 124) -- right
end repeat
repeat while ((current date) - mydate < 1)
tell application "System Events" to keystroke (key code 123) -- left
end repeat
end repeat
Si lo ejecuta, congelará la computadora al enviar muchos eventos.
sin ladera
Ruscos
aksh1t