0 votos

osascript para activar una tecla de acceso rápido con múltiples teclas modificadoras en OBS Streamlabs no está funcionando

Quiero activar una tecla de acceso rápido en OBS Streamlabs con applescript/osascript.

Así que esto funciona perfectamente y como se esperaba utilizando la tecla F17 (tengo un teclado más grande con un teclado numérico):

osascript -e "tell application \"System Events\" to key code 64"

Pero intentando

osascript -e "tell application \"System Events\" to key code 13 using {option down, shift down, command down}"

...no funciona.

Sin embargo, cuando escribo manualmente Opción-Mayúscula-Comando-W en el teclado, la tecla de acceso rápido se activa.

Esto es lo extraño: puedo activar la tecla de acceso directo si es más simple, como "comando-w":

osascript -e "tell application \"System Events\" to key code 13 using command down"

Al ejecutar este comando se activará la tecla de acceso rápido global command-w y se cerrará la aplicación actual.

Citar las llaves rizadas usadas con las teclas modificadoras compuestas no ayudó. También probé una combinación más simple, de 3 teclas:

osascript -e "tell application \"System Events\" to key code 13 using {control down, command down}"

Esto tampoco funcionó.

Entonces, ¿cómo puedo utilizar varias teclas modificadoras aquí?

0voto

StevieD Puntos 225

Bien, aquí hay una solución al problema. Desgraciadamente, esto no es realmente una respuesta, ya que no explica por qué, en el nivel inferior del sistema operativo, el problema existe en primer lugar. Simplemente se trata de evitar la limitación mediante asignación de pulsaciones de teclas con uno o varios modificadores a de una sola pulsación. Tal vez la gente que está más familiarizada con el teclado en los niveles inferiores del sistema operativo pueda utilizar esta solución para averiguar lo que puede estar sucediendo.

De todos modos, como se mencionó, OBS Streamlabs puede responder a las pulsaciones de teclas individuales como teclas de acceso rápido que se simulan con applescript. Por ejemplo, puedes decirle a OBS que reconozca el "1" del teclado numérico como una tecla de acceso rápido. El problema, por supuesto, es que el uso de una sola tecla como tecla de acceso rápido también generará ese carácter en el terminal o en cualquier otra aplicación en la que esté trabajando. Así que el truco es decirle a OBS que configure una tecla de acceso rápido para la tecla numérica 1 y luego reasignar una pulsación con una o varias teclas modificadoras a esa única pulsación de la tecla numérica 1.

La reasignación de bajo nivel puede realizarse con la aplicación gratuita Elementos del mosquetón

Así que, usando la aplicación, reasigné el command + Num-1 combinación a Num-1 . Así que ahora cuando ejecuto este simple script desde la línea de comandos...

osascript -e "tell application \"System Events\" to key code 83 using command down"

...no se imprime ningún carácter por la pulsación de la tecla simulada por la línea de arriba y la tecla de acceso directo ahora se activa.

Por cierto, no he podido averiguar cómo enviar la salida del teclado generada por un script de apple a /dev/null. No parece que sea posible, por lo que veo. Así que algo como command + Num-1 que crea una pulsación "silenciosa" es necesario.

Así, con este método, puedo tener una tecla de acceso rápido para todas las teclas poco utilizadas del teclado. También puedo utilizar todas las teclas de función que no están siendo utilizadas por otra aplicación.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X