Kann ich ein benutzerdefiniertes Tastaturlayout (das nicht standardmäßig in OS X enthalten war) als Systemstandard festlegen – sogar für den Anmeldebildschirm?
Dies funktioniert unter OSX 10.9 Mavericks mit einem Tastaturlayout, das ich mit Ukulele erstellt habe. Angenommen, Sie haben das Layout bereits in Ihrem System installiert, melden Sie sich bei Ihrem Konto an und aktivieren Sie Ihr benutzerdefiniertes Tastaturlayout.
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Wenn Sie beabsichtigen , diese Änderung mit einem Texteditor (z. B. TextWrangler) anstelle von XCode (das über einen speziellen grafischen Plist-Editor verfügt) vorzunehmen, führen Sie auch Folgendes aus :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Öffnen Sie nun /tmp/com.apple.HIToolbox.plist
im Texteditor oder in XCode.
In der gesamten Datei finden Sie mehrere Erwähnungen eines KeyboardLayout ID
Schlüssels, gefolgt von einer Ganzzahl und KeyboardLayout Name
gefolgt von einer Zeichenfolge. Ändern Sie diese Zeichenfolgen in den Namen Ihres benutzerdefinierten Tastaturlayouts und die id-Ganzzahlen in die ID Ihres Layouts (der einfachste Weg, die richtigen Werte zu finden, ist ein Vergleich mit Ihren Benutzereinstellungen in der Datei ~/Library/Preferences/com.apple.HIToolbox.plist
.
Auch der Wert des Schlüssels AppleCurrentKeyboardLayoutInputSourceID
muss entsprechend geändert werden (wahrscheinlich in etwas wie org.unknown.keylayout.NameOfYourLayout
). Auch diesen Wert finden Sie in Ihrer lokalen Einstellungsdatei.
Sobald diese Änderungen vorgenommen wurden, speichern Sie die Datei und gehen Sie zurück zum Terminal. Um auf Nummer sicher zu gehen, können Sie eine Kopie der Originaldatei com.apple.HIToolbox.plist
erstellen, falls Sie einen Fehler gemacht haben und ein Rollback durchführen müssen. So speichern Sie beispielsweise eine Kopie in Ihrem Dokumentenordner :
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Installieren Sie dann Ihre Änderung wie folgt:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Es ist nicht erforderlich, Ihre Datei mit wieder aus dem Textformat zu konvertieren, plutil
wenn Sie dies zuvor getan haben.)
Beenden Sie das Terminal und starten Sie den Computer neu (Abmelden reicht nicht aus: Die Datei wird nicht erneut gelesen). Nach dem Neustart sollten Sie Ihr Tastaturlayout im Anmeldebildschirm haben.
HINWEIS: Es ist möglich, dass es ausgereicht hätte, die Datei com.apple.HIToolbox.plist
von ~/Library/Preferences/
nach zu kopieren /Library/Preferences/
, aber in meinem Fall hat sie mehr Einträge, also habe ich beschlossen, auf Nummer sicher zu gehen und einfach die vorhandene Datei zu ändern.
com.apple.HIToolbox.plist
so sieht meine Datei nach den Änderungen aus: gist.github.com/anonymous/d18bae208b5cf12e48beIch habe diesen alten MacWorld-Tipp gefunden , der vorschlug, den Einrichtungsassistenten erneut auszuführen:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Zuerst dachte ich, dass dies in Lion nicht mehr unterstützt wird, da das Ausführen dieses Befehls keine Wirkung zu haben schien. Erst nachdem ich diese Frage gepostet hatte, bemerkte ich, dass der Befehl einen Tippfehler enthält. Die Leerzeichen müssen ordnungsgemäß maskiert werden, oder die Position der Binärdatei muss in Anführungszeichen gesetzt werden. Aus diesem Grund funktioniert der von mir verlinkte Tipp nicht.
Hier ist der richtige Befehl:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Alternativ würde auch das funktionieren:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Ein weiteres Problem, das auf der von mir verlinkten Seite nicht erwähnt wurde: Das benutzerdefinierte Tastaturlayout muss in /Library/Keyboard Layouts/
(dh cd /Library/Keyboard\ Layouts
) installiert werden, nicht ~/Library/Keyboard Layouts
in , damit es im Auswahlbildschirm für das Tastaturlayout des Setup-Assistenten angezeigt wird.
Update: Ab OS X 10.8 müssen Sie einen zusätzlichen Befehl ausführen (dh zuerst eine Datei entfernen):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Außerdem müssen Sie ein neues Benutzerkonto erstellen, um den Einrichtungsassistenten abzuschließen – aber keine Sorge, Sie können das neue Konto anschließend löschen.
Dieser Trick funktioniert in neueren Versionen von OS X 10.8 nicht mehr.
Update: Hier ist alles, was ich über benutzerdefinierte Tastaturlayouts unter OS X weiß .
Ich verwende ein benutzerdefiniertes Tastaturlayout, das mit Ukelele in OS X 10.8.5 erstellt wurde . Ich habe das Tastaturlayout des Anmeldebildschirms mit den folgenden Schritten geändert:
Users & Groups
einSystem Preferences
Login Options
unten im linken Bereich ausShow Input menu in login window
Other input sources
aus dem Eingabemenü, das sich oben rechts befindetShow Input menu in login window
Gehen Sie zurück und deaktivieren Sie das , um weitere Änderungen am Anmeldelayout zu verhindernIch fand diese Methode viel einfacher, als einige zufällige .plist
Dateien zu bearbeiten und Befehle im Terminal auszuführen.
Diese Methode erfordert möglicherweise Administratorzugriff, da Sie möglicherweise den rechten Bereich in Schritt 3. oben entsperren müssen, indem Sie unten auf das Schlosssymbol klicken.
Update: Leider scheint dies unter OS X 10.9 nicht zu funktionieren.
Nach der Installation von macOS Sierra wurde mein benutzerdefiniertes Layout jedes Mal nach der Anmeldung in meinem Konto auf die Standardeinstellung zurückgesetzt.
Apple hat neue Tastaturen hinzugefügt und die ID stand in Konflikt mit der von mir verwendeten Tastatur.
Um zu überprüfen, ob Sie dieses Problem haben, führen Sie Folgendes aus:
sudo touch /Library/Keyboard\Layouts/
Die Ausgabe:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
Die Ausgabe behauptet, dass es etwas behebt, aber es hat tatsächlich nichts getan. Ich musste das Layout noch selbst bearbeiten und es funktionierte wie zuvor.
Mathias Bynens
Bert Goethals