Skip to content

Best way to use Caps Lock as a custom modifier #3120

Description

@sapphire-bt

Monterey 12.2.1
Karabiner-Elements 14.4.0

I'm trying to achieve the following mapping using "Complex modifications":

  • caps_lock + w = Up
  • caps_lock + a = Left
  • caps_lock + s = Down
  • caps_lock + d = Right

My karabiner.json for the a key looks like the following:

[
    {
        "from": {
            "key_code": "a",
            "modifiers": {
                "mandatory": [
                    "caps_lock"
                ],
                "optional": [
                    "any"
                ]
            }
        },
        "to": [
            {
                "key_code": "left_arrow"
            }
        ],
        "type": "basic"
    }
]

If, for example, I'm using a text editor, when I press caps_lock + a it moves the text insertion point to the left - so far so good. Unfortunately, the caps lock key is now active (the LED is on) and pressing caps_lock + a just sends a rather than moving left.

I tried experimenting with the "simultaneous" option but then I found I was unable to keep caps lock held down while pressing a multiple times (to move left several characters).

It feels like I'm close but I'm not sure which combination of options/conditions/etc. is best for what I'm trying to achieve.

Any help would be much appreciated.

Thanks for all the hard work 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions