Ukelele generiert benutzerdefinierte Tastaturlayouts, die in Lion nicht funktionieren?

Ich habe ein benutzerdefiniertes Tastaturlayout mit Ukelele ( http://scripts.sil.org/ukelele ) in Snow Leopard erstellt (die Idee ist, skandinavische Buchstaben mit der Alt-Taste zu generieren, ansonsten ein ziemlich normales US-Layout). Nach dem Upgrade funktionierte das alte installierte Layout (in ~/Library/Keyboard Layouts) nicht.

Ukelele scheint in Lion OK zu funktionieren, aber ob ich das generierte Tastenlayout in ein Bündel oder eine einzelne Datei stecke oder es "/Library/Keyboard Layouts" oder "~/Library/Keyboard Layouts" speichere, scheint keine Rolle zu spielen.

Hilfe?

BEARBEITEN:

@Sergio, ich kann das Layout in Input Sources nicht auswählen. Eine Keylayout-Datei, die ich ausprobiert habe: http://semeai.org/~sjl/us-scands.keylayout

Übrigens Off-Topic: Ich weiß nicht, ob ich blind werde oder so, aber ich kann das Bibliotheksverzeichnis im Finder nicht finden. Ich muss Sachen aus meinem Home-Verzeichnis hin und her kopieren.

AKTUALISIEREN:

Ich versuche seit ein paar Stunden, diese Arbeit auf meine Maschine zu bekommen, und ich dachte nur, es mit einem zufälligen Layout aus dem Netz auszuprobieren; http://colemak.com/Mac war der erste, der auf dem Radar auftauchte. Ich habe dasselbe wie bei meinem Layout gemacht, es unter Bibliothek gespeichert und es wird unter Eingabequellen angezeigt. Mein Layout tut es immer noch nicht. Ich werde versuchen, ein Layout von Grund auf neu zu erstellen, mal sehen, ob das hilft. Übrigens, anscheinend ist "Neu aus aktueller Eingabequelle" in Ukelele in Lion defekt.

UPDATE 15.08.2011:

@ Tom:

Kopierte Ihr Tastenlayout (es landete natürlich in meinem Junk-Ordner):

midgard (01:55) >ls -l ~/Library/Keyboard\ Layouts/MongolianQWERTY.keylayout
-rw-r--r--@ 1 sjl  staff  44536 Mar 13  2008 /Users/sjl/Library/Keyboard Layouts/MongolianQWERTY.keylayout

Abgemeldet, angemeldet, wird nicht in Eingabequellen angezeigt (ich suche sehr genau zwischen "Maori" und "Myanmar - QWERTY").

Ich habe auch eine Reihe von Software und Plugins deinstalliert, die verdächtige Meldungen an system.log geben, aber es hat nicht geholfen.

UPDATE 16.08.2011:

Ich habe ein Testkonto erstellt, und siehe da, das Layout funktioniert perfekt dafür. Auch der Fehler in den Einstellungen wird für dieses Konto nicht angezeigt. Wenn ich dies auf meinem eigenen Konto versuche, gibt es keine Fehler in den Konsolenprotokollen mit den vorgeschlagenen Schlüsselwörtern (ich kann die Datei „console.log“ jedoch nicht finden).

UPDATE 16.08.2011 später:

Nuking Library/Caches (und Relogging) hat nicht geholfen.

UPDATE 17.08.2011:

Ich tat

% find Library -name "*.plist" -exec mv {} {}.renamed \;

und neu gestartet, aber es hat nicht geholfen. Ich stellte die Situation mit wieder her

% for file in `find Library -name "*.plist.renamed"`; \
  do mv "$file" "${file//.renamed/}"; done

Nachtrag: Ich bin auch alle .plist-Dateien mit plutil -s durchgegangen, wie in http://www.askdavetaylor.com/can_i_check_my_plist_files_in_mac_os_x_for_problems.html beschrieben . Es gab einige Defekte, aber in sehr unabhängigen Anwendungen.

UPDATE 10.09.2011:

Ich ging noch einen Schritt weiter und verlegte meine gesamte Bibliothek mit einem anderen Konto, loggte mich mit meinem eigenen Konto ein und stellte fest, dass Dinge immer noch nicht funktionierten. Ich habe das Layout nach /Library/Keyboard Layouts kopiert, von wo es für ein Testkonto funktioniert, aber nicht für mein eigenes. Wenn ich alle benutzerdefinierten Tastenbelegungsdateien von überall lösche, erscheinen der Zeichenbetrachter und der Tastaturbetrachter als auswählbar im Menü „Eingabequellen“ und werden auch unter dem Menü „International“ in der Menüleiste angezeigt. Sobald ich ein Tastaturlayout in die Bibliothek (Home oder System) kopiere, verschwinden die Viewer sowohl aus dem Menü als auch aus den Eingabequellen.

Irgendwelche Ideen, wie ich mehr Informationen aus dem System bekommen könnte? Ich habe Command-V beim Booten für einen ausführlichen Start ausprobiert, aber das hat keine zusätzlichen Informationen für dieses Problem geliefert.

LÖSUNG FÜR DIE NACHKUNDE:

Angepasst von http://support.apple.com/kb/TS1896?viewlocale=en_US für Lion:

sudo rm /System/Library/Caches/com.apple.IntlDataCache*
sudo find /var/ -name "*IntlDataCache*" -exec rm {} \;

Neu starten.

Ich tippe dies mit einem Ukelele-Layout in Lion, aber das Layout wurde auf Snow Leopard erstellt. Es handelt sich also wahrscheinlich nicht um etwas Spezifisches für benutzerdefinierte Layouts, sondern möglicherweise um Ihre spezifischen Anpassungen.
Können Sie das neue Layout über das Eingabemenü auswählen, aber die Tasten geben nicht die richtigen Zeichen ein? Oder wird das Layout einfach als installiert angezeigt?
Wenn Sie einen Link zu Ihrem Layout posten, kann ich es auf meiner Maschine testen.
Ich denke, das Standard-US-Layout generiert bereits die Zeichen, die für skandinavische Sprachen benötigt werden, über die Alt-Taste ohne Änderung. Ich bin auch bereit, Ihr Layout zu testen, wenn Sie es senden (tom at bluesky dot org).
FYI: Ich habe den Fall bearbeitet, um den Link zu einer Keylayout-Datei aufzunehmen, die ich ausprobiert habe.
Für Probleme mit der Bibliothek siehe tidbits.com/article/12306
@Tom: Danke für den Link! Mit dem Befehl aus dem Artikel kann ich wieder über den Finder auf die Bibliothek zugreifen.
@Sami: Bezüglich Colmak, das ist eines der neuen Layouts, die Apple bereits mit Lion bereitstellt. Es war bereits da, bevor Sie etwas heruntergeladen haben. Wenn Ihr Download funktioniert, sollten Sie zwei davon im Bereich Eingabequellen sehen. Hast du dich abgemeldet/angemeldet (nicht nur neu gestartet)?
seufz Nein, es gibt nur einen. Ja, ich habe mich dabei mehr als 10 Mal neu eingeloggt.
@Sami Ich frage mich, ob eine andere Quelle eine Rolle spielen würde. Ich könnte Ihnen ein Layout per E-Mail senden (tom at bluesky dot org).
Sie können mir ein Layout per E-Mail an sjl@iki.fi senden.
Das Verschwinden der Tastatur- und Zeichenanzeige war in früheren Betriebssystemversionen üblich und hatte eine spezielle Lösung: support.apple.com/kb/TS1896?viewlocale=en_US
Danke Tom! Das hat es getan. Wenn Sie das einfach in eine Antwort einfügen können, werde ich es als richtig markieren.

Antworten (8)

Versuchen Sie diesen Fix, den Apple veröffentlicht hat, als der Tastatur-Viewer und der Zeichen-Viewer in 10.5 verschwanden:

http://support.apple.com/kb/TS1896?viewlocale=en_US

Anstelle von sudo rm /var/folders/*/*/-Caches-/com.apple.IntlDataCache*würde ich verwenden sudo find /var/ -name "*IntlDataCache*" -exec rm {} \;, da das alte Glob-Muster mit nichts übereinstimmte. Ich habe ein viel breiteres Muster verwendet, aber es stimmte nur mit dem überein, was ich hier verlinkt habe.
Wie auch immer, die Verwendung der Ratschläge aus dem Link hat dieses Problem für mich behoben. Danke noch einmal!

Das Layout, zu dem Sie den Link gegeben haben, funktioniert bei mir einwandfrei. Sind Sie sicher, dass Ihre Kopie der Datei nur mit .keylayout und nicht mit .keylayout.xml oder etwas anderem endet? Sie haben sich nach der Installation abgemeldet/angemeldet, richtig?

Ich verwende den cpBefehl, um es an einen Ort zu kopieren. Ich sehe die Datei an Ort und Stelle mit ls. Ich werde es nur mit dieser Keylayout-Datei versuchen und den Computer neu starten. Nach meinen Experimenten befindet sich etwas Schmutz im Layouts-Verzeichnis. (Ich habe mehrmals neu eingeloggt und neu gestartet, während ich versucht habe, dies zu lösen.)
Alle anderen Keylayout-Dateien wurden unter ~/Library und Library entfernt. lsAusgabe: midgard (16:59) >ls -l ~/Library/Keyboard\ Layouts total 96 -rw-r--r-- 1 sjl staff 48265 Aug 13 16:47 us-scands.keylayout . Neustart und das Layout wird immer noch nicht unter Eingabequellen angezeigt.
Ich habe Ihr Layout auch in meinem Bibliotheksordner abgelegt (~/Library/Keyboard\Layouts) und es wird unter Eingabequellen als "US with scands //sjl" angezeigt, aber ich kann nicht tippen: Ich drücke die Tasten und nichts passiert. Ist das das gleiche Problem, das Sie haben?
Nein, ich sehe es überhaupt nicht in den Eingabequellen.
Übrigens, dieses Layout ist für eine drahtlose Tastatur aus Aluminium gemacht.
Bei mir hat es nach dem Aus- und erneuten Einloggen ohne Probleme funktioniert, wie Tom Gewecke sagte.

Ihr Layout funktionierte für mich nach:

  1. Die bereitgestellte Datei wurde heruntergeladen. ( ist mein Bash-Prompt)

    ~/Downloads  
    ⌘  wget http://semeai.org/~sjl/us-scands.keylayout
    --2011-08-13 23:44:27--  http://semeai.org/~sjl/us-scands.keylayout
    Resolving semeai.org... 217.30.177.5
    Connecting to semeai.org|217.30.177.5|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 48265 (47K) [text/plain]
    Saving to: `us-scands.keylayout'
    
    100%[======================================>] 48,265      32.1K/s   in 1.5s    
    
    2011-08-13 23:44:29 (32.1 KB/s) - `us-scands.keylayout' saved [48265/48265]
    
    ~/Downloads  
    ⌘  ls
    us-scands.keylayout
    
    ~/Downloads  
    ⌘  md5 us-scands.keylayout 
    MD5 (us-scands.keylayout) = 9197c43c426151cd03f524a766107b49
    
  2. Ablegen im ~/Library/Keyboard LayoutsOrdner

    ~/Downloads  
    ⌘  mv us-scands.keylayout ~/Library/Keyboard\ Layouts/
    

    Zu diesem Zeitpunkt war es bereits in den Eingabequellen aufgeführt:

  3. Wählen Sie es in der Liste der Eingabequellen auf der Registerkarte „Eingabequellen“ im Bereich „Sprach- und Texteinstellungen“ in den Systemeinstellungen aus

Aufgeführte Layouts

  1. Abmelden und erneut anmelden.
  2. Wählen Sie es als aktuelles Layout im Eingabemenü aus.

Sind Sie sicher, dass Ihnen keiner dieser Schritte entgangen ist?

Meine Spezifikationen:

  • 15" MacBook Pro, Anfang 2011 (Thunderbolt).
  • Mac OS X 10.7 von Snow Leopard aktualisiert (säubern Sie die Snow Leopard-Installation vor dem Upgrade auf Lion).
  • Spanische internationale eingebaute Tastatur. Ich habe noch nie eine externe Tastatur auf diesem Mac verwendet.

Laut Systemprofiler:

        Apple Internal Keyboard / Trackpad:

          Product ID: 0x0246
          Vendor ID: 0x05ac  (Apple Inc.)
          Version: 1.08
          Speed: Up to 12 Mb/sec
          Manufacturer: Apple Inc.
          Location ID: 0xfa120000 / 5
ls output: midgard (21:23) >ls -l ~/Library/Keyboard\ Layouts total 96 -rw-r--r-- 1 sjl staff 48265 Aug 13 13:33 us-scands.keylayout , neu gestartet, wird nicht in der Liste der Eingabequellen angezeigt. Ich nehme an, Sie sehen es mit den anderen US-Tastaturvarianten?
Ich habe sogar wgetdie Datei von der Webseite, um sicherzustellen, dass es die gleiche Version ist, die Sie verwenden. Ich habe den Pfad durch Ausschneiden und Einfügen aus Ihren Kommentaren überprüft.
Ich würde Ihrer Antwort +1 geben, habe aber noch keinen Repräsentanten :) Wie auch immer, ich habe genau das getan, was Sie beschreiben, und es wird nie in meinen Eingabequellen angezeigt. Nicht vor dem erneuten Anmelden oder Neustart und auch nicht danach.
was für ein typ ist deine tastatur? Andere Dinge scheinen nicht zu funktionieren, zum Beispiel kann ich die Einstellung "Tastatur- und Zeichenanzeige in der Menüleiste anzeigen" nicht beibehalten (unter Systemeinstellungen -> Tastatur).
Ich habe es auch mit normaler USB + Tastatur versucht, wobei die drahtlose Tastatur heruntergefahren war, und es hat nicht geholfen.
Aktualisierte Antwort mit meinen Spezifikationen.
Ich habe auch einige Fehler im Input-Menü gefunden: Das 'Show Input Source Name' wird jedes Mal ausgewählt, wenn ich mich an-/abmelde, egal wie oft ich es abwähle; und mein aktives Tastaturlayout geht manchmal verloren, nachdem ich aus dem Schlaf zurückgekehrt bin.
@sami Probleme mit Keyboard/Character Viewer werden oft durch fehlerhafte .plists und/oder Caches verursacht.
@Tom: Irgendeine Idee, wie ich den Cache leeren oder die störenden .plists finden könnte?
Wenn ein Testkonto funktioniert, bedeutet das normalerweise eine schlechte .plist. Sie könnten versuchen, alle .plists in Home/Library auf den Desktop zu verschieben und neu zu starten. Oder alle außer Mail, das viele Einstellungen enthält, die Sie möglicherweise nicht wiederholen möchten.

Laut Apples Technical Note TN2056 :

Nach der Installation wird eine XML-Tastatur im Bereich „Eingabemenü“ der internationalen Einstellungen verfügbar, wenn beim Kompilieren keine Fehler aufgetreten sind. Wenn die Datei einen Fehler enthält, wird eine Fehlermeldung mit dem Präfix „uchr XML-Compiler“ in die Datei „console.log“ geschrieben. Wenn es sich bei dem Fehler um einen XML-Syntaxfehler handelt, wird die Zeile in der Datei angegeben, in der der Fehler aufgetreten ist. Normalerweise wird nur der erste aufgetretene Fehler diagnostiziert und das Parsen abgebrochen.

Haben Sie versucht, die Konsole (in Anwendungen/Dienstprogramme) zu öffnen und nachzusehen, ob nach der Installation des Tastaturlayouts oder nach dem Anmelden eine Meldung mit dem Inhalt „uchr XML-Compiler“ angezeigt wird?

Ich habe Console verwendet, aber ich habe nicht nach diesem bestimmten Fehler gesucht. probier ich heute aus.

Mein Problem war, dass mein neues benutzerdefiniertes Tastaturlayout in vielen Apps funktionierte – Spotlight, Sublime Text, Terminal usw. – aber nicht in vielen integrierten Apps wie TextEdit oder Mail. Der letzte Punkt in der ursprünglichen Frage löste dieses Problem schließlich für mich:

sudo rm /System/Library/Caches/com.apple.IntlDataCache*
sudo find /var/ -name "*IntlDataCache*" -exec rm {} \;

Wenn Sie nicht zu einem benutzerdefinierten Tastaturlayout wechseln können, das auf einem anderen Computer einwandfrei funktioniert, hängt dies möglicherweise mit den Quarantäneattributen zusammen, die auf die auf das neue System kopierten Dateien angewendet werden.

So überprüfen Sie, ob dies der Fall ist:

$ find ~/Library/Keyboard\ Layoutse -type f -exec xattr -l {} \;
com.apple.quarantine: 0082;61e7e8e7;Screen\x20Sharing;
com.apple.quarantine: 0082;61e7e8e7;Screen\x20Sharing;
com.apple.quarantine: 0082;61e7e8e7;Screen\x20Sharing;
com.apple.quarantine: 0082;61e7e8e7;Screen\x20Sharing;
com.apple.quarantine: 0082;61e7e8e7;Screen\x20Sharing;

Um sie zu entfernen:

$ find . -type f -exec xattr -d com.apple.quarantine {} \;
In macOS 12.2 (Montery) hat das bei mir funktioniert. Sobald ich das Quarantäneattribut entfernt hatte, konnte ich das Layout auswählen und es funktionierte weiter.

Ich liebe Ukulele. in lion last macbook pro, funktionierte nicht wie gewohnt. die Erweiterung .keylayout scheint nicht zu funktionieren. es hat endlich mit dem Bundle geklappt, das man in ukelele bekommt, indem man Bundle speichert. es muss dann mit Optionstaste in die Bibliothek/Tastaturlayout kopiert werden, sonst wird es ein Alias. hoffe das hilft

Verwenden Sie die ältere stabile Ukelele-Version 1.8.4. Es ist nicht einmal ein Neustart erforderlich.

Ich habe Mac 10.10.5 (Yosemite). Die aktuelle Ukelele-Version funktionierte nicht, selbst nachdem ich alle möglichen Vorschläge aus verschiedenen Foren ausprobiert hatte. Schließlich habe ich die aktuelle Version von Ukelele deinstalliert und die ältere stabile Version 1.8.4 installiert. Die Dinge funktionierten wie von Zauberhand. Es ist kein Neustart erforderlich. Sie speichern das neue Layout einfach in Library/Keyboard Layouts. Öffnen Sie dann die Eingabequellen für die Tastatureinstellungen. Fügen Sie hinzu, indem Sie auf + klicken. Sie sollten das neue Layout unter „Andere“ sehen.

Hallo - danke für deine Antwort. Es wäre hilfreich, wenn Sie es so bearbeiten würden, dass es nicht nur in Großbuchstaben geschrieben ist - manche denken, dies sei analog zum Schreien. Das würde deinen Beitrag auch lesbarer machen.