こんにちは、ハル( @hal_virgiL)です。
新しく購入したトラックボールマウスLogicool ERGO M575SをKarabiner-Elementsで制御できたので、その方法の備忘録です。
本来M575SはLogicoolの公式サイトから「Logicool Options」というアプリをダウンロードすることで各種ボタンの設定ができるようになるんですけども。
ひねくれ者の僕はPCに新しいアプリを入れたくなかったので。
普段から愛用しているKarabiner-Elementsを使ってM575Sのボタンを設定することにしました。
Karabiner-Elementsとは
Karabiner-Elementsってなんですか?
Macに接続したデバイス(マウスやキーボードなど)の各ボタンに、特定のキーを割り当てることができるツールになります。
僕の人生の効率化を加速させた最強アプリのひとつです。
必要な方はKarabiner-Elementsの公式サイトから最新版をダウンロードしましょう。
2021年5月14日現在はダウンロードできるファイル「Karabiner-Elements-13.4.0.dmg」の中に入っているpkgを開くことで簡単にインストールすることができます!
Karabiner-ElementsでLogicool ERGO M575Sを動かす方法
Karabiner-Elementsで任意のデバイスを動かすときには
- 設定用ファイルを作成する
- 接続したデバイスのproduct_idとvendor_idを探す
- 指定したいキーを特定
- 指定したキーを何のキーとして扱うのかを登録
- 作った設定ファイルを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です!
一見難しそうなんですけど、全然簡単です。
わかりやすいように色をつけて分解してみると、こんな感じの構造になっています。
まずは【1】と【2】に好きな名前を入力してみましょう。
最終的に画面に表示される項目名になる部分なので、わかりやすい名前をつけておきましょう!
テキストファイル自体の名前は半角英数で保存します。
また、作ったテキストファイルの拡張子は「.json」に変更しておきましょう。
拡張子はファイル名ごと直接書き換えるだけでOKです!
悩んだら「hoge.json」にしておきましょう。
2.デバイスのproduct_idとvendor_idを探す
テキストファイルが作成できたら、次に【3】と【4】の項目を埋めるためにデバイスのproduct_idとvendor_idを特定します。
デバイスの各IDの特定にはKarabiner-EventViewerを使用しましょう。
Karabiner-EventViewerは、Karabiner-Elementsをインストールした際に自動で一緒にインストールされます!
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.指定したいデバイスの種類とキーを特定する
デバイスのproduct_idとvendor_idが分かったら、今度はデバイスのボタンの名前を特定します。
M575Sには、右クリックボタン・左クリックボタンの他に
① ▲ボタン
② ▼ボタン
③ ホイールボタン
上記の3つのボタンがついています。
M575Sはホイールを押し込むことで、ボタンとして機能します!
この各ボタンの名前を特定していきます。
この作業もKarabiner-EventViewerで行うことができます。
EventViewerの「Main」タブを開いた状態でデバイスのボタンを押すと、画面の中に
【5】デバイスの種類と【6】もとのボタンの名前が表示されます。
【5】デバイスの種類について
【5】に入力するデバイスの種類について。
Nameの欄の左側に表示されます。
- マウスの場合 = "pointing_button"
- キーボードの場合 = "key_code"
今回はマウスに関する設定なのでpointing_buttonになります。
左手キーボードに関する設定を行う場合などはkey_codeになります!
ボタンの名前について
【6】に入力するボタンの名前です。
Nameの欄の右側に表示されます。
M575Sの場合は、
- ▲ボタン = button5
- ▼ボタン = button4
- ホイールボタン = button3
であることがわかりました。
コードの【5】【6】の位置に、デバイスの種類とボタンの名前を入力しましょう!
[quads id=1]
4.割り当てたいキーを設定する
【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に反映させる
Karabiner-ElementsのMiscタブを開いて、右下のExport & Importの項目にある「Open config folder (~/.config/karabiner)」のボタンをクリックします。
ボタンを押すと、Finderで設定用のフォルダが開きます!
開いたフォルダからassets>complex_modificationsの順に進み、中に作成した.jsonファイルを移動させます。
/Users/ユーザー名/.config/karabiner/assets/complex_modificationsの中に、作った.jsonファイルを置くことになります!
指定のフォルダに.jsonファイルを移したらKarabiner-Elementsの「Complex modifications」のタブを開き、左下にあるAdd ruleのボタンをクリックします。
【1】【2】で設定した名前を見つけて、Enableをクリック。
.jsonファイル内に“や,が抜けているなどの誤字があった場合は、ここに表示されません。
表示されない場合は、今一度内容を確認してみましょう。
これで設定通りに機能すれば成功です。
Logicool公式の設定アプリよりも自由度の高い設定を行うことができますね!