Skip to content
Oz Katz edited this page Jan 20, 2025 · 1 revision

@ozkatz's sample config

Prerequisites

Double-shift as Leader Key

I found it most convenient to use left shift + right shift together as a leader key. It's easy to memorize, hard to do accidentally and easy to do purposefully.

To do this with Karabiner Elements, do the following:

  1. In the Karabiner Elements settings UI, go to Complex Modifications

  2. Click Add Your Own Rule

  3. Paste in the following JSON:

    {
        "description": "Left_Shift + Right_Shift -> F13",
        "manipulators": [
            {
                "from": {
                    "key_code": "left_shift",
                    "modifiers": {
                        "mandatory": ["right_shift"],
                        "optional": ["caps_lock"]
                    }
                },
                "to": [
                    {
                        "key_code": "f13",
                        "modifiers": []
                    }
                ],
                "type": "basic"
            },
            {
                "from": {
                    "key_code": "right_shift",
                    "modifiers": {
                        "mandatory": ["left_shift"],
                        "optional": ["caps_lock"]
                    }
                },
                "to": [
                    {
                        "key_code": "f13",
                        "modifiers": []
                    }
                ],
                "type": "basic"
            }
        ]
    }

    This will trigger an F13 Key press when both shift keys are pressed together.

  4. In LeaderKey settings, bind F13 as your leader key:

    image

LeaderKey Config

{
  "type" : "group",
  "actions" : [
    {
      "key" : "t",
      "type" : "application",
      "value" : "/Applications/Ghostty.app"
    },
    {
      "value" : "/Applications/Insta360 Link Controller.app",
      "type" : "application",
      "key" : "c"
    },
    {
      "value" : "/Applications/Google Chrome.app",
      "key" : "b",
      "type" : "application"
    },
    {
      "type" : "group",
      "actions" : [
        {
          "type" : "application",
          "value" : "/System/Applications/Calculator.app",
          "key" : "c"
        },
        {
          "type" : "application",
          "key" : "z",
          "value" : "/Applications/zoom.us.app"
        },
        {
          "key" : "w",
          "type" : "application",
          "value" : "/Applications/WhatsApp.app"
        },
        {
          "type" : "application",
          "value" : "/Applications/Slack.app",
          "key" : "s"
        },
        {
          "type" : "application",
          "key" : "v",
          "value" : "/Applications/Visual Studio Code.app"
        },
        {
          "key" : "n",
          "value" : "/System/Applications/Notes.app",
          "type" : "application"
        }
      ],
      "key" : "p"
    },
    {
      "key" : "w",
      "type" : "group",
      "actions" : [
        {
          "value" : "raycast://extensions/raycast/window-management/left-half",
          "type" : "url",
          "key" : "l"
        },
        {
          "key" : "r",
          "type" : "url",
          "value" : "raycast://extensions/raycast/window-management/right-half"
        },
        {
          "key" : "f",
          "type" : "url",
          "value" : "raycast://extensions/raycast/window-management/maximize"
        }
      ]
    },
    {
      "key" : "s",
      "type" : "group",
      "actions" : [
        {
          "type" : "url",
          "value" : "raycast://extensions/raycast/system/toggle-bluetooth",
          "key" : "b"
        },
        {
          "value" : "raycast://extensions/raycast/system/toggle-mute",
          "key" : "m",
          "type" : "url"
        },
        {
          "key" : "s",
          "type" : "url",
          "value" : "raycast://extensions/raycast/system/sleep"
        },
        {
          "value" : "raycast://extensions/raycast/system/lock-screen",
          "key" : "l",
          "type" : "url"
        },
        {
          "type" : "command",
          "key" : "d",
          "value" : "open -b com.apple.systempreferences /System/Library/PreferencePanes/Displays.prefPane"
        }
      ]
    }
  ]
}

Nothing crazy, I tend to keep my workflow rather simple. The "tree" is organized such that:

  1. Very frequently accessed programs (browser, terminal, webcam controller) are top level, one key press away
  2. Other common programs live under p for "programs"
  3. System settings live under s for "settings"
  4. Window management lives under w for "window"

Clone this wiki locally