2019年10月25日金曜日

karabiner element で'{'で英数モードに切り替える。

ASCIIDOCで、文字置き換えを多用していたら、 { で英数モードに自動的に切り替わってほしくなった。 Karabiner Elementで入力モードに依存したキーコード発生ができるということなので、やってみた。

設定方法

~/.config/karabiner/assets/complex_modifications 以下に設定したJSONファイルを置くと、それがcomplex modifications のなかに出てくるようになる。 このJSONファイルの、trailing comma の扱いが妙にシビアで
["a","b",] 
みたいな物があると、パースに失敗するらしくリストに出てこない。logにもでないので、理由がわかるまでに時間を浪費した。

設定ファイル

こんな感じ。日本語入力モードだったら、cmd-spaceでモードを切り替えてから'{'を入力する。 とりあえず快適。
{
  "title": "for vscode asciidoc",
  "rules": [
    {
      "description": "turn off IME with rbrace",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "open_bracket",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "spacebar",
              "modifiers": [
                "command"
              ]
            },
            {
              "key_code": "open_bracket",
              "modifiers": [
                "shift"
              ]
            }
          ],
          "conditions": [
            {
              "type": "input_source_if",
              "input_sources": [
                {
                  "language": "ja"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

0 件のコメント: