macOS: Ebene 3 deaktiviert rechten Option-Key #615

Closed
opened 2022-06-19 15:24:14 +02:00 by Oben · 3 comments

Hallo,

ich habe Schwierigkeiten mit Neo auf dem Mac.
Ich möchte die rechte Option-Taste als solche benutzen können (und nicht als Mod4), aber auch auf die Ebene 3 Zugriff haben.

Für die Ebene 3 habe ich die Karabiner Elements Rule "Neo2 mod 3 key and layer 4 (Apple keyboards)" aktiviert. Aber damit wird offenbar auch die rechte Option-Taste als Mod4 belegt.
Wie kann ich das verhindern bzw. trennen, so, dass Ebene 3 verfügbar ist, aber r-Option nicht verändert wird?

Ich nutze ein Magic Keyboard mit TouchID und macOS Monterey 12.4, Karabiner Elements 14.4.0

Für eine Hilfestellung bin ich sehr dankbar. :)

Hallo, ich habe Schwierigkeiten mit Neo auf dem Mac. Ich möchte die rechte Option-Taste als solche benutzen können (und nicht als Mod4), aber auch auf die Ebene 3 Zugriff haben. Für die Ebene 3 habe ich die Karabiner Elements Rule "Neo2 mod 3 key and layer 4 (Apple keyboards)" aktiviert. Aber damit wird offenbar auch die rechte Option-Taste als Mod4 belegt. Wie kann ich das verhindern bzw. trennen, so, dass Ebene 3 verfügbar ist, aber r-Option nicht verändert wird? Ich nutze ein Magic Keyboard mit TouchID und macOS Monterey 12.4, Karabiner Elements 14.4.0 Für eine Hilfestellung bin ich sehr dankbar. :)
Member

Irgendwer hat anscheinend mal beschlossen, dass die Funktion von right_command wichtiger ist als right_option ;)

https://github.com/pqrs-org/KE-complex_modifications/blob/main/src/json/neo2.json.erb

Hier bei Zeile 117 wird right_option auf right_command gemappt:

    each_key(
        source_keys_list: [
            mod_3_key,
            "caps_lock",
            "right_option",
        ],
        dest_keys_list: [
            "right_option",
            "right_option",
            "right_command",
        ],

Du kannst dir das git Repo pullen, die Zeilen mit right_option und right_command entfernen und mit make das Neo Ruleset in public/json/neo2.json neu erzeugen.

Mein erster naiver Versuch wäre gewesen diese Rule in KE mit einer Simple Rule zu überschreiben (right_command zurück auf right_option mappen oder right_option auf right_option, in der Hoffnung dass es höhere Priorität hat als die Complex Rule) aber das funktioniert leider nicht.

Irgendwer hat anscheinend mal beschlossen, dass die Funktion von right_command wichtiger ist als right_option ;) https://github.com/pqrs-org/KE-complex_modifications/blob/main/src/json/neo2.json.erb Hier bei Zeile 117 wird right_option auf right_command gemappt: each_key( source_keys_list: [ mod_3_key, "caps_lock", "right_option", ], dest_keys_list: [ "right_option", "right_option", "right_command", ], Du kannst dir das git Repo pullen, die Zeilen mit right_option und right_command entfernen und mit make das Neo Ruleset in public/json/neo2.json neu erzeugen. Mein erster naiver Versuch wäre gewesen diese Rule in KE mit einer Simple Rule zu überschreiben (right_command zurück auf right_option mappen oder right_option auf right_option, in der Hoffnung dass es höhere Priorität hat als die Complex Rule) aber das funktioniert leider nicht.
Member

Alternativ direkt in deiner KE Config in $HOME/.config/karabiner/karabiner.json diese Stelle suchen und entfernen:


        {
          "type": "basic",
          "from": {
            "key_code": "right_option",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_command"
            }
          ],
          "conditions": [
            {
              "type": "input_source_if",
              "input_sources": [
                {
                  "input_source_id": "^org\\.sil\\.ukelele.keyboardlayout\\.neo2?\\.deutsch\\(neo2\\)$"
                },
                {
                  "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeo2$"
                },
                {
                  "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschBone$"
                },
                {
                  "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeoQwertz$"
                },
                {
                  "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschADNW$"
                }
              ]
            }
          ]
        },
Alternativ direkt in deiner KE Config in $HOME/.config/karabiner/karabiner.json diese Stelle suchen und entfernen: ``` { "type": "basic", "from": { "key_code": "right_option", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "right_command" } ], "conditions": [ { "type": "input_source_if", "input_sources": [ { "input_source_id": "^org\\.sil\\.ukelele.keyboardlayout\\.neo2?\\.deutsch\\(neo2\\)$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeo2$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschBone$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeoQwertz$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschADNW$" } ] } ] }, ```
Author

Hallo Mike, vielen Dank für die schnelle Antwort! :)

Mit Github kenne ich mich nicht aus, das war mir etwas zu hoch. Aber ich habe die andere von dir vorgeschlagene Lösung ausprobiert, und das hat funktioniert!

Die von dir beschriebene Stelle gab es in meinem karabiner.json nicht genau so.
Ich habe versucht das Übereinstimmende zu finden und das unten stehende gelöscht, was das Problem auch gelöst hat! (Ich hoffe mal, ich habe nichts wichtiges zu viel gelöscht... Ich war nicht sicher ob der Teil nach den input_source_id's auch weg muss.)

Nochmal vielen Dank für deine Hilfe und einen schönen Abend dir! :)

"from": {
                                    "key_code": "right_option",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_command"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "conditions": [
                                    {
                                        "input_sources": [
                                            {
                                                "input_source_id": "^org\\.sil\\.ukelele.keyboardlayout\\.neo2?\\.deutsch\\(neo2\\)$"
                                            },
                                            {
                                                "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeo2$"
                                            },
                                            {
                                                "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschBone$"
                                            },
                                            {
                                                "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeoQwertz$"
                                            }
                                        ],
                                        "type": "input_source_if"
                                    },
                                    {
                                        "name": "neo2_mod_4",
                                        "type": "variable_unless",
                                        "value": 2
                                    },
                                    {
                                        "identifiers": [
                                            {
                                                "description": "Apple devices",
                                                "vendor_id": 1452
                                            }
                                        ],
                                        "type": "device_if"
                                    }
                                ],
Hallo Mike, vielen Dank für die schnelle Antwort! :) Mit Github kenne ich mich nicht aus, das war mir etwas zu hoch. Aber ich habe die andere von dir vorgeschlagene Lösung ausprobiert, und das hat funktioniert! Die von dir beschriebene Stelle gab es in meinem karabiner.json nicht *genau* so. Ich habe versucht das Übereinstimmende zu finden und das unten stehende gelöscht, was das Problem auch gelöst hat! (Ich hoffe mal, ich habe nichts wichtiges zu viel gelöscht... Ich war nicht sicher ob der Teil nach den input_source_id's auch weg muss.) Nochmal vielen Dank für deine Hilfe und einen schönen Abend dir! :) ``` "from": { "key_code": "right_option", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "right_command" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "^org\\.sil\\.ukelele.keyboardlayout\\.neo2?\\.deutsch\\(neo2\\)$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeo2$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschBone$" }, { "input_source_id": "^org\\.unknown\\.keylayout\\.DeutschNeoQwertz$" } ], "type": "input_source_if" }, { "name": "neo2_mod_4", "type": "variable_unless", "value": 2 }, { "identifiers": [ { "description": "Apple devices", "vendor_id": 1452 } ], "type": "device_if" } ], ```
Mike1 closed this issue 2022-06-19 19:49:36 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: neo/neo-layout#615
No description provided.