¿Cómo hacer que las teclas especiales de Microsoft Keyboard ejecuten comandos osascript en OS X?

1

Estoy tratando de hacer que (1) la tecla especial abra una nueva ventana de terminal.

Lo vinculé al archivo /Users/taw/bin/new_term, que contiene:

#!/bin/sh
exec osascript -e 'tell application "Terminal" to do script "cd ."'

Esto hace el truco, excepto que también abre una ventana de Terminal con esto (aunque Terminal.app está configurado para cerrar siempre las ventanas cuando finalizan los procesos):

Last login: Thu Mar 11 19:41:29 on ttys000
/Users/taw/bin/new_term ; exit;
~$ /Users/taw/bin/new_term ; exit;
tab 1
logout

[Process completed]

¿Cómo hago que todo funcione correctamente? (posiblemente usando una forma diferente a la que he estado intentando hasta ahora)

taw
fuente

Respuestas:

1

Debido a que el software Microsoft IntelliType Pro en OS X usa el opencomando para ejecutar lo que usted le pida, puede ser difícil hacer que ejecute un código AppleScript arbitrario.

Descubrí que si bien los scripts de shell y similares no funcionan, si crea una aplicación Automator (no AppleScript) con una sola Acción Run AppleScript, puede apuntar IntelliType para ejecutar su Aplicación Automator. Asegúrese de crear una aplicación, no un flujo de trabajo.

Quería una clave de favoritos para controlar iTunes, así que usé lo siguiente dentro de mi Run AppleScriptAcción, que funcionó.

on run {input, parameters}

    tell application "iTunes" to next track

    return input
end run
Adam Smith
fuente
0

Haga que su clave especial se ejecute en su /Applications/Utilities/Terminal.app/Contents/MacOS/Terminallugar.

(Por curiosidad, ¿cómo se vincula una tecla a un comando?)

Editar:

Trato de mantener todo lo que Microsoft esté alejado de Mac OS, porque realmente no parecen asimilar el camino de Mac. El hecho de que lo esté usando openpara todo es prueba de esto.

Entonces, si fuera usted, extraería el controlador de teclado de Microsoft y usaría Spark en su lugar:

http://www.brighthub.com/computing/mac-platform/reviews/30244.aspx

Si realmente quieres usar AppleScript para hacer lo que estás haciendo, quizás esto sea útil:

http://lambie.org/2007/11/03/tabs-in-terminal-using-applescript-on-leopard/

También puede enganchar parte del AppleScript desde el último enlace y activarlo con una tecla de acceso rápido usando Spark.

Alex
fuente
Los controladores de teclado de Microsoft me permiten vincular teclas especiales (o cualquier tecla) a un archivo arbitrario o URL. Creo que intenta abrir el archivo usando el comando de apertura genérico. Al iniciar /Aplicaciones/Utilidades/Terminal.app/Contents/MacOS/Terminal parece comenzar un nuevo proceso, no es lo que quiero. Y luego abre la misma ventana [Proceso completado].
Taw
Spark no ve teclas especiales en el teclado de Microsoft en absoluto.
Taw
Entonces no uses las teclas especiales. Usa command-control-0 o lo que quieras.
Alex
0

Use una de las opciones para iniciar un programa o ejecutar un script sin abrir la Terminal que describo en esta respuesta .


Para abrir una nueva ventana de terminal, o simplemente Terminal con una ventana predeterminada, puede intentar adaptar esta solución .

Daniel Beck
fuente