Puede verificar los componentes de la interfaz de la interfaz de usuario de la aplicación que está intentando ejecutar con el comando "Elementos de la interfaz de usuario"
tell application "System Events"
tell application process "System Preferences"
get the UI elements of the window "Keyboard"
end tell
end tell
luego puede profundizar en la lista para encontrar dónde está el elemento requerido
tell application "System Events"
tell application process "System Preferences"
get the UI elements of tab group 1 of window "Keyboard"
end tell
end tell
utilizando la aplicación del Inspector de accesibilidad (parte de Xcode) puede ayudarlo a identificar qué elemento inspeccionar
Para nuestros propósitos, parece que la ventana emergente en la que estamos interesados es la
botón emergente 2 del grupo de pestañas 1 de la ventana "Teclado"
Como es una ventana emergente, para interactuar con su menú, debe hacer clic en él y luego seleccionar el elemento que desea activar. Se puede hacer especificando la etiqueta completa del elemento del menú para hacer clic, prefiero simular las pulsaciones necesarias para cambiar la selección (ya sea la flecha hacia arriba o hacia abajo y luego la devolución) ...
tell application "System Preferences"
-- activate
reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell
delay 0.5 -- this depends on how fast is your mac
tell application "System Events"
tell application process "System Preferences"
set thePopup to pop up button 2 of tab group 1 of window "Keyboard"
tell thePopup
click
delay 0.2
if the value of thePopup begins with "App" or the value of thePopup begins with "Expanded" then
key code {125, 125, 125, 36}
else
key code {126, 36}
end if
end tell
end tell
end tell
quit application "System Preferences"
por cierto, en otra pregunta, alguien notó que si no activa la aplicación de Preferencias del Sistema, los scripts seguirán funcionando pero sin mostrar su ventana (aún verá el menú emergente siendo cambiado, sin embargo)