kakudooo docs

Karabiner-Elements の個人的な設定

US 配列のキーボードでKarabiner-Elements を使って command キーで英数/かなを設定する方法のメモ。

インストール

https://karabiner-elements.pqrs.org/からダウンロードしてインストールする。

設定

~/.config/karabiner/karabiner.jsonを以下で作成 or 上書き保存する。

{
  "profiles": [
    {
      "complex_modifications": {
        "rules": [
          {
            "description": "コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな) (rev 3)",
            "manipulators": [
              {
                "from": {
                  "key_code": "left_command",
                  "modifiers": { "optional": ["any"] }
                },
                "parameters": {
                  "basic.to_if_held_down_threshold_milliseconds": 100
                },
                "to": [
                  {
                    "key_code": "left_command",
                    "lazy": true
                  }
                ],
                "to_if_alone": [{ "key_code": "japanese_eisuu" }],
                "to_if_held_down": [{ "key_code": "left_command" }],
                "type": "basic"
              },
              {
                "from": {
                  "key_code": "right_command",
                  "modifiers": { "optional": ["any"] }
                },
                "parameters": {
                  "basic.to_if_held_down_threshold_milliseconds": 100
                },
                "to": [
                  {
                    "key_code": "right_command",
                    "lazy": true
                  }
                ],
                "to_if_alone": [{ "key_code": "japanese_kana" }],
                "to_if_held_down": [{ "key_code": "right_command" }],
                "type": "basic"
              }
            ]
          },
          {
            "description": "英数・かなキーを他のキーと同時に押したときに、Optionキーを送信する (rev 3)",
            "manipulators": [
              {
                "from": {
                  "key_code": "japanese_eisuu",
                  "modifiers": { "optional": ["any"] }
                },
                "parameters": { "basic.to_if_alone_timeout_milliseconds": 200 },
                "to": [{ "key_code": "left_option" }],
                "to_if_alone": [{ "key_code": "japanese_eisuu" }],
                "type": "basic"
              },
              {
                "from": {
                  "key_code": "japanese_kana",
                  "modifiers": { "optional": ["any"] }
                },
                "parameters": { "basic.to_if_alone_timeout_milliseconds": 200 },
                "to": [{ "key_code": "right_option" }],
                "to_if_alone": [{ "key_code": "japanese_kana" }],
                "type": "basic"
              }
            ]
          },
          {
            "description": "escキーを押したときに、英数キーも送信する(vim用)",
            "manipulators": [
              {
                "from": { "key_code": "escape" },
                "to": [
                  { "key_code": "escape" },
                  { "key_code": "japanese_eisuu" }
                ],
                "type": "basic"
              }
            ]
          },
          {
            "description": "Ctrl+[を押したときに、英数キーも送信する(vim用) (rev 2)",
            "manipulators": [
              {
                "conditions": [
                  {
                    "keyboard_types": ["ansi", "iso"],
                    "type": "keyboard_type_if"
                  }
                ],
                "from": {
                  "key_code": "open_bracket",
                  "modifiers": { "mandatory": ["control"] }
                },
                "to": [
                  {
                    "key_code": "open_bracket",
                    "modifiers": ["control"]
                  },
                  { "key_code": "japanese_eisuu" }
                ],
                "type": "basic"
              },
              {
                "conditions": [
                  {
                    "keyboard_types": ["jis"],
                    "type": "keyboard_type_if"
                  }
                ],
                "from": {
                  "key_code": "close_bracket",
                  "modifiers": { "mandatory": ["control"] }
                },
                "to": [
                  {
                    "key_code": "close_bracket",
                    "modifiers": ["control"]
                  },
                  { "key_code": "japanese_eisuu" }
                ],
                "type": "basic"
              }
            ]
          }
        ]
      },
      "name": "Default profile",
      "selected": true,
      "virtual_hid_keyboard": {
        "country_code": 0,
        "keyboard_type_v2": "ansi"
      }
    }
  ]
}