Help us understand the problem. What is going on with this article?

【人権回復】Karabiner-ElementsでOne-to-many, Many-to-oneマッピング

More than 1 year has passed since last update.

やっとヒューマンライツを回復することができました。

いま、私は、自分が思った通りにタイピングできる喜びと、あの長く、辛い日々を噛み締めながら、この記事を書いています。

macOS Sierra 10.12.4
Karabiner-Elements 0.91.4

ベータ版なので、使用は自己責任でお願いします。故障・損害などに関しては一切の責任を負いかねます。また、今後仕様が変更されて、下の設定では動かない可能性もあります。

Karabiner-Elementsとは

macOS Sierra用の、キーボードのマッピングをカスタマイズできるアプリケーション。

OSXにはKarabiner(もっと以前はKeyRemap4MacBooという名前でした)というアプリケーションがあるのですが、新しいmacOS Sierraでは正常に動作しません。

Karabinerでかなりキーボードをカスタマイズしているにも関わらず、Sierraに対応しているかちゃんと確認せずにアップグレードしてしまった、私のような生きる価値もない人間は、当然人権を剥奪され、長く、辛い日々を強いられることになったのです。

代替になりそうなアプリケーションを漁りまくり、結局はBetterTouchToolとKarabiner-ElementsのSimple Modificationsの組み合わせで、不完全ながらなんとか凌いでいました。

自分で書いてPRを送ろうかとも思いましたが、コードを追うのもそれなりに大変ですし、私のクソコードでは...という気持ちもあり、また、他の方のPRに対しても開発者様の応答がなかったようなので、座して待つしかないと思い、寄付だけしときました。

One-to-oneマッピング

  1. Karabiner-Elementsのインストール
    usage/READMEを見てください。

  2. キーボードを選択
    Karabiner-Elementsを起動。Preferences...を選択。Virtual Keyboardタブへ行き、キーボードがJIS(キーボードにアルファベットとひらがなが書かれているもの)ならKeyboard typeJISを選択。USキーボードならANSIを選択。

  3. GUIでマッピングしてみる
    Simple Modificationsのタブへ行き、Add itemを押し、左のドロップダウンからマッピングを変えたいキーを選択。右のドロップダウンからどのキーへマッピングしたいか選択。例えば、左Shiftキーをaに変えたければ、左のドロップダウンはleft_shift、右のドロップダウンはaを選択。これで左Shiftを押すと、aが入力されるようになります。

キーボードの名前がわからない場合、Karabiner-EventViewerがKarabiner-Elementsと一緒にインストールされているはずなので、起動して、そこで当該キーを押してみると、キーの名前などがわかります。

設定ファイルを見る

  1. 設定ファイルを開く
    ~/.config/karabiner/配下にある、karabiner.jsonというファイルを開く。なかったら作る。

  2. プロファイル
    キーマッピングの設定のセットは、profileと呼ばれ、いくつも登録し、切替もできます。例えば、defaultという名前のprofileを設定をしてみます。"simple_modifications"のところには、Simple Modificationsのところで設定したものが表示されているはずです。

Karabinerでは、設定ファイルを変更したらリロードする必要がありましたが、Karabiner-Elementsでは、設定ファイルを保存するとすぐリロードされるようです。

~/.config/karabiner/karabiner.json
{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "name": "default",
            "selected": true,
            "devices": [],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "f5",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment"
            },
            "simple_modifications": {
                "backslash": "quote",
                "caps_lock": "vk_none",
                "international1": "semicolon",
                "quote": "delete_or_backspace",
                "right_shift": "vk_none",
                "semicolon": "return_or_enter"
            },
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "jis"
            }
        }
    ]
}

One-to-many, Many-to-oneマッピング

  1. ベータ版(2017年6月23日現在)へアップデート
    時間が経てばベータではなく、製品版のほうで利用できるようになると思うので、アップデート情報はチェックされると良いと思います。
    Preferences... -> Misc -> Check for beta updates

  2. "complex_modifications"を追加
    今回できるようになったのは、この部分です。例えば、英数キーが単体で押されたときには、普段通り、英数への切替、a と組み合わせて押されたときには1を入力する、みたいなことができます。先程のdefaultプロファイルの"simple_modifications"と同じ階層に"complex_modifications"を作ります。

{
    "complex_modifications": {
        "rules": [
            { 
                "manipulators": [
                    { "mapping goes here": "hello" }
                ] 
            }
        ]
    },
    "name": "default",
    "selected": true,
    "devices": [],
    "fn_function_keys": {
        "f1": "display_brightness_decrement",
        "f2": "display_brightness_increment",
        "f3": "mission_control",
        "f4": "launchpad",
        "f5": "f5",
        "f6": "illumination_increment",
        "f7": "rewind",
        "f8": "play_or_pause",
        "f9": "fastforward",
        "f10": "mute",
        "f11": "volume_decrement",
        "f12": "volume_increment"
    },
    "simple_modifications": {
        "backslash": "quote",
        "caps_lock": "vk_none",
        "international1": "semicolon",
        "quote": "delete_or_backspace",
        "right_shift": "vk_none",
        "semicolon": "return_or_enter"
    },
    "virtual_hid_keyboard": {
        "caps_lock_delay_milliseconds": 0,
        "keyboard_type": "jis"
    }
}

3 設定例
設定の仕方は、examplesと、このPRでのこのコメント以下が参考になりました。

  • spacebar単体 -> spacebar; 別のキーとの組み合わせ -> left_shift
{ "type": "basic",
  "from":        { "key_code": "spacebar", "modifiers": { "optional": [ "any" ] } },
  "to":          [ { "key_code": "left_shift" } ],
  "to_if_alone": [ { "key_code": "spacebar" } ] }
  • left_shift -> 英数, escape
{ "type": "basic",
  "from": { "key_code": "left_shift",
            "modifiers": { "optional": [ "caps_lock" ] } },
  "to": [ { "key_code": "lang2" },
          { "key_code": "escape" } ] }
  • left_control + h -> 左カーソル移動
{ "type": "basic",
  "from": { "key_code": "h", 
            "modifiers": { 
                "mandatory": [ "left_control" ], 
                "optional": [ "caps_lock" ] } },
  "to": [ { "key_code": "left_arrow" } ] }
  • 英数単体 -> 英数; 英数 + a -> 1
{ "type": "basic",
  "from": { "key_code": "lang2",
            "modifiers": { "optional": [ "any" ] } },
  "to": [ { "key_code": "left_command",
            "modifiers": [ "left_shift", "left_option" ] } ],
  "to_if_alone": [ { "key_code": "lang2" } ] },

{ "type": "basic",
  "from": { "key_code": "a",
            "modifiers": {
                "mandatory": [ "left_command", "left_shift", "left_option" ],
                "optional": [ "caps_lock" ] } },
  "to": [ { "key_code": "1" } ] }

とりあえず書いた設定ファイルの全体は以下のような感じです。JISキーボード用の設定なので、ANSIキーボードで同じことをしようと思ったら、設定が少し異なるはずです。

~/.config/karabiner/karabiner.json
{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "complex_modifications": {
                "rules": [
                    {
                        "manipulators": [
                            {
                                "description": "left_shift -> eisuu, esc",
                                "from": {
                                    "key_code": "left_shift"
                                },
                                "to": [
                                    {
                                        "key_code": "lang2"
                                    },
                                    {
                                        "key_code": "escape"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana -> right_hyper | kana",
                                "from": {
                                    "key_code": "lang1",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_command",
                                        "modifiers": [
                                            "right_shift",
                                            "right_option"
                                        ]
                                    }
                                ],
                                "to_if_alone": [
                                    {
                                        "key_code": "lang1"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu -> left_hyper | eisuu",
                                "from": {
                                    "key_code": "lang2",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_command",
                                        "modifiers": [
                                            "left_shift",
                                            "left_option"
                                        ]
                                    }
                                ],
                                "to_if_alone": [
                                    {
                                        "key_code": "lang2"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "spacebar -> left_shift | spacebar",
                                "from": {
                                    "key_code": "spacebar",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_shift"
                                    }
                                ],
                                "to_if_alone": [
                                    {
                                        "key_code": "spacebar"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + a -> 1",
                                "from": {
                                    "key_code": "a",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "1"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + a -> !",
                                "from": {
                                    "key_code": "a",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "1",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + s -> 2",
                                "from": {
                                    "key_code": "s",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "2"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + s -> \"",
                                "from": {
                                    "key_code": "s",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "2",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + d -> 3",
                                "from": {
                                    "key_code": "d",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "3"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + d -> #",
                                "from": {
                                    "key_code": "d",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "3",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + f -> 4",
                                "from": {
                                    "key_code": "f",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "4"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + f -> $",
                                "from": {
                                    "key_code": "f",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "4",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + g -> 5",
                                "from": {
                                    "key_code": "g",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "5"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + g -> %",
                                "from": {
                                    "key_code": "g",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "5",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + h -> 6",
                                "from": {
                                    "key_code": "h",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "6"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + h -> &",
                                "from": {
                                    "key_code": "h",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "6",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + j -> 7",
                                "from": {
                                    "key_code": "j",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "7"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + j -> '",
                                "from": {
                                    "key_code": "j",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "7",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + k -> 8",
                                "from": {
                                    "key_code": "k",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "8"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + k -> (",
                                "from": {
                                    "key_code": "k",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "8",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + l -> 9",
                                "from": {
                                    "key_code": "l",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "9"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + l -> )",
                                "from": {
                                    "key_code": "l",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "9",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + o -> 0",
                                "from": {
                                    "key_code": "o",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "0"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + b -> [",
                                "from": {
                                    "key_code": "b",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "close_bracket"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + b -> {",
                                "from": {
                                    "key_code": "b",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "close_bracket",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + n -> ]",
                                "from": {
                                    "key_code": "n",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "backslash"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + n -> }",
                                "from": {
                                    "key_code": "n",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "backslash",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + c -> :",
                                "from": {
                                    "key_code": "c",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "quote"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + c -> ;",
                                "from": {
                                    "key_code": "c",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "semicolon"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + e -> =",
                                "from": {
                                    "key_code": "e",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "hyphen",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + p -> ^",
                                "from": {
                                    "key_code": "p",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "equal_sign"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + p -> +",
                                "from": {
                                    "key_code": "p",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "semicolon",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + m -> *",
                                "from": {
                                    "key_code": "m",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "quote",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + m -> -",
                                "from": {
                                    "key_code": "m",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "hyphen"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + u -> _",
                                "from": {
                                    "key_code": "u",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "international1"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + y -> ¥",
                                "from": {
                                    "key_code": "y",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "y",
                                        "modifiers": [
                                            "left_option"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + y -> |",
                                "from": {
                                    "key_code": "y",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "international3",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + / -> \\",
                                "from": {
                                    "key_code": "slash",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "international3",
                                        "modifiers": [
                                            "left_option"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + . -> >",
                                "from": {
                                    "key_code": "period",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "period",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + , -> <",
                                "from": {
                                    "key_code": "comma",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "comma",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + t -> ~",
                                "from": {
                                    "key_code": "t",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "equal_sign",
                                        "modifiers": [
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "left_option + / -> ¡",
                                "from": {
                                    "key_code": "slash",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "1",
                                        "modifiers": [
                                            "left_option"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "eisuu + ] -> «",
                                "from": {
                                    "key_code": "quote",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_command",
                                            "left_shift",
                                            "left_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "backslash",
                                        "modifiers": [
                                            "left_option"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "kana + ] -> »",
                                "from": {
                                    "key_code": "quote",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command",
                                            "right_shift",
                                            "right_option"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "backslash",
                                        "modifiers": [
                                            "left_option",
                                            "left_shift"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "left_control + h -> left_arrow",
                                "from": {
                                    "key_code": "h",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_control"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "left_control + j -> down_arrow",
                                "from": {
                                    "key_code": "j",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_control"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "down_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "left_control + k -> up_arrow",
                                "from": {
                                    "key_code": "k",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_control"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "up_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "description": "left_control + l -> right_arrow",
                                "from": {
                                    "key_code": "l",
                                    "modifiers": {
                                        "mandatory": [
                                            "left_control"
                                        ],
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_arrow"
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    }
                ]
            },
            "devices": [],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "f5",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward"
            },
            "name": "default",
            "selected": true,
            "simple_modifications": {
                "caps_lock": "vk_none",
                "international1": "semicolon",
                "international3": "quote",
                "quote": "delete_or_backspace",
                "right_shift": "vk_none",
                "semicolon": "return_or_enter"
            },
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "jis"
            }
        }
    ]
}

あとは言語の設定キー

私はフランス語とロシア語も高頻度で使うので、以前のKarabinerではできていた、言語の切替や言語ごとのキーボード設定がKarabiner-Elementsだけでできるようになれば最高です。

とにかく、私、いま、とっても幸せです!

参考:
https://github.com/tekezo/Karabiner-Elements
https://github.com/tekezo/Karabiner-Elements/blob/master/usage/README.md
https://github.com/tekezo/Karabiner-Elements/tree/master/examples
https://github.com/tekezo/Karabiner-Elements/pull/247

jumjamjohn
Webアプリケーション開発者。AWS, Rails, Nginx, PostgreSQL, Redis, Elasticsearch, Vue.jsをよく使っている。機械学習や画像処理とも戯れる他、セキュリティ, NLP, RaspberryPiに興味あり。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした