【Karabiner-Elements】外付けテンキーをMacの左手用デバイスにする

  • URLをコピーしました!

Macでcommand + shift + control + 4 を急にたくさん押すことになって(スクリーンショット)左手が辛かったので、左手用デバイスに挑戦してみました!

購入したのはこちらのテンキー

目次

Karabiner-Elements

https://karabiner-elements.pqrs.org/

キーボードの特定のキーを、別のキーに割り当てるのに使えるMac用のソフトです。

Windows慣れしている私は、ctrlキーとcommandキーを入れ替えたり、Windows用キーボードで英数/かなを切り替えられるようにするために使っています。

Karabiner-ElementsのComplex modificationsを作成・登録する

~/.config/karabiner/assets/complex_modifications にJSON ファイルを保存すると、管理画面から設定を呼び出せるようになるので、JSONファイルを作成します!

公式マニュアルもあります!(英語)

https://karabiner-elements.pqrs.org/docs/json/

左手用デバイスのvendor_idとproduct_idを調べる

Karabiner-EventViewerをつかって、左手用デバイスのvendor_idとproduct_idを確認しておきます。

「左手用デバイスのこのキーを押したとき」という設定を書くのに使うからです!

詳しい説明↓
https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/conditions/device/

押す方のキーのキーコードを調べる

Karabiner-EventViewerをつかって、押す方のキーのキーコードを調べます。

電卓アプリ起動キーのような特殊キーの場合

EventViewerでは電卓アプリ起動キーのようなキーを検知できないことがありますが、

"consumer_key_code": "al_calculator"

このようにkey_codeではなくconsumer_key_codeで指定すると使えたりします!!

こちらを参考にして探しました。

公式のマニュアルの説明のところ:https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/from/

説明のところにでてくる、name list:https://github.com/pqrs-org/Karabiner-Elements/blob/main/src/apps/PreferencesWindow/Resources/simple_modifications.json

JSONファイル作成

~/.config/karabiner/assets/complex_modifications にJSON ファイルを作成します。

下記のコードは、今回購入したテンキーの電卓起動キーを押した際に、command + shift + 4 が発動するように設定したコードです。

title と descriptionは自分にとってわかりやすいテキストを入れておきましょう。

書き方はこちらを参考にしました: https://qiita.com/s-show/items/40ad22c4ee4a0465fad5

{
  "title": "iClever",
  "rules": [
    {
      "description": "iClever calculator -> cmd+shift+4",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "consumer_key_code": "al_calculator"
          },
          "to": [
            {
              "key_code": "4",
              "modifiers": [
                "command",
                "shift"
              ]
            }
          ],

          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                {
                  "vendor_id": 1256,
                  "product_id": 28705
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

作成した設定をKarabiner-Elementsで有効にする

Karabiner-Elementsの設定から、Complex modifications → 左下のAdd rule を選択すると、作成した設定(JSONのtitleとdescriptionに設定した文字)が表示されるはずです。

右側の「Enable」を押して有効化します。

実際に、左手用デバイスを押して期待通りの動作をするか確認

実際に左手用デバイスの、設定したボタンを押して期待通りの動作をするか確認して、動いたら完成です!

デバイスの指定やキーの指定が間違っていると、正常に動作しないので、おかしいときはそのあたりを中心に調整してみましょう。

※完成するまで10回は書き直しました!

おまけ:作成したJSONファイル全文

{
  "title": "iClever",
  "rules": [
    {
      "description": "iClever calculator -> cmd+shift+4",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "consumer_key_code": "al_calculator"
          },
          "to": [
            {
              "key_code": "4",
              "modifiers": [
                "command",
                "shift"
              ]
            }
          ],

          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                {
                  "vendor_id": 1256,
                  "product_id": 28705
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "iClever tab -> cmd+shift+ctrl+4",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "tab"
          },
          "to": [
            {
              "key_code": "4",
              "modifiers": [
                "command",
                "shift",
                "control"
              ]
            }
          ],
          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                {
                  "vendor_id": 1256,
                  "product_id": 28705
                }
              ]
            }
          ]
        }
      ]
    },

    {
      "description": "iClever equal -> cmd+shift+5",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "keypad_equal_sign"
          },
          "to": [
            {
              "key_code": "5",
              "modifiers": [
                "command",
                "shift"
              ]
            }
          ],
          "conditions": [
            {
              "type": "device_if",
              "identifiers": [
                {
                  "vendor_id": 1256,
                  "product_id": 28705
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる