Tengo un simple AppleScript que creo que debería escribir un montón de teclas, pero el carácter de punto no se imprime en las máquinas virtuales de VMware Fusion. Esto es extraño porque mi clave de período (. ) ingresa un período como el normal en esas máquinas virtuales.
MCVE
Aquí está mi última versión que probé:
on run {input, parameters}
set file_text to "this another test: ... hello ..."
delay 0.3
repeat with ch in file_text
tell application "System Events" to keystroke ch
delay 0.1
end repeat
return input
end run
Construí esto como un servicio en Automator. Ejecuto esto yendo a mi aplicación, luego en la barra de título selecciono Servicios - > quicktype.
Comportamiento esperado
Simplemente debe escribir el texto this another test: ... hello ...
. En muchas aplicaciones, hace exactamente eso.
Comportamiento verdadero
En una máquina virtual de FreeBSD, al presionar . se muestra un período en el shell (como normal). Sin embargo, cuando se ejecuta la secuencia de comandos anterior, los puntos parecen retrocesos. Resultado final:
EnunamáquinavirtualdeWindows,.representaunpuntoenelBlocdenotas(comoesnormal).Sinembargo,cuandoseejecutaelscriptanterior,losperiodosparecenignorarseporcompleto.Resultadofinal:
Preguntas
¿Hay una manera de realmente emular presionar las teclas de una cadena de caracteres en AppleScript? Porque claramente la forma anterior no está haciendo eso.
¿Alguien sabe por qué ocurre el comportamiento que describí anteriormente? ¿Por qué funciona esto en TextMate y Terminal, y en otras aplicaciones mac, pero no en las máquinas virtuales de Fusion?