Pegue texto con AppleScript sin simular cmd-v con System Events

1

Me gustaría poder usar AppleScript para pegar el texto del portapapeles en la aplicación en primer plano. Cada solución que puedo encontrar utiliza en línea tell app "System Events" to keystroke "v" using command down. Sin embargo, estoy ejecutando esta secuencia de comandos con un método abreviado de teclado, por lo que es posible que ya esté presionando las teclas cuando se active este comando, lo que hace que el pegado falle porque se presionan más teclas que solo cmdy v. Sé que puedo usar delaypara darme tiempo para soltar las teclas, pero eso se siente como un hack (e idealmente la pasta sería instantánea).

¿Hay alguna manera de usar AppleScript para pegar sin simular el acceso directo cmd-v? Gracias.

Editar: Además, si hay una manera de usar AppleScript para copiar el texto seleccionado sin simular cmd-c, eso también sería muy apreciado.

BallpointBen
fuente
¿Está bien usar el portapapeles o necesita estar sin el portapapeles?
JMY1000
Una solución sin el portapapeles (como establecer una variable en una cadena y luego imprimirla) también está bien.
BallpointBen

Respuestas:

1

Logré encontrar la siguiente solución.

tell application "System Events" to tell process (name of current application)
    tell menu bar item "Edit" of menu bar 1
        click menu item "Paste" of menu 1
    end tell
end tell

delay 0.1

El retraso está ahí para darle tiempo al sistema para copiar antes de usar el portapapeles.

BallpointBen
fuente