Legen Sie ein benutzerdefiniertes Tastaturlayout als Systemstandard fest – sogar für den Anmeldebildschirm

Kann ich ein benutzerdefiniertes Tastaturlayout (das nicht standardmäßig in OS X enthalten war) als Systemstandard festlegen – sogar für den Anmeldebildschirm?

@Lohoris: Fertig!
Bitte aktualisieren Sie die Frage b und entfernen Sie den Update-Hinweis. Die beste Antwort funktioniert jetzt auch mit den neuesten OSX-Versionen

Antworten (4)

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.plistim Texteditor oder in XCode.

In der gesamten Datei finden Sie mehrere Erwähnungen eines KeyboardLayout IDSchlüssels, gefolgt von einer Ganzzahl und KeyboardLayout Namegefolgt 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 AppleCurrentKeyboardLayoutInputSourceIDmuss 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.plisterstellen, 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, plutilwenn 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.plistvon ~/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.

Versuchen Sie dies jetzt, da die andere Antwort nicht funktioniert hat. FWIW, com.apple.HIToolbox.plistso sieht meine Datei nach den Änderungen aus: gist.github.com/anonymous/d18bae208b5cf12e48be
Hat einwandfrei funktioniert, danke! Es tut mir leid, dass ich Ihnen das Kopfgeld nicht mehr geben kann, also richte ich einfach ein neues ein, nur um Sie für diese Antwort zu belohnen.
Lief wie am Schnürchen. Toller Tipp!
Das ist fantastisch. Ich bin festgefahren, weil meine belgische Tastatur standardmäßig zu lange eingestellt ist! Ich wünschte, ich könnte Ihnen mehrere Stimmen geben!
Scheint in Yosemite nicht zu funktionieren, hat es jemand anderes versucht?
Es scheint auch bei El Captain nicht zu funktionieren --- oder konnte jemand es nachbauen?
Ich habe das in El Capitan ohne Probleme auf zwei verschiedenen Computern genauso gemacht.

Ich 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 Layoutsin , 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 habe Ihre Schritte für Mountain Lion 10.8 befolgt und den Setup-Assistenten ausgeführt, um mein Standard-Tastaturlayout auf Dvorak einzustellen, und versucht, mich anzumelden, aber es hat nicht funktioniert. Beim Neustart wurde immer noch qwerty für den Anmeldebildschirm verwendet.
Ja, es scheint seit OS X 10.8 nicht mehr zu funktionieren. :(

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:

  1. Öffnen Sie Users & GroupseinSystem Preferences
  2. Wählen Sie Login Optionsunten im linken Bereich aus
  3. PrüfenShow Input menu in login window
  4. Gehen Sie zum Anmeldebildschirm
  5. Wählen Sie das bevorzugte Layout unter Other input sourcesaus dem Eingabemenü, das sich oben rechts befindet
  6. Show Input menu in login windowGehen Sie zurück und deaktivieren Sie das , um weitere Änderungen am Anmeldelayout zu verhindern

Ich fand diese Methode viel einfacher, als einige zufällige .plistDateien 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.

Ich habe Ihnen das Kopfgeld zugesprochen, da dies die beste Antwort zu sein schien, aber es scheint nicht wirklich zu funktionieren – es wird immer auf das standardmäßige US-Tastaturlayout zurückgegriffen. Um dies zu testen, habe ich ein Tastaturlayout verwendet, das es mir ermöglicht, drei Symbole mit einem Tastendruck einzugeben, sodass ich sehen kann, wie viele maskierte Zeichen im Passworteingabefeld erscheinen. Nachdem ich die von Ihnen erwähnten Schritte angewendet hatte, konnte ich jeweils nur ein Symbol eingeben (gemäß der US-Tastatur).
Können Sie beschreiben, was mit OS X 10.9 nicht funktioniert? Ich kann diese Schritte (ich habe Schritt 6 nicht ausgeführt) erfolgreich ausführen, wenn ich das Workman-Layout verwende (hier zu finden: workman.deekayen.net ). Mein Problem ist jedoch, dass, wenn dieses Layout ausgewählt ist und ich den Computer sperre, das Eingabemenü nicht im Anmeldebildschirm angezeigt wird, während es in Ordnung ist, wenn ich Dvorak oder etwas anderes habe, das von OS X nativ unterstützt wird (dh ich sehe das Menü und kann bei Bedarf zurück zu den USA wechseln)
@TimothéeBoucher Mein vorheriger Kommentar beschreibt, was schief geht und wie ich das getestet habe.

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.

Habe auch mein eigenes geändert. Leider hat mir das Korrigieren von IDs in den .plist-Dateien nicht geholfen.
@PavelGurkov hast du danach den sudo touch-Befehl für den Ordner ausgeführt? Es war erforderlich, dass das Betriebssystem dies berücksichtigt.
Ja, habe ich gemacht, habe überhaupt keine Ausgabe bekommen. Ich habe alles überprüft, was ich konnte, aber trotzdem ... Hat bei El Capitan einwandfrei funktioniert, bei Sierra kein Glück.