Sto tentando di automatizzare la configurazione di OS X, ma sono bloccato a cercare di aggiungere una nuova sorgente di input o un layout di tastiera.
Di solito uso due layout: regolari US e US International, quindi quello che sto cercando di fare è semplicemente aggiungere il layout US International.
Ecco cosa ho notato finora. Quando aggiungo manualmente il layout, vedo che questa voce viene aggiunta alla mia chiave AppleEnabledInputSources
su 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 = (
Ho ottenuto questo risultato facendo defaults read com.apple.HIToolbox
. Posso confermare la stessa aggiunta aprendo direttamente ~/Library/Preferences/com.apple.HIToolbox.plist
.
Quindi ho deciso che probabilmente tutto ciò che dovevo fare era aggiungere la stessa voce e tutto funzionerebbe. Così ho ripristinato l'aggiunta manuale (e ho confermato che la voce dal plist era sparita) e ora ho provato:
$ defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add '{InputSourceKind="Keyboard Layout"; "KeyboardLayout Name"="USInternational-PC"; "KeyboardLayout ID"=15000;}'
Confermando nuovamente tramite defaults read
diffs che aggiunge la stessa voce al plist, ma non funziona!
Ho provato a uccidere cfprefsd
e SystemUIServer
e persino a riavviare, ma nessuno di questi sembra funzionare.
Qualcuno ha idea di cosa potrebbe accadere qui?