Belegung von Sondertasten deutscher Tastaturen auf OS X

Möchte man eine Tastatur mit deutschem Tastaturlayout mit einem Mac benutzen, so funktionieren die Standardtasten normalerweise ohne Probleme.
Problematisch wird es jedoch mit dreifach belegten Tasten, die von Entwicklern häufig benötigt werden. Hierzu gehören zum Beispiel die geschweiften Klammern, die eckigen Klammern, der Backslash, die Tilde usw.

Methode 1: Verwendung von Keyboard Layouts

Am einfachsten kann man die Tastenbelegung anpassen durch die Installation eines passenden Keyboard Layouts, das man in das Verzeichnis ~/Library/Keyboard Layouts kopieren muss.

Das folgende Bundle funktioniert z.B. für eine kabellose deutsche Logitech-Tastatur (K800) oder auch kabellose deutsche rapoo-Tastaturen:

Bundle für Deutsche-Tastatur-mit-Sonderzeichen

Anschließend muss man die Verwendung dieses Layouts konfigurieren:

  1. Systemeinstellungen / Tastatur
  2. Reiter „Eingabequellen“
  3. Eingabequelle mit „+“ hinzufügen
  4. Als Sprache „Andere“ auswählen
  5. Rechts „Deutsch mit Sonderzeichen“ auswählen
  6. In der Taskleiste oben rechts auf die Flagge klicken und „Deutsch mit Sonderzeichen“ auswählen

Eigene Layouts lassen sich komfortabel erstellen mit dem Programm Ukelele.


Methode 2: Definition von Key Bindings

Eine weitere Methode, einzelne Tastenkombinationen zu belegen, ist die Definition von Key Bindings. Diese Methode funktioniert allerdings nicht in allen Anwendungen zuverlässig. Unter anderem funktioniert sie nicht in PhpStorm.

Diese Tasten lassen sich folgendermaßen korrekt belegen:

Man muss eine Textdatei ~/Library/KeyBindings/DefaultKeyBinding.dict erstellen mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>~+</key>
    <array>
        <string>insertText:</string>
        <string>~</string>
    </array>
    <key>~0</key>
    <array>
        <string>insertText:</string>
        <string>}</string>
    </array>
    <key>~7</key>
    <array>
        <string>insertText:</string>
        <string>{</string>
    </array>
    <key>~8</key>
    <array>
        <string>insertText:</string>
        <string>[</string>
    </array>
    <key>~9</key>
    <array>
        <string>insertText:</string>
        <string>]</string>
    </array>
    <key>~&lt;</key>
    <array>
        <string>insertText:</string>
        <string>|</string>
    </array>
    <key>~q</key>
    <array>
        <string>insertText:</string>
        <string>@</string>
    </array>
    <key>~ß</key>
    <array>
        <string>insertText:</string>
        <string>\</string>
    </array>
</dict>
</plist>

Nach jeder Änderung dieser Datei muss ein Programm, in dem die neue Tastaturbelegung wirksam werden soll, erst neu gestartet werden.

Es gibt auch ein kleines Programm, das eine GUI für die Erstellung dieser Datei bietet. Das Programm nennt sich KeyBindingsEditor und kann unter folgendem Link heruntergeladen werden:

 http://downloads.netmediaeurope.de/76924/keybindingseditor/

Nachdem man das Programm installiert und gestartet hat, kann man die Tastaturbelegung wie folgt einstellen:

  1. File/Open/User Key Bindings
  2. Klick auf „Add Binding“
  3. Klick in das Feld „Keystroke“
  4. Die gewünschte Tastenkombination drücken
  5. In die Liste der Actions auf die erste Action klicken, bei der zunächst
  6. „noop:“ vorausgewählt ist.
  7. Die Action „insertText:“ auswählen
  8. Auf „Add Action“ klicken
  9. Die neu eingefügte 2. Action auswählen durch Doppelklick auf „noop:“ und überschreiben mit dem gewünschten Zeichen (können auch mehrere sein).
  10. File/Save wählen
  11. Einen Texteditor o.ä. neu starten und die neu belegte Tastenkombination testen.

Abbildung Belegung von Sondertasten

Getestet mit OS X Yosemite, Version 10.10.5