Wie erstelle ich ein benutzerdefiniertes Tastaturlayout in OS X?

66

Ich bin kürzlich zu OS X gewechselt und finde das "Russian Phonetic" -Layout des Systems nicht zufriedenstellend (es ist nicht das, an das ich gewöhnt bin). Wie kann ich ein benutzerdefiniertes Layout erstellen?

Ich habe über Ukelele gelesen , aber das Layout, das ich erstellt und kopiert habe, Library/Keyboard Layoutswird in den Tastatureinstellungen nicht angezeigt.

Ich verwende OS X 10.9 Mavericks. Ich habe im Internet nach Lösungen gesucht, aber die meisten waren veraltet.

mik01aj
quelle
Welches Layout haben Sie vor MacOS verwendet? Paul Gorodyansky? Würde es Ihnen etwas ausmachen, Ihr Ukelele-Layout zu teilen?
Davidair
10.9 und höher scheinen einen anderen Tastaturlayout-Dateityp zu verwenden. Ukelele war auch bei diesem Upgrade pleite. Ich habe meine angepasste OCS-Tastatur verloren - OCS verwendet an ungeraden Stellen einige seltsame kyrillische Zeichen.
Aramis

Antworten:

63
  1. Öffnen Sie Ukelele und wählen Sie "Datei"> "Neu von aktueller Eingabequelle". In neuen Ukelele-Versionen wird dem Tastaturlayout automatisch eine neue ID zugewiesen.
  2. Bearbeiten Sie das Tastaturlayout.
  3. Speichern Sie das Tastaturlayout an einem temporären Ort wie dem Desktop. (Direktes Speichern /Library/Keyboard Layouts/schlägt im Hintergrund fehl.) Sie können eines der beiden Formate verwenden. Die Popovers im iOS-Stil, die beim Halten von Schlüsseln angezeigt werden, funktionieren nur mit dem Bundle-Format. Das Format einer einzelnen XML-Datei (Standard) ist jedoch einfacher. Stellen Sie bei Verwendung von XML sicher, dass die Datei mit einer .keylayoutErweiterung gespeichert ist .
  4. Bewegen Sie das Tastaturlayout auf /Library/Keyboard Layouts/. Tastaturlayouts in ~/Library/Keyboard Layouts/können weder in Kennwortdialogen noch im Anmeldefenster ausgewählt werden.
  5. Starte den Computer neu. Ausloggen und wieder einloggen ist nicht genug.
  6. Aktivieren Sie das neue Tastaturlayout in den Systemeinstellungen.

Führen Sie das sudo touch /Library/Keyboard\ Layouts/Programm aus und starten Sie es neu, um Änderungen an einem Tastaturlayout vorzunehmen .

Weitere Informationen finden Sie unter https://web.archive.org/web/20151030180252/http://osxnotes.net/keylayout-files-and-ukelele.html .


Update (Oktober 2015): Es gibt eine neue Version von Ukelele (3.0.0), die die Option enthält, das Layout über die App zu installieren. Ich musste immer noch die Systemeinstellungen aufrufen, um es zu aktivieren, aber ich musste überhaupt nicht die Befehlszeile durchgehen.

Lri
quelle
1
Danke! Ich habe jedoch einen wichtigen Hinweis: Von Ukelele gespeicherte XML-Dateien müssen eine .keylayoutErweiterung haben. So hat es funktioniert :)
mik01aj
Bei Verwendung des Bundle-Formats kann eine .icns-Symboldatei im Bundle abgelegt werden (derselbe Speicherort wie bei .keylayout), und ein Symbol Ihrer Wahl kann neben der Eingabequelle angezeigt werden. (Ukelele kann dem Bundle über das Menü ein Symbol hinzufügen. Sie benötigen eine .icns).
Ebukva
1
Sie können auch ein Symbol für eine XML-Keylayout-Datei hinzufügen, indem Sie beispielsweise die ICNS-Datei als speichern /Library/Keyboard Layouts/My Keyboard Layout.icns.
Lri
Anstatt es irgendwo zu speichern und manuell zu verschieben, können Sie ukelele als root starten, damit es direkt in / library / keyboard layouts
Rayjax 24.10.14
Ich musste die .keylayout Datei auch direkt bearbeiten , um das nameAttribut in Zeile 5 zu ändern . Vorher wurde sie in den Systemeinstellungen nicht angezeigt, wahrscheinlich weil sie denselben Namen wie ein vorhandenes Layout hatte. Niemand sonst ist dem begegnet? o_O
frnhr
12

Erstellen der Tastaturlayoutdatei

Auch ich habe Ukelele verwendet , um ein Tastaturlayout zu generieren. Sie können dann die Datei .bundleoder exportieren .keylayoutund in kopieren /Library/Keyboard Layouts.

sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

Wenn Sie das Symbol für die Tastatur in einer Datei zusammenfassen möchten, bietet Ukelele die Option "Export nach Bundle" an. Kopieren Sie in diesem Fall .bundlestattdessen die Datei. Alternativ können Sie die Symbole getrennt halten und mit demselben Namen in denselben Ordner kopieren.

sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

Nach einem Neustart können Sie die Eingabequelle im Menü Systemeinstellungen-> Tastatur-> Eingabequellen hinzufügen. Möglicherweise verfügbar unter Andere oder in der Sprache, wenn Sie eine Sprache an die Tastatur in Ukelele angehängt haben.

Eingangsquellenmenü

So erstellen Sie eine .icns-Datei

mkdir layout.iconset

Fügen Sie dann die folgenden PNGs zum Ordner hinzu:

# All sizes necessary
icon_16x16.png
[email protected]
icon_32x32.png
[email protected]
icon_128x128.png
[email protected]
icon_256x256.png
[email protected]
icon_512x512.png
[email protected]

Sie brauchen nicht alle diese, aber dies ist die offizielle Liste. Einige sind in der Pixelanzahl redundant, zeigen jedoch die Dichte an.

iconutil --convert icns --output layout.icns layout.iconset/

Beispielprojekt auf GitHub

Mein ukrainisch-russisches Projekt auf GitHub ist eine Demo, die derzeit an Mavericks 10.9.5 arbeitet.

Cameron Lowell Palmer
quelle
2
+1 für den ukrainisch-russischen Projektlink. Teile es jetzt mit einigen Freunden. Danke, Mann!
Sea Coast of Tibet
Gern geschehen!
Cameron Lowell Palmer
1
Sehr viel +1 für die ukrainisch-russische Projektverbindung. Wir unterstützen Sie, @CameronLowellPalmer (und andere)!
Per Lundberg,
5

Ukelele funktioniert möglicherweise für Sie. Seien Sie nur gewarnt, dass es sich anscheinend um eine Neuverknüpfung von Schlüsseln auf Softwareebene handelt (und nicht um eine Neuverknüpfung auf Hardwareebene), sodass Sie wahrscheinlich auf Probleme stoßen, z zur Verwendung in Passwortdialogen usw.

Wenn Sie eine robustere Lösung suchen, schauen Sie sich Karabiner an .

Sinnvoll
quelle
Karabinier ist auch besser, weil Sie keine Konfigurationsdatei kopieren müssen, es funktioniert direkt. Und Sie können es aktivieren, indem Sie in der Standardkonfiguration für verschiedene Systeme
starten
-1

Verwenden Sie ältere stabile Ukelele-Version 1.8.4 ... Kein Neustart erforderlich

Ich habe OS X 10.10.5 (Yosemite). Die aktuelle Version von Ukelele funktionierte nicht, obwohl ich einige andere Vorschläge ausprobiert hatte. Schließlich habe ich die aktuelle Version deinstalliert und die ältere stabile Version (1.8.4) installiert. Danach hat es prima geklappt. Es war kein Neustart erforderlich. Speichern Sie einfach das neue Layout in Bibliothek / Tastaturlayouts. Öffnen Sie dann die Tastatureinstellungen und geben Sie die Quellen ein. Fügen Sie hinzu, indem Sie auf klicken +, und Sie sollten das neue Layout unter "Andere" sehen.

Nilotpal
quelle