¿Ejecutar un AppleScript que requiere pulsaciones de teclas mientras la pantalla está bloqueada?

Tengo un AppleScript muy simple cuyo trabajo es escribir algunas palabras en un cuadro de texto.

tell application "TextEdit"
  activate
end tell
delay 0.2
tell application "System Events"
  keystroke "Hello World!"
  keystroke return
end tell

Quiero que este script se ejecute cada vez que se active mi protector de pantalla y nuevamente cada vez que se desactive. Instalé ScriptSaver y funciona perfectamente. Hasta ahora, todo bien.

Excepto que mi pantalla se bloquea cuando se activa el protector de pantalla. Esto significa que cuando mi secuencia de comandos le dice a TextEdit que se active, la computadora abre su ventana de inicio de sesión y piensa que estoy escribiendo "¡Hola mundo!" como contraseña. No es ideal.

Intenté hacer que el protector de pantalla pidiera una contraseña después de 5 segundos, en lugar de hacerlo inmediatamente, pero eso no fue bueno: el proceso de activación de TextEdit simplemente activa la pantalla nuevamente.

¿Hay alguna manera de activar TextEdit y escribir palabras en segundo plano , sin que mi computadora piense que estoy tratando de desbloquear la pantalla?

¿Estás atado a usar AppleScript?
@Daniel: En absoluto; es justo con lo que estoy más familiarizado.

Respuestas (2)

No, no creo que puedas hacer esto de la manera que quieras.

  1. Cada interacción humana en una PC durante Screensaver intenta desactivarlo. (Como mover el mouse, presionar una tecla, por ejemplo)

  2. Applescript se usa la mayor parte del tiempo para crear scripts en alguna GUI (como en su caso -> decirle a la aplicación TextEdit -> no hace nada más que abrir Textedit como lo haría haciendo doble clic)

Entonces, para traerte una forma que debería funcionar:

haga un applescript que escriba el texto en un archivo directamente y luego abra el archivo con el texto si es necesario.

algo como esto:

tell application System Events
    do shell script "echo 'your text that you wanna type' > /path/to/the/file/where/the/text/stands/in"
end tell

tell application TextEdit
    open /path/to/the/file/where/the/text/stands/in
end tell

Has probado (no sé si funcionará):

activate application "TextEdit"
delay 0.2
tell application "System Events" to tell process "TextEdit" to keystroke "Hello World!"