【徹底解説】Karabiner-ElementsでERGO M575Sを制御してみた

Karabiner Elementsの使い方

こんにちは、ハル( @hal_virgiL)です。

新しく購入したトラックボールマウスLogicool ERGO M575SKarabiner-Elementsで制御できたので、その方法の備忘録です。

本来M575SはLogicoolの公式サイトから「Logicool Options」というアプリをダウンロードすることで各種ボタンの設定ができるようになるんですけども。

ひねくれ者の僕はPCに新しいアプリを入れたくなかったので。
普段から愛用しているKarabiner-Elementsを使ってM575Sのボタンを設定することにしました。

スポンサーリンク

Karabiner-Elementsとは

ユイ
ユイ

Karabiner-Elementsってなんですか?

Macに接続したデバイス(マウスやキーボードなど)の各ボタンに、特定のキーを割り当てることができるツールになります。

僕の人生の効率化を加速させた最強アプリのひとつです。

Karabiner Elementsの公式サイト

必要な方はKarabiner-Elementsの公式サイトから最新版をダウンロードしましょう。

ハル
ハル

2021年5月14日現在はダウンロードできるファイル「Karabiner-Elements-13.4.0.dmg」の中に入っているpkgを開くことで簡単にインストールすることができます!

Karabiner-ElementsでLogicool ERGO M575Sを動かす方法

Karabiner-Elementsで任意のデバイスを動かすときには

  1. 設定用ファイルを作成する
  2. 接続したデバイスのproduct_idvendor_idを探す
  3. 指定したいキーを特定
  4. 指定したキーを何のキーとして扱うのかを登録
  5. 作った設定ファイルをkarabiner-Elementsに反映させる

という5つの手順が必要になります。

ハル
ハル

知識がなくても、とりあえずこの記事の手順にそってやってみればできるようになっています!

1. 設定用ファイルを作成する

まずは、下記のコードをコピーしてテキストエディタに貼り付けてください。
これがKarabiner用の設定テンプレートになります。


{
    "title":"【1】Karabinerで表示されるフォルダ名",
    "rules":[
        {
            "description":"【2】Karabinerで表示される設定名",
            "manipulators":[

{
                    "conditions":[{"type":"device_if","identifiers":[{"product_id":【3】デバイスのproduct ID,"vendor_id":【4】デバイスのvendor ID}]}],
                    "type":"basic",
                    "from":{"【5】マウスかキーボードかの指定":"【6】もとは何のボタンかを指定"},
                    "to":{"key_code":"【7】何のボタンとして操作したいかを指定","modifiers":[“【8】ShiftやCommand、Optionの同時押しはココで指定"]}
                },
{
                    "conditions":[{"type":"device_if","identifiers":[{"product_id":【3】デバイスのproduct ID,"vendor_id":【4】デバイスのvendor ID}]}],
                    "type":"basic",
                    "from":{“【5】マウスかキーボードかの指定":"【6】もとは何のボタンかを指定"},
                    "to":{"key_code":"【7】何のボタンとして操作したいかを指定"}
                }

            ]
        }
    ]
}

// High Tone
// https://highxtone.com

ユイ
ユイ

え、いきなり何ですかコレ

ハル
ハル

大丈夫!
何も考えずにテキストファイルを作ってコピペするだけでOKです!


Karabinerの設定用ファイルの例
(※タップで拡大)

一見難しそうなんですけど、全然簡単です。
わかりやすいように色をつけて分解してみると、こんな感じの構造になっています。

まずは【1】【2】に好きな名前を入力してみましょう。

ハル
ハル

最終的に画面に表示される項目名になる部分なので、わかりやすい名前をつけておきましょう!

ファイル名を半角英数.jsonにしておく

テキストファイル自体の名前は半角英数で保存します。
また、作ったテキストファイルの拡張子は「.json」に変更しておきましょう。

ハル
ハル

拡張子はファイル名ごと直接書き換えるだけでOKです!
悩んだら「hoge.json」にしておきましょう。

2.デバイスのproduct_idとvendor_idを探す

テキストファイルが作成できたら、次に【3】【4】の項目を埋めるためにデバイスのproduct_idとvendor_idを特定します。

Karabiner EventViewerのアイコン

デバイスの各IDの特定にはKarabiner-EventViewerを使用しましょう。

ハル
ハル

Karabiner-EventViewerは、Karabiner-Elementsをインストールした際に自動で一緒にインストールされます!


EventViewerのDeviceタブ

Karabiner-EventViewerの「Devices」のタブを開くと、現在Macに接続されているデバイスの一覧が表示されます。

"manufacturer(メーカー)"や"product(製品名)"の項目から、M575Sを特定してみましょう。

今回は、Logicoolの本社のメーカー名「Logitech」と表記されている部分を探します。

ハル
ハル

実は日本ではLogicool(ロジクール)の呼び名が一般的ですが、世界ではLogitech(ロジテック)と呼ばれるほうが一般的です!

{
  "device_id": 4294975682,
  "is_karabiner_virtual_hid_device": false,
  "is_keyboard": false,
  "is_pointing_device": true,
  "location_id": 1471885945,
  "manufacturer": "Logitech",
  "product": "Unknown",
  "product_id": 45095, ←【3】
  "serial_number": "3205067019780DE6",
  "transport": "Bluetooth Low Energy",
  "vendor_id": 1133 ←【4】
}

Logitechの塊をよく読んでみると、Logicool ERGO M575Sの場合は

  • 【3】"product_id": 45095
  • 【4】"vendor_id": 1133

であることが分かりました。

ハル
ハル

3 4 の設定

先ほどコピーしたコードの【3】【4】の位置に、このコードを入力してみましょう!

3.指定したいデバイスの種類とキーを特定する

デバイスのproduct_idとvendor_idが分かったら、今度はデバイスのボタンの名前を特定します。

M575Sのボタン

M575Sには、右クリックボタン・左クリックボタンの他に

① ▲ボタン
② ▼ボタン
③ ホイールボタン

上記の3つのボタンがついています。

ハル
ハル

M575Sはホイールを押し込むことで、ボタンとして機能します!

この各ボタンの名前を特定していきます。

この作業もKarabiner-EventViewerで行うことができます。

EventViewerでボタンの名前を特定する

EventViewerの「Main」タブを開いた状態でデバイスのボタンを押すと、画面の中に
【5】デバイスの種類【6】もとのボタンの名前が表示されます。

【5】デバイスの種類について

【5】に入力するデバイスの種類について。
Nameの欄の左側に表示されます。

  • マウスの場合 = "pointing_button"
  • キーボードの場合 = "key_code"

今回はマウスに関する設定なのでpointing_buttonになります。

ハル
ハル

左手キーボードに関する設定を行う場合などはkey_codeになります!

ボタンの名前について

【6】に入力するボタンの名前です。
Nameの欄の右側に表示されます。

M575Sの場合は、

  • ▲ボタン = button5
  • ▼ボタン = button4
  • ホイールボタン = button3

であることがわかりました。

ハル
ハル

5 6 の設定について

コードの【5】【6】の位置に、デバイスの種類とボタンの名前を入力しましょう!

[quads id=1]

4.割り当てたいキーを設定する

【7】【8】の設定です。

ハル
ハル

7 8 の設定について

この行に入力します!

例えば――


Wを割り当てたい場合。

"to":{"key_code":"W"}

ハル
ハル

キーがひとつだけの場合はシンプルですね!


⌘Command+Vを割り当てたい場合。

"to":{"key_code":"v","modifiers":["left_command"]}

ハル
ハル

CommandやShiftなどのキーと組み合わせたい場合は【8】の枠に追加します!


⌘Command+⇧shift+⌥Option+Pを割り当てたい場合。

"to":{"key_code":"p","modifiers":["left_command","left_shift","left_option"]}

ハル
ハル

さらに複数のキーを同時押ししたい場合には,で区切って入力しましょう!

キーの名前をで囲むことも忘れずに!

最終的なコード

最終的に僕が書いたコードがこちら。

{
 "title”:”High Tone自作キーバインド設定",
 "rules":[
   {
    "description":"ERGO M575Sボタン設定",
    "manipulators":[
      { // ▲ボタン
       "conditions":[{"type":"device_if","identifiers":[{"product_id": 45095,"vendor_id":1133}]}],
       "type":"basic",
       "from":{"pointing_button":"button5"},
       "to":{"key_code":"close_bracket","modifiers":["left_command"]}
      },
      { // ▼ボタン
       "conditions":[{"type":"device_if","identifiers":[{"product_id": 45095,"vendor_id":1133}]}],
       "type":"basic",
       "from":{"pointing_button":"button4"},
       "to":{"key_code":"open_bracket","modifiers":["left_command"]}
      },
      { // ホイールボタン
       "conditions":[{"type":"device_if","identifiers":[{"product_id": 45095,"vendor_id":1133}]}],
       "type":"basic",
       "from":{"pointing_button":"button3"},
       "to":{"key_code":"w","modifiers":["left_command"]}
      }
     ]
    }
   ]
}

// High Tone
// https://highxtone.com

上ボタンにはブラウザの進む、下ボタンはブラウザの戻る、ホイールボタンにはタブを閉じるショートカットを登録しました。

捗る…!!

M575Sで同じ設定で使用したい方は、このコードをそのままコピーして使用していただけます。

ハル
ハル

[open_bracket
]close_bracket

という名前で入力することで

⌘Command+[(戻る)

⌘Command+](進む)

に対応させることができました!

5. 作った設定ファイルをkarabiner-Elementsに反映させる

MiscタブのOpen configボタン

Karabiner-ElementsのMiscタブを開いて、右下のExport & Importの項目にある「Open config folder (~/.config/karabiner)」のボタンをクリックします。

ハル
ハル

ボタンを押すと、Finderで設定用のフォルダが開きます!


Complex modificationsフォルダに保存

開いたフォルダからassetscomplex_modificationsの順に進み、中に作成した.jsonファイルを移動させます。

ハル
ハル

/Users/ユーザー名/.config/karabiner/assets/complex_modificationsの中に、作った.jsonファイルを置くことになります!


Add ruleボタンを押す

指定のフォルダに.jsonファイルを移したらKarabiner-Elementsの「Complex modifications」のタブを開き、左下にあるAdd ruleのボタンをクリックします。

Enableを押してルールを登録

【1】【2】で設定した名前を見つけて、Enableをクリック。

ハル
ハル

.jsonファイル内に,が抜けているなどの誤字があった場合は、ここに表示されません。
表示されない場合は、今一度内容を確認してみましょう。

これで設定通りに機能すれば成功です。

ハル
ハル

Logicool公式の設定アプリよりも自由度の高い設定を行うことができますね!