MacOSの初期設定ショートカットをツールで封じる

ショートカットっていうと、Chromeのcommad+oでファイルを開いたり、MacOS共通ショートカットにはcommand+hでアクティブなウィンドウを非表示にしたり、ターミナルアプリのcommand+wでタブを閉じるとかあります。これらは通常覚えておくと便利に働くことが多いのですが、手元が狂って暴発することがよくあります。毎日使っていると暴発はできるだけ防ぎたいです。このテキストでは、使わないショートカットを無効にしてしまう方法について書きます。

使用するツールは、Karabiner-Elementsで、 complex modifications という機能を使います。設定はwebから落とせたり、自分で自由に書くことができます。webから落としたルールを自分でカスタマイズするとやりたいことは大体できます。
以下は設定例です。

Chromeでcommad+oでファイルを開けないようにする

{
    "description": "disable command + o(Chormeではファイルオープン)",
    "manipulators": [
        {
            "from": {
                "key_code": "o",
                "modifiers": {
                    "mandatory": [
                        "command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "vk_none"
                }
            ],
            "type": "basic"
        }
    ]
},

ターミナルアプリでcommand+wでタブを閉じれなくする

{
    "description": "disable command to close tab on terminal",
    "manipulators": [
        {
            "from": {
                "key_code": "w",
                "modifiers": {
                    "mandatory": [
                        "command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "vk_none"
                }
            ],
            "type": "basic",
            "conditions": [
              {
                "type": "frontmost_application_if",
                "bundle_identifiers": [
                  "^com\\.apple\\.Terminal"
                ]
              }
            ]
        }
    ]
},

ターミナルアプリでcommand+wでタブを閉じれないようにする

{
    "description": "disable command to close tab on terminal",
    "manipulators": [
        {
            "from": {
                "key_code": "w",
                "modifiers": {
                    "mandatory": [
                        "command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "vk_none"
                }
            ],
            "type": "basic",
            "conditions": [
              {
                "type": "frontmost_application_if",
                "bundle_identifiers": [
                  "^com\\.apple\\.Terminal"
                ]
              }
            ]
        }
    ]
},

上記のようにJSONを書くことで自分では絶対に使うことのないショートカットを封じることができます。また、痒いところに手がとどこないような変更にも使えます。

他の設定については、githubに書いています。 https://github.com/jiikko/dotfiles/blob/4d22fcf9cf425d00983eedba93b5cbe39fc69812/mac/karabiner.json#L19

以上。