Uso de diferentes distribuciones de teclado y cambiar entre ellos mediante un simple script
on changeKeyboardLayout(layoutName)
tell application "System Events" to tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
end tell
end changeKeyboardLayout
changeKeyboardLayout("German LaTeX2")
Que funcionó bien hasta la última actualización. Yo realmente no hablan de AppleScript, pero un poco de las pruebas indica que SystemUIServer ya no tiene acceso a un elemento de menú con el nombre de "entrada de texto". Tratando de
tell application "System Events" to tell process "SystemUIServer" to get value of attribute "AXDescription" of every menu bar item of menu bar 1
me da Siri, blutooth, time machine, clock
, y en algunos otros. Así que de alguna manera el menú de fuente de entrada es administrado de forma diferente ahora, pero ahora tengo ni idea de cómo o cómo averiguar (todas las búsquedas me señaló secuencias de comandos similar a la mía)
Actualización 2019/12/10
Las soluciones sugeridas hasta ahora ambos tienen defectos, en un caso que siempre se obtiene un retardo de 5 segundos, lo que es bastante largo y el truco con el asesinato de "Eventos del Sistema" tomado de otra publicación no siempre parece funcionar, a veces resulta en la secuencia de comandos de conseguir un tiempo de espera (que es incluso peor que tener los 5 segundos de retardo todo el tiempo), así que parece como si este todavía está en necesidad de una solucion mejor