Descubrí un script de shell viable con osascript
(AppleScript) para cambiar automáticamente a la distribución del teclado de los EE. UU. cuando se activa MacVim (activada por el Teclado Maestro), y la distribución sueca cuando se desactiva:
osascript > /dev/null 2>&1 <<-RAW
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("Svensk - Pro")
RAW
exit $?
Sin embargo, AppleScript es realmente lento y tampoco prefiero ver el menú de entrada de texto en la barra de estado para que se abra de par en par al cambiar de un lado a otro.
Pregunta:
¿Existe una alternativa a mi enfoque de AppleScript para al instante cambiar el diseño?
... Imagino algo como un comando defaults
o la modificación de cualquier archivo .plist como posibles candidatos para el trabajo, solo que no conozco ninguna información específica.
Dos cosas relacionadas con las respuestas que estoy buscando:
-
Estoy interesado en que el cambio se propague al instante, más rápido que la lenta ejecución de AppleScript.
-
Prefiero no instalar nuevos daemons de software para lograr esto. (Sin embargo, las sugerencias siempre son bienvenidas, pero es probable que las aplicaciones de terceros no se consideren como la respuesta aceptada).