Mavericks: ¿CÓMO AGREGAR el origen de input a través de plists / defaults?

Estoy tratando de automatizar mi configuration de OS X pero estoy atascado tratando de agregar programáticamente una nueva fuente de input o layout de keyboard.

Usualmente uso dos layouts: regular en los EE. UU. Y EE. UU. Internacional, entonces lo que estoy tratando de hacer es simplemente agregar el layout de los EE. UU. Internacional.

Esto es lo que noté hasta ahora. Cuando agrego manualmente el layout, veo que esta input se agrega a mi key AppleEnabledInputSources en la com.apple.HIToolbox com.apple.HIToolbox:

 --- a/def0.txt +++ b/def1.txt @@ -17,6 +17,11 @@ { "Bundle ID" = "com.apple.PressAndHold"; InputSourceKind = "Non Keyboard Input Method"; + }, + { + InputSourceKind = "Keyboard Layout"; + "KeyboardLayout ID" = 15000; + "KeyboardLayout Name" = "USInternational-PC"; } ); AppleInputSourceHistory = ( 

defaults read com.apple.HIToolbox esta salida haciendo los defaults read com.apple.HIToolbox por defaults read com.apple.HIToolbox . Puedo confirmar la misma adición abriendo directamente ~/Library/Preferences/com.apple.HIToolbox.plist .

Así que decidí que probablemente todo lo que tenía que hacer era simplemente agregar la misma input y todo funcionaría. Así que revertí la adición manual (y confirmé que la input del plist había desaparecido) y ahora intenté:

 $ defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '{InputSourceKind="Keyboard Layout"; "KeyboardLayout Name"="USInternational-PC"; "KeyboardLayout ID"=15000;}' 

Confirmo de nuevo a través de los defaults read por defaults read que agrega la misma input al plist, ¡pero no funciona!

Intenté eliminar cfprefsd y SystemUIServer e incluso reiniciar, pero ninguno de estos parece funcionar.

¿Alguien tiene una pista sobre lo que podría estar pasando aquí?

  • ¿Cómo evito que los files TGZ se descompriman automáticamente al downloadlos?
  • ¿Hay alguna forma de vincular las fonts?
  • ¿Cómo cambiar el comportamiento de las teclas de function al iniciar el juego Steam?
  • ¿Cómo controlar el order de los elementos de inicio para los usuarios al iniciar session?
  • ¿Dónde está el file config (properties de la aplicación) para la configuration de TimeMachine y la ruta excluye?
  • Después de destruir com.apple.safari en Mavericks, ¿hay algo más que pueda intentar restablecer Safari?
  • ¿Puedo evitar que el audio óptico salga de 'time out' cuando está inactivo?
  • ¿Cómo embellecer los files dict binarys?
  • One Solution collect form web for “Mavericks: ¿CÓMO AGREGAR el origen de input a través de plists / defaults?”

    Resulta que el formatting que utilicé para la input AppleEnabledInputSources era malo porque considera todo como una string , ¡pero el KeyboardLayout ID debe ser de tipo integer !

    Entonces, la forma correcta de hacerlo sería a través de XML:

     defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '<dict><key>InputSourceKind</key><string>Keyboard Layout</string><key>KeyboardLayout ID</key><integer>15000</integer><key>KeyboardLayout Name</key><string>USInternational-PC</string></dict>' 

    Después de ejecutar ese command y hacer un logout / login, parece que las cosas funcionan bien.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).