4 votos

Es posible cambiar a un teclado específicos de la distribución a través de `defaults`, *.plist o similar?

He descubierto un aplicables secuencia de comandos de shell usando osascript (AppleScript) automáticamente para cambiar la distribución del teclado de EE.UU. cuando MacVim activa (provocada por Teclado Maestro), y el sueco diseño 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 yo también prefiero ver el menú de entrada de texto en la barra de estado para flash abierto al cambiar de ida y vuelta.

Pregunta:

Hay una alternativa a mi AppleScript enfoque al instante el diseño del interruptor?

...Me imagino algo así como un defaults comando o la alteración de cualquiera .plist archivo como posibles candidatos para el puesto de trabajo, sólo no sé los detalles.

Dos cosas relacionadas con la respuesta(s) que estoy buscando:

  1. Estoy deseando tener el cambio se propagan instantáneamente – más rápido que el lento AppleScript ejecución.

  2. Prefiero no instalar nuevo software demonios para lograr esto. (Sugerencias siempre son bienvenidos, sin embargo, pero la 3 ª parte aplicaciones es probable que no califican como el aceptado la respuesta.)

2voto

Fuzzy Purple Monkey Puntos 702

~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist tiene un AppleSelectedInputSources clave, pero modificando directamente no parece realmente cambiar el diseño.

La mayoría de las soluciones publicado en MacScripter sólo el uso de secuencias de comandos de interfaz de usuario también.

Hay una pequeña Objective-C utilidad llamada changeInput a pesar de que debería cambiar el diseño de forma casi instantánea.

2voto

Bimawa Puntos 136

Puedo escribir un pequeño programa en objective-c a cubrir en un Alfred Flujo de trabajo, y usted puede probar: https://github.com/bimawa/alfredWorkFlows/blob/master/DirectlySwitchKeyboard.alfredworkflow Y ahora compilar binarios para la cli de 64 bits: https://github.com/bimawa/alfredWorkFlows/blob/master/Utilites/DirectlySwitchKeyboard/KeyboardSwitcher/bin/KeyboardSwitcher en enter esperar un argumento como "com.apple.keylayout.Estados Unidos" Con BTT de trabajo más rápido.

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