1 votos

Script para alternar entre las teclas de función (con Touchbar)

Estoy tratando de escribir un script para alternar entre las teclas Fn y controles de aplicaciones en la Touch Bar usando macOS High Sierra. Hay algunas aplicaciones por ahí que dicen que pueden hacerlo, pero ninguna parece funcionar para la Touch Bar. Así que ahora estoy intentando escribir un script que abra las Preferencias del Sistema, configuraciones de teclado y alternar la configuración de la Touch Bar. Hasta ahora tengo el código a continuación que alterna "Ajustar el brillo del teclado en ambientes con poca luz". Solo necesito ajustar para seleccionar una opción del menú desplegable de la Touch Bar.

tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.keyboard"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell

quit application "System Preferences"

introducir descripción de la imagen aquí

2voto

Gio Valerio Puntos 91

Puedes verificar los componentes de la interfaz de usuario de la aplicación con la que estás intentando hacer un script con el comando "elementos de UI"

tell application "System Events"
    tell application process "Preferencias del Sistema"
        obtener los elementos de UI de la ventana "Teclado"
    end tell
end tell

luego puedes explorar la lista para encontrar el elemento requerido

tell application "System Events"
    tell application process "Preferencias del Sistema"
        obtener los elementos de UI del grupo de pestañas 1 de la ventana "Teclado"
    end tell

de hecho, utilizando la aplicación Accessibility Inspector (parte de Xcode) puede ayudarte a identificar qué elemento inspeccionar

Para nuestros propósitos, parece que el menú desplegable en el que estamos interesados es el botón desplegable 2 del grupo de pestañas 1 de la ventana "Teclado"

Dado que es un menú desplegable, para interactuar con su menú, tienes que hacer clic en él y luego seleccionar el elemento que deseas activar. Se puede hacer especificando todo el etiqueta del elemento de menú a hacer clic, yo preferí simular las pulsaciones de teclas necesarias para cambiar la selección (ya sea la flecha arriba o abajo y luego el retorno)...

tell application "Preferencias del Sistema"
    -- activar
    revelar ancla "pestañaTeclado" del panel id "com.apple.preference.keyboard"
end tell

retraso 0.5 -- esto depende de la velocidad de tu Mac

tell application "System Events"
    tell application process "Preferencias del Sistema"
        establecer elPopup en botón desplegable 2 del grupo de pestañas 1 de la ventana "Teclado"

        decirle a elPopup
            clic
            retraso 0.2

            si el valor de elPopup comienza con "App" o el valor de elPopup comienza con "Expanded" then
                código de tecla {125, 125, 125, 36}
            sino
                código de tecla {126, 36}
            fin si

        end tell

    end tell
end tell

cerrar aplicación "Preferencias del Sistema"

por cierto, en otra pregunta, alguien notó que si no activas la aplicación de Preferencias del Sistema, los scripts seguirán funcionando pero sin mostrar su ventana (aunque seguirás viendo el menú desplegable cambiándose)

0voto

user3439894 Puntos 5883

No estoy en posición de probarlo, sin embargo, el siguiente ejemplo de AppleScript es cómo lo escribiría.

  • Con click pop up button n, cambia n al número correcto.
    • Ejemplo: click pop up button 2
  • Con click menu item n, cambia n al número correcto, o utiliza el nombre de menú.
    • Ejemplos: click menu item 1 o click menu item "F1, F2, etc. Keys"
    • Ten en cuenta que debido a que no puedo probarlo, en este ejemplo, 1 puede no ser igual al nombre mostrado.

Determina el valor correcto para n en ambos click de comandos, reemplazándolo según sea necesario.


Ejemplo de AppleScript código:

decir aplicación "Preferencias del Sistema"
    revelar anclaje "keyboardTab" del panel id "com.apple.preference.keyboard"
    activar
    retraso 1
    decir aplicación "Eventos del Sistema"
        decir grupo de pestañas 1 de ventana 1 del proceso de la aplicación "Preferencias del Sistema"
            click pop up button n
            retraso 0.2
            click menu item n
            retraso 0.2
        fin decir
    end decir
    salir
end decir

Nota: El ejemplo de AppleScript código es solo eso y no utiliza ningún manejo de errores y está destinado solo a mostrar una de las muchas formas de lograr una tarea. Siempre es responsabilidad del Usuario agregar/utilizar el manejo de errores apropiado según sea necesario/deseado.

También ten en cuenta que el valor de los retraso comandos puede necesitar ajustarse para tu sistema y/o pueden ser necesarios o no otros retraso comandos adicionales. Los retraso comandos se incluyen aquí como un ejemplo de lo que puede/necesitar ser necesario dependiendo de más de un factor.

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