Presiona automáticamente una tecla cada 60 segundos

¿Es posible a través de Automator, una aplicación, applescript, etc. presionar automáticamente una tecla (es decir, "g") cada 60 segundos?

Respuestas (2)

Puede hacer esto en AppleScript, si ha habilitado el acceso para dispositivos de asistencia:

tell application "System Events" to keystroke "," using command down

Esto (obviamente) invocará cmd- ,.

Si, por alguna razón, no puede habilitar el acceso para dispositivos de asistencia, entonces es bastante fácil hacerlo en el código (creando CGEventRefy luego publicándolo en el sistema, esencialmente). Si desea ayuda con eso, diríjase a stackoverflow.com, donde se ha hecho esa pregunta varias veces.

En cuanto a hacer que esto suceda cada 60 segundos, puede convertirlo en un agente de lanzamiento y dejar que launchd lo haga por usted:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.stackexchange.apple.12692</string>
    <key>Program</key>
    <string>/usr/bin/osascript</string>
    <key>ProgramArguments</key>
    <array>
        <string>osascript</string>
        <string>-e</string>
        <string>tell application "System Events" to keystroke "," using command down</string>
    </array>
    <key>ServiceDescription</key>
    <string>Auto Keypress</string>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Second</key>
        <integer>0</integer>
    </dict>
</dict>
</plist>

Mezcle eso en ~/Library/LaunchAgents y debería estar listo para comenzar (una vez que cargue el plist y/o cierre sesión y vuelva a iniciar sesión).

@Dave gracias por su respuesta, desafortunadamente parece que no puedo hacer que esto funcione. Habilité el acceso para AD y guardé su XML como un archivo .plist en mi carpeta USER/Library/LaunchAgents. Vuelva a cerrar sesión, abra TextEdit y déjelo funcionar durante un par de minutos. Sin coma "," se presionó la tecla. ¿Qué estoy haciendo mal?
@Ryan, es posible que haya estropeado un poco el plist, pero parece funcionar para mí en mi sistema. También puede intentar hacerlo launchctl load ~/Library/LaunchAgents/filename.plisten Terminal para cargarlo explícitamente.
@Dave: eso funcionó. ¡Gracias! Una última pregunta: ¿cómo puedo cambiarlo de "Comando"+"," a simplemente "g"? Intenté editar el archivo .plist pero nada parece cambiar el comportamiento.
@Ryan cuando cambie el plist, tendrá que "descargarlo" y "cargarlo" nuevamente.
@Dave ¿Cómo hago exactamente eso? ¿Simplemente cambie su comando de Terminal (arriba) de "cargar" a "descargar"?
@Ryan exactamente :)
@Dave, ¡esto está funcionando muy bien! ¿Hay alguna posibilidad de que sepa cómo acelerarlo cada 10 segundos (en lugar de 60)?

Use "Watch Me Do" para ingresar "G", luego use la acción de pausa para hacer una pausa de 60 segundos, luego la acción de bucle y seleccione "Bucle automáticamente".