Je utilise différents dispositions de clavier et je passe de l'un à l'autre en utilisant 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")
Cela fonctionnait bien jusqu'à la dernière mise à jour. Je ne parle pas vraiment AppleScript, mais un peu de test indique que SystemUIServer n'a plus accès à un élément de menu portant le nom "text input". En tentant
tell application "System Events" to tell process "SystemUIServer" to get value of attribute "AXDescription" of every menu bar item of menu bar 1
je reçois Siri, blutooth, time machine, clock
et quelques autres. Il semble donc que le menu de source d'entrée soit maintenant géré différemment, mais je n'ai aucune idée de comment ou comment le découvrir (toutes les recherches m'ont dirigé vers des scripts similaires au mien)
Mise à jour 2019/12/10
Les solutions suggérées jusqu'à présent ont toutes des défauts, dans un cas vous obtenez toujours un retard de 5 secondes qui est plutôt long et l'astuce consistant à tuer "System Events" comme indiqué dans un autre message ne semble pas toujours fonctionner, parfois cela entraîne un dépassement de délai pour le script (ce qui est encore pire que d'avoir le retard de 5 secondes tout le temps), donc il semble que cela nécessite toujours une meilleure solution