アフィリエイト広告を利用しています

Karabiner-ElementsでCommand+Mキーの無効化にしてウィンドウの最小化を止めるコード

結論はこちら

Commandを押したまま、mキーを2回押しすると、最小化する。

{
  "description": "Disable single Command+M, enable Command+M+M for minimize",
  "manipulators": [
    {
      "description": "Command+M+M - Execute minimize on second M",
      "conditions": [
        {
          "name": "cmd_m_pressed_once",
          "type": "variable_if",
          "value": 1
        }
      ],
      "from": {
        "key_code": "m",
        "modifiers": {
          "mandatory": ["command"]
        }
      },
      "to": [
        {
          "key_code": "m",
          "modifiers": ["left_command"]
        },
        {
          "set_variable": {
            "name": "cmd_m_pressed_once",
            "value": 0
          }
        }
      ],
      "type": "basic"
    },
    {
      "description": "Command+M+M - Set flag on first Command+M",
      "from": {
        "key_code": "m",
        "modifiers": {
          "mandatory": ["command"]
        }
      },
      "to": [
        {
          "set_variable": {
            "name": "cmd_m_pressed_once",
            "value": 1
          }
        }
      ],
      "to_delayed_action": {
        "to_if_invoked": [
          {
            "set_variable": {
            "name": "cmd_m_pressed_once",
            "value": 0
          }
        }
        ]
      },
      "parameters": {
        "to_delayed_action_delay_milliseconds": 800
      },
      "type": "basic"
    }
  ]
}

導入方法

Karabiner-Elementsの「Setting」を開き、「Complex Modifications」の「Add your own rule」ボタンを押して、表示されたサンプルコードを全部消して、上のコードを追加するrule名もコードに書いてあるので「save」ボタンを押せばOK

裏舞台

Karabiner-Elementsのルールは、こちらから導入できるので、ウィンドウ最小化はあるはずなのだけど、見つけられず、だったら、LLMで作っちゃえばいいだろうと、

Claudeに

karabiner-elementでウィンドウ最小化止める方法は?

と、尋ねたら、コードが出てきたが、left_commandのみ対象になっていて、右CommandキーとMキーが近くて間違って押しちゃうから、、が期待したように動かず、修正し

次に

これで、mキーを2度押しした時は最小化

と頼むと、Commandキーと関係なく、Mキーを2回押した時に、ウィンドウが最小化しちゃうようになって、

mキーを2回押したらでなく
commandキーを押したまま mキーを2回押したら
です

と頼んだら

理解しました!「Command+M+M」(Commandを押したまま、mキーを2回押し)で最小化する設定ですね。と返ってきて

上のコードが作れました。要件設定が必要なんだなぁと感じましたが、トライアンドエラーで、できちゃうのも素晴らしい。

この記事を書いた人

大東 信仁

カンパチが好きです。

プロフィールはこちら

10月14日開催 参加者募集中
(画像をタップ→詳細へ)

ミッションナビゲート モニター
(画像をタップ→詳細へ)

広告