Estoy tratando de automatizar la configuración de mi OS X, pero estoy atascado tratando de agregar mediante programación una nueva fuente de entrada o distribución de teclado.
Por lo general, uso dos diseños: regular de EE. UU. y EE. UU. internacional, por lo que lo que estoy tratando de hacer es agregar el diseño de EE. UU.
Esto es lo que noté hasta ahora. Cuando agrego manualmente el diseño, veo que esta entrada se agrega a mi clave AppleEnabledInputSources
en el com.apple.HIToolbox
plist:
--- 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 = (
Obtuve esta salida haciendo 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 entrada y todo funcionaría. Así que revertí la adición manual (y confirmé que la entrada del plist se había ido) y ahora lo intenté:
$ defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '{InputSourceKind="Keyboard Layout"; "KeyboardLayout Name"="USInternational-PC"; "KeyboardLayout ID"=15000;}'
Confirmo nuevamente a través de defaults read
diffs que agrega la misma entrada a la lista, ¡pero no funciona!
Intenté matar cfprefsd
y SystemUIServer
e incluso reiniciar, pero ninguno de estos parece funcionar.
¿Alguien tiene una pista sobre lo que podría estar pasando aquí?