Gib deinen Tasten einen neuen Job: Umbelegen mit Karabiner-Elements

Bei uns auf der Arbeit gibt es ein intern entwickeltes Tool, das auf den Shortcut Shift+Space lauscht. Ich rufe es dutzende Male am Tag auf. Gleichzeitig liegen auf meinem Schreibtisch zwei Tasten brach: der Drehknopf eines kleinen Bluetooth-Makro-Pads, der beim Draufdrücken Mute sendet, und die Zurück-Taste an der Logitech MX Master 3S. Den Ton stelle ich woanders um, und die Daumentasten der Maus verwende ich im Alltag nicht. Also haben beide Tasten einen neuen Job bekommen. Das Werkzeug dafür: Karabiner-Elements.

Was Karabiner-Elements macht

Karabiner-Elements ist ein kostenloses Open-Source-Tool für macOS. Es klinkt sich auf Treiber-Ebene zwischen Eingabegerät und System und kann dadurch jede Taste umbiegen, bevor eine Anwendung sie zu sehen bekommt. Einfache 1:1-Zuordnungen erledigst du über Simple Modifications direkt in der Oberfläche. Sobald Modifier ins Spiel kommen, etwa eine Taste, die Shift+Space senden soll, brauchst du eine Complex Modification. Das ist eine JSON-Datei mit einer Regel, die beschreibt, was reinkommt und was stattdessen rausgehen soll.

Vorbereitung: EventViewer und Geräte-Freigabe

Bevor du eine Regel schreibst, brauchst du zwei Informationen: wie sich die Taste meldet und von welchem Gerät sie kommt. Beides liefert der Karabiner-EventViewer, der bei der Installation mitkommt. Drück die Taste dort und du siehst den Event-Typ samt Code. Die Vendor- und Product-ID des Geräts stehen im selben Fenster und in den Karabiner-Einstellungen unter Devices. Dort muss außerdem für jedes Gerät, das du umbelegen willst, der Haken bei „Modify events“ gesetzt sein. Ohne den Haken ignoriert Karabiner das Gerät komplett.

Beispiel 1: Der Drehknopf des Makro-Pads

Das Makro-Pad ist so ein einhändiges Teil mit Drehknopf und programmierbaren Tasten. Am Mac meldet es sich schlicht als „Tastatur“, sogar mit Apples Vendor-ID 1452, wie es viele günstige Bluetooth-Geräte tun. Für Karabiner spielt der Name keine Rolle, entscheidend sind die IDs und der Event-Code. Ein Druck auf den Drehknopf sendet Mute. Und Mute ist keine gewöhnliche Taste: Sie meldet sich als consumer_key_code, also als Medientaste, genau wie Play/Pause oder die Lautstärkewippe. Im from-Block der Regel steht deshalb consumer_key_code statt key_code. Die Regel landet als Datei unter ~/.config/karabiner/assets/complex_modifications/:

{
  "title": "Mute zu Shift+Space",
  "rules": [
    {
      "description": "Mute-Taste sendet Shift+Space",
      "manipulators": [
        {
          "type": "basic",
          "from": { "consumer_key_code": "mute" },
          "to": [
            {
              "key_code": "spacebar",
              "modifiers": ["left_shift"]
            }
          ],
          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                { "vendor_id": 1452, "product_id": 556 }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Die Bedingung device_if sorgt dafür, dass die Regel ausschließlich für dieses eine Gerät gilt. Die Mute-Taste am MacBook selbst macht weiter das, was sie soll. Die Werte für vendor_id und product_id ersetzt du durch die deines Geräts. Danach aktivierst du die Regel in Karabiner-Elements unter Complex Modifications über „Add rule“.

Umbelegen ginge bei dem Pad auch über die Hersteller-Software. Karabiner erledigt es ohne zusätzliches Tool im Hintergrund und hält die Regel als Textdatei fest, die sich sichern und auf den nächsten Mac mitnehmen lässt.

Beispiel 2: Die Daumentaste der MX Master 3S

Maustasten meldet Karabiner als pointing_button. Linksklick ist button1, Rechtsklick button2, der Klick aufs Scrollrad button3. Die beiden Daumentasten kommen als button4 (zurück) und button5 (vor) an. Für die Zurück-Taste sieht die Regel so aus:

{
  "title": "MX Master: Button4 zu Shift+Space",
  "rules": [
    {
      "description": "Zurück-Daumentaste sendet Shift+Space",
      "manipulators": [
        {
          "type": "basic",
          "from": { "pointing_button": "button4" },
          "to": [
            {
              "key_code": "spacebar",
              "modifiers": ["left_shift"]
            }
          ],
          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                {
                  "vendor_id": 1133,
                  "product_id": 45108,
                  "is_pointing_device": true
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Der Haken an der Sache heißt Logi Options+. Solange die Logitech-Software läuft, fängt sie die Daumentasten ab, und bei Karabiner kommen nur unbrauchbare Unknown-Events an. Abhilfe: Logi Options+ beenden oder ihr in den Systemeinstellungen unter Datenschutz & Sicherheit → Eingabemonitoring die Berechtigung entziehen, danach Karabiner neu starten.

Zwei Tasten der Maus bleiben übrigens außen vor. Die Gesten-Taste unter dem Daumen erzeugt ihre Events komplett in der Logitech-Software, und die Mode-Shift-Taste unter dem Scrollrad schaltet rein mechanisch zwischen Raster- und Freilauf um. Beide bekommt Karabiner nie zu sehen.

Ein Muster für viele Fälle

Das Muster aus beiden Beispielen trägt weiter: from beschreibt, was ankommt, to beschreibt, was das System stattdessen sehen soll, device_if grenzt die Regel auf ein Gerät ein. Damit lassen sich auch F-Tasten, ein Nummernblock oder ein USB-Fußpedal in Werkzeuge verwandeln. Wenn bei dir ein Shortcut dutzende Male am Tag anfällt, schau nach, welche Taste bei dir brachliegt, und gib ihr einen Job.

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert