2 votos

Applescript - Cuál es la ruta de este "botón" en Preferencias del Sistema (Teclas de Función) / Cómo hacer referencia al botón Teclas de Función en código

He estado intentando escribir un script en AppleScript para facilitarme la activación y desactivación de las Teclas de Función, pero no encuentro la ruta del "botón" de Teclas de Función en Preferencias del Sistema.

System Preferences - keyboard - shortcuts

Este es el código que he encontrado hasta ahora:

tell application "System Settings"
    activate
end tell

delay 0.1

tell application "System Events"
    tell process "System Settings"
        click menu item "Keyboard" of menu "View" of menu bar 1
    end tell
end tell

delay 0.5

tell application "System Events"
    click button 1 of group 2 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Keyboard" of application process "System Settings"
end tell

delay 0.5

tell application "System Events"
    click button ???
end tell

Se abre el botón "Atajos de teclado..." en la ventana "Teclado".

Gracias.

2voto

siva Puntos 23

Apple Inspector de accesibilidad es realmente útil para determinar la jerarquía de un elemento de interfaz de usuario.

Por lo tanto, a partir de esta jerarquía podemos encontrar el elemento sobre el que hacer clic.

click UI element 1 of UI Element 1 of row 11 of outline 1 of scroll area 1 of group 1 of splitter group 1 of group 1 of sheet 1 of window "Keyboard" of application process "System Settings"

Todo el script puede entonces tener este aspecto:

tell application "System Settings" to activate
tell application "System Events" to tell application process "System Settings"
    repeat
        try
            click menu item "Keyboard" of menu "View" of menu bar 1
            exit repeat
        end try
    end repeat
    repeat
        try
            set keyboard to splitter group 1 of group 1 of window "Keyboard"
            click button 1 of group 2 of scroll area 1 of group 1 of group 2 of keyboard
            exit repeat
        end try
    end repeat
    repeat
        try
            click UI element 1 of UI element 1 of row 11 of outline 1 of scroll area 1 of group 1 of keyboard
            exit repeat
        end try
    end repeat
end tell

Si estás pensando en distribuir este script ten en cuenta que como mi Mac tiene Touch Bar el segundo clic tenía que ser button 2 en lugar de button 1 .

0voto

Fanni Gao Puntos 21

En realidad he encontrado otra solución

En primer lugar, he establecido un nuevo App Shortcut con una combinación de teclas como shift + option + F para abrir/presionar Teclas de Función en Preferencias del Sistema, y lo integré en mi script.

Aquí tiene una foto de referencia (lo siento, está en húngaro):

Screenshot of System Preferences

tell application "System Settings"
    activate
end tell

delay 0.1

tell application "System Events"
    tell process "System Settings"
        click menu item "Billentyuzet" of menu "Nézet" of menu bar 1
    end tell
end tell

delay 0.5

tell application "System Events"
    click button 1 of group 2 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Billentyuzet" of application process "System Settings"
end tell

delay 1

tell application "System Events"
    keystroke "f" using {shift down, option down}
end tell

tell application "System Events"
    click checkbox "Az F1, F2 stb. billentyuk használata szabványos funkciógombként" of group 1 of scroll area 1 of group 2 of splitter group 1 of group 1 of sheet 1 of window "Billentyuzet" of application process "System Settings" of application "System Events"
end tell

Sería así en inglés:

tell application "System Settings"
    activate
end tell

delay 0.1

tell application "System Events"
    tell process "System Settings"
        click menu item "Keyboard" of menu "View" of menu bar 1
    end tell
end tell

delay 0.5

tell application "System Events"
    click button 1 of group 2 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Keyboard" of application process "System Settings"
end tell

delay 1

tell application "System Events"
    keystroke "f" using {shift down, option down}
end tell

tell application "System Events"
    click checkbox "the exact name of the checkbox, the one with the F1, F2 etc. words in it" of group 1 of scroll area 1 of group 2 of splitter group 1 of group 1 of sheet 1 of window "Keyboard" of application process "System Settings" of application "System Events"
end tell

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