Hallo,
Soweit bekannt, aber wie ersetze ich die Flagge durch ein vernünftiges Icon? Ich will mir ja schließlich nicht die Menüleiste verschandeln lassen.
Bitte nicht solche Fragen stellen, für die Antwort recherchiert man (= ich) dann viel zuviel rum.
Also die Schwierige Variante an den Eingeweiden des System lautet so:
Die Tastaturbelegungen sind Bundles unter /System/Library/Keyboard Layouts/. Die meisten Bundes sind ganz normale Bundles, Grafiken liegen darin im Resource-Ordner als Tiff-Dateien vor, so zum Beispiel im Bundle Unicode.bundle. Die konkreten Tastaturlayouts sind dann im .keylayout-XML-Format. Dummerweise sind die meisten gebräuchlichen Tastaturbelegungen im Bundle Roman.bundle (Jetzt wissen wir auch, was die mit Eingabemethode „Lateinisch“ meinen). Und dort gibt es keine einfach zu öffnenden und verändernden Dateien, nur eine Datei namens Roman.rsrc.
Diese ist natürlich eine klassische Resource-Datei, die Daten befinden sich da in einem Ressource Fork, wir befinden uns wieder in Zeiten von Mac OS < X. Das klassische ResEdit oder die vernachlässigte Classic-Umgebung oder gar beide wollen nicht wirklich funktionieren, aber inzwischen gibt es auch einen modereneren Resource Fork Editor, ResKnife. Wenn man mit diesem diese Datei öffnet stellt man auch fest: Ja, da sind ein Haufen Resourcen verborgen. KCHR-Resourcen sind ein anderes, älteres Keyboard-Layout-Format, es gibt wohl auch Kommandozeilen-Kovertierer dafür. KCNS-Ressourcen sind die dazugehörigen Icons, hier bei unbenannt. Aber exportiert man die KCNS-Ressource mit der ID 3 – denn das ist die ID, die auch die KCHR-Ressoure namens „German“ besitzt auf den Desktop und benennt die Endung von *.kcns in *.icns um, dann sieht man: Aha, das ist das Icon der deutschen Flagge. Stressig.
Ich vermute übrigens, dass das daran liegt, damit überhaupt irgendwelche Tastaturbelegungen in Programmen nach alter Machart (Carbon, Classic) funktionieren sollen. Aber ich rate nur.
Die leichtere Variante ist diese: Einfach eine eigene Tastaturbelegung im moderenen *.keylayout-XML-Format unter ~/Library/Keyboard Layouts/ hinterlegen. Wenn man verständlicherweise nicht per Hand so etwas im Editor tippen will, bietet sich Ukulele an, ein Keymap-Editor. In der Distribution sind übrigens dann auch die klassischen Tastaturbelegungen konvertiert ins keylayout-Format dabei.
Diese eigenen Tastaturlayoute kriegen ein generisches OS-9-artiges Icon, es sei denn im Ordner ~/Library/Keyboard Layouts/ befindet sich neben <name>.keylayout auch ein eigenes Icon mit demselben Namen: <name>.icns. Sprich: Ein eigenes Keyboard-Layout mit passendem Icon muss man einfach nur an der richtigen Stelle ablegen und sich kurz aus- und dann wieder einloggen, um es anwählen zu können. Anstatt mit irgendwelchen Ressourcen rumzuhexen.
Ich sag ja: Bitte nicht mehr solche Fragen stellen, irgendjemand rafft sich zum Recherchieren auf. ;)
Tim
Nächster Schritt nach dem eigenen Tastaturlayout: eigene Bindings der Tastenkombinationen.