Edited at

フットスイッチでUnitTestを走らせる

誕生日プレゼントとして、3連フットスイッチをもらった。

https://www.amazon.co.jp/dp/B0759SPDLZ/

IMG_6695.JPG

これを活用したいということで、IntelliJ で UnitTest を走らせる際のトリガとして使うことにした。

しかし、この製品に問題があって、Windows用のドライバしか付いていない。私はOS Xなユーザである。

さてどうするか。

ということで、Amazon のカスタマーQ&Aには以下のような投稿があるのを発見。

image.png


結論から言うと使えます、というか使っています。この機器はPCに接続すると 普通のUSBキーボードとして認識されます。


ということで、実際に接続してみると、左から a / b / c というキーが割あたっていることがわかった。

Mac上でキーアサインを変更するには、 Karabiner を使うとよいらしい。

手順1:

Karabiner をインストールする。

手順2:

フットスイッチをMacBookに接続する。

手順3:

Karabiner を開き、Devices タブに行き、 Vendor Id, Product Id を調べる。これは、フットスイッチだけでキーアサインを変更するために必要になる。

ついでに、チェックボックスを入れて、キーの変更を有効にする。

image.png

手順4:

以下を参考にキーバインド変更用のJSONファイルを書く。

単純なキーアサイン変更であれば、Simple Modification のタブでも行えるが、今回のように IntelliJ のテストを走らせるショートカット (Shift + F10) を割り当てたい場合、Complex Modifications による設定が必要。

https://qiita.com/s-show/items/a1fd228b04801477729c


~/.config/karabiner/assets/complex_modifications/1.json

{

"title": "キーペダル",
"rules": [
{
"description": "右 -> Shift + F10割当",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "c"
},
"to": [
{
"key_code": "f10",
"modifiers": ["left_shift"]
}
],
"conditions": [
{
"type": "device_if",
"identifiers": [
{
"vendor_id": 3141,
"product_id": 29700
}
]
},
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com\\.jetbrains\\.intellij"]
}
]
}
]
},
{
"description": "中央 -> Shift + Ctrl + F10割当",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "b"
},
"to": [
{
"key_code": "f10",
"modifiers": ["left_shift", "left_control"]
}
],
"conditions": [
{
"type": "device_if",
"identifiers": [
{
"vendor_id": 3141,
"product_id": 29700
}
]
},
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com\\.jetbrains\\.intellij"]
}
]
}
]
},
{
"description": "左 -> F3",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "a"
},
"to": [
{
"key_code": "f3",
"modifiers": ["fn"]
}
],
"conditions": [
{
"type": "device_if",
"identifiers": [
{
"vendor_id": 3141,
"product_id": 29700
}
]
},
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com\\.jetbrains\\.intellij"]
}
]
}
]
}
]
}

ポイント:

conditions[].typefrontmost_application_if を指定すると、特定のアプリケーションだけでキーバインドを変更することができる。ここでは、IntelliJ の bundle_identifier を指定している。

手順5:

Complex Modification -> Add rule に、上記で追加したルールが見つかるので、Add Rule をする。

image.png

これで、フットスイッチで、快適なUnitTestライフを送れるようになる。アプリごとによくやるアクションをフットスイッチに割り当てると、なんだか楽しいので、おすすめであります。