Creación de AppleScript para pulsaciones de teclas

0

He estado intentando hacer mi propio AppleScript para hacer que mi Mac presione C 13 veces, presione la tecla de flecha izquierda, presione C 13 veces, presione la tecla de flecha derecha y comience desde el principio varias veces a intervalos de 1,7 segundos.

Actualmente solo he logrado hacer un script de trabajo que hace que presione C varias veces. ¿Podría alguien ayudarme con esto, por favor? Esto es lo que tengo en este momento

set i to 0
repeat while i < 1.0E+300
    set i to i + 1
    delay 1.7
    tell application "System Events" to keystroke "c"
end repeat
    
pregunta kiara 18.08.2018 - 10:32

1 respuesta

0

Para comenzar, el número 1.0E+300 es un número realmente REALMENTE . Eso es más que la cantidad de átomos en todo el universo por varias órdenes.

Tu script no está muy lejos. Para presionar "c" trece veces, puede hacer esto:

repeat 13 times
    tell application "System Events" to keystroke "c"
    -- delay 0.1
end repeat

(es posible que necesite un pequeño retraso allí para registrar las pulsaciones de teclas individuales, pero puede intentarlo sin saber qué funciona);

o puedes hacer esto:

tell application "System Events" to keystroke "ccccccccccccc"

que es el equivalente del bucle de repetición sin el retraso.

Las teclas de flecha izquierda y derecha son key code 123 y key code 124 , respectivamente. Entonces, agregando aquellos entre las pulsaciones de teclas:

tell application "System Events"
    keystroke "ccccccccccccc"
    delay 0.1
    key code 123 -- left arrow
    delay 0.1
    keystroke "ccccccccccccc"
    delay 0.1
    key code 124 -- right arrow
end tell

O:

tell application "System Events"
    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 123 -- left arrow
    delay 0.1

    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 124 -- right arrow
end tell

Finalmente, hacer este anuncio infinito en un bucle a intervalos de 1,7 segundos, producirá algo parecido a esto:

tell application "System Events" to repeat
    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 123 -- left arrow
    delay 0.1

    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 124 -- right arrow

    delay 1.7
end repeat

Tenga en cuenta que el bucle de repetición más exterior no tiene while , until o times para limitar su continuación. Se repetirá para siempre, hasta que detenga el script manualmente.

También no tuve en cuenta los retrasos de 0,1 segundos en el retraso general de 1,7 segundos. Los retrasos más pequeños excederán 1.7 segundos en total, pero te permitiré ajustar los tiempos según tus necesidades.

    
respondido por el CJK 18.08.2018 - 13:53

Lea otras preguntas en las etiquetas