Wie verhindere ich, dass Karabiner-Elements bestimmte Tastenkombinationen verändert?

Melden
  1. Einleitung
  2. Funktionsweise von Karabiner-Elements und Modifier-Flags
  3. Schrittweise Lösung: Bestimmte Tastenkombinationen explizit ausschließen
  4. Praktisches Beispiel mit komplex-modifications
  5. Alternative: Nutzung von simple modifications und complex modifications
  6. Fazit und Empfehlungen

Einleitung

Karabiner-Elements ist ein sehr mächtiges Tool zur Tastaturumbelegung auf macOS. Es ermöglicht das Ändern von Tastenkombinationen und bietet eine hohe Flexibilität bei der Anpassung der Eingabe. Manchmal möchte man jedoch, dass bestimmte Tastenkombinationen unverändert bleiben, selbst wenn Karabiner-Elements aktiv ist und andere Tasten umbelegt. In dieser Anleitung erläutere ich, wie man genau diese Ausnahmen definiert, sodass bestimmte Tastenkombinationen nicht verändert werden.

Funktionsweise von Karabiner-Elements und Modifier-Flags

Karabiner-Elements arbeitet mit sogenannten komplexen Modifikationen, die in JSON-Form definiert werden. Jede Regel kann Bedingungen enthalten, unter denen sie greift. Wichtig für das Verhindern der Änderung bestimmter Tastenkombinationen ist die richtige Verwendung der "conditions" und "manipulators". Auch gibt es die Möglichkeit, Regeln so einzuschränken, dass sie nur aktiv sind, wenn bestimmte Modifier-Keys (wie Ctrl, Alt, Cmd, Shift) nicht gedrückt sind oder gerade nicht bestimmte Tasten genutzt werden.

Schrittweise Lösung: Bestimmte Tastenkombinationen explizit ausschließen

Um zu verhindern, dass Karabiner-Elements eine bestimmte Tastenkombination ändert, kannst du in deiner ~/.config/karabiner/karabiner.json eine Ausnahmeregel ergänzen oder die vorhandenen Regeln entsprechend anpassen. Das Ziel ist es, bei den Modifikatoren Bedingungen einzubauen, die sagen, dass die Regel nur angewendet wird, wenn die auszuschließende Kombination nicht gedrückt wird.

Beispiel: Angenommen, du möchtest, dass die Kombination Cmd + C (Kopieren) nicht verändert wird. Dann kannst du in der Regel, die Tasten umbelegt, eine Bedingung hinzufügen, welche diese Kombination ausschließt.

Dies erreichst du häufig über die "conditions"-Sektion im JSON-Rule-Set mit negierten Bedingungen, wie z.B.:

{ "type": "frontmost_application_unless", "bundle_identifiers": }

Oder genauer: Du kannst Bedingungen für die gedrückten Modifier erstellen, die das Umlegen nur dann wirksam machen, wenn diese nicht zutreffen. Hier ein Beispiel-Fragment, um Cmd + C auszuschließen:

"conditions":

Hierbei definierst du extern (z.B. mit einem separaten Manipulator) wann cmd_c_disabled den Wert 1 hat. Alternativ funktioniert das auch über eine komplexere Logik, um bestimmte Kombinationen explizit auszuschließen.

Praktisches Beispiel mit komplex-modifications

Ein einfacherer Weg, eine bestimmte Tastenkombination komplett von der Änderung auszunehmen, ist in den Manipulatoren das Feld "from" so einzustellen, dass es genau diese Kombination ignoriert oder eben umgekehrt nur greift, wenn diese Kombination nicht gedrückt wird. Man kann Bedingungen für Modifier verwenden, wie optional oder mandatory, um präziser zu sein.

Beispiel: Wenn du eine Umbelegung auf caps_lock anstrebst, möchtest aber, dass Cmd + C nicht verändert wird, kannst du sicherstellen, dass Manipulatoren nicht dann greifen, wenn cmd gedrückt ist.

{ "from": { "key_code": "c", "modifiers": { "optional": , "mandatory": } }, "to": , "conditions": }

Gleichzeitig muss sichergestellt werden, dass die Variable disable_cmd_c_remap auf 1 gesetzt wird, wenn Cmd+C gedrückt wird, sodass der Remap nicht greift.

Alternative: Nutzung von simple modifications und complex modifications

Die einfachen Modifikationen in Karabiner-Elements überschreiben häufig grundsätzliche Verhalten ohne Ausnahmen. Wenn du dagegen komplexe Modifikationen nutzt und diese sorgfältig mit Bedingungen versiehst, kannst du gezielt die Eigenschaft "nicht verändern" für bestimmte Kombinationen definieren. Ein Weg ist, in der complex modifications JSON-Datei eine Regel zu erstellen, die alle unerwünschten Änderungen für gewisse Kombinationen außer Kraft setzt.

Fazit und Empfehlungen

Wenn du verhindern möchtest, dass Karabiner-Elements bestimmte Tastenkombinationen verändert, ist das anpassungsfähigste Mittel der Einsatz von Bedingungen (conditions) bei deinen komplexen Modifikationen. Damit kannst du festlegen, unter welchen Umständen eine Regel aktiv sein darf und welche Kombinationen du gezielt ausnehmen möchtest. Idealerweise implementierst du solche Ausnahmen in der JSON-Konfigurationsdatei unter ~/.config/karabiner/karabiner.json oder du hast eigene kleine Regeln im Bereich komplexe Modifikationen, die gezielt gewisse Tastenkombinationen komplett unangetastet lassen.

Zusätzlich lohnt sich der Blick in die offizielle Karabiner-Elements Dokumentation unter https://karabiner-elements.pqrs.org/docs/json/, um die genaue Syntax und Optionen der Bedingungen besser zu verstehen und zu nutzen.

0

Kommentare