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を確認しておきます。
「左手用デバイスのこのキーを押したとき」という設定を書くのに使うからです!
押す方のキーのキーコードを調べる
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
}
]
}
]
}
]
}
]
}
コメント