1 votos

Puede AppleScript automáticamente presione una tecla para mí en una aplicación?

Estoy tratando de dispositivos de un AppleScript que, automáticamente, pulse la tecla de flecha derecha para 1 segundo, luego la tecla de flecha izquierda para 1 segundo y se repite esta en un bucle infinito hasta que me interrumpan.

Aquí es lo que he encontrado hasta ahora, pero no es bastante el trabajo:

tell application "VisualBoyAdvance"
    repeat 100 times
        tell application "VisualBoyAdvance" to keystroke "124"
        delay 1
    end repeat     
end tell 

2voto

Puede repetir código de la clave de comandos hasta la aplicación situada en primer plano los cambios:

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

Más corto retrasos (incluyendo 0.2 segundos) hizo difícil detener la secuencia de comandos. Yo tenía que sostener ⌥⇧⌘⎋ para forzar el cierre de la edición de textos.

Esto movió a la izquierda, sólo una vez:

delay 1
tell application "System Events"
    key down (character id 28)
    delay 5
    key up (character id 28)
end tell
  • a la izquierda: 123 / 28
  • derecha: 124 / 29
  • abajo: 125 / 31
  • arriba: 126 / 30

1voto

Satanicpuppy Puntos 4902

Acabo de hacer algunas pruebas : AppleScript no es muy adecuado para lo que ustedes piden, ya que es de un Solo Subproceso. Por lo tanto, salir del bucle en tal situación no parece posible.

Aquí es un código que haga lo que quiera 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 se ejecuta a congelar la computadora mediante el envío a mucho de los eventos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X