¿Cómo usar Terminal para enviar pulsaciones de teclas?


12

¿Hay alguna manera para que Terminal simule presionar varias teclas a la vez? Por ejemplo, Shift + Ctrl + R?

Estoy sshingresando a OS X desde un cliente de Windows (PuTTY) y me pregunto si necesito configurar el cliente o si hay una forma nativa para que OS X emule estos comandos en el extremo receptor.


Se trata de usar la terminal para enviar atajos de teclado. Específicamente, necesito enviar ctrl + opt + shift + e. Necesito hacerlo sin AppleScript, ya que es desde una computadora con Windows, usando lo que supongo que es algún tipo de simulador de Terminal o SSH de cmd.
user84019

AppleScript funciona sobre SSH usando osascript. La siguiente respuesta es totalmente funcional a través de SSH, siempre que haya una GUI en la máquina OS X
grg

Respuestas:


8

Puede usar AppleScript en la Terminal:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'

Cuando intento eso, ¿acabo de obtener una nueva línea con ">"?
user84019

¿Es específico del programa? Por ejemplo, si quiero escribir "E" en TextEdit, ¿escribiría "osascript -e 'tell application" System Events "para presionar la tecla" e "usando {shift down}'"?
user84019

2
Bien, estoy tratando de escribir ctrl + opt + shift + e, y tengo "osascript -e 'tell application" System Events "para presionar la tecla" e "usando {control abajo, shift abajo, opción abajo}'" pero me dice "48:55: error de sintaxis: un identificador no puede ir después de este" "". (-2740) "
user84019

Las pulsaciones de teclas se ingresan exactamente como serían si se escribieran manualmente; No son específicos de cada aplicación. Si desea ingresar una pulsación de tecla dentro de una aplicación, use 'osascript -e' diga a la aplicación "AppName" para activar '. Esto iniciará la aplicación si aún no está abierta y también la pondrá en primer plano (es decir, su nombre se muestra en la barra de menú). Luego puede usar el código @grg provisto en su respuesta anterior.
Peter Schorn

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.