はじめに
Macbook Proを新調した際にUS keyboardデビューを果たしました。事前の調べでKarabiner-Elementsを使えば左右Commandキーに英数/かな切替を対応させられることは分かっていましたが、実際に導入したらCheatsheet.appが表示されなくなってしまいました。僕のようなショートカットキー覚えられないマンには辛すぎるので、それらを共存させました。
Karabiner-Elements: キーボードのカスタマイズ等ができる。
Cheatsheet: Commandキー長押しで使えるショートカットをアプリごとに表示してくれる。超便利。
やりたいこと
Commandキーの押し方で挙動を変える
- 短押し:英数/かな入力の切替
- 長押し:Cheatsheetの表示
Karabiner-Elementsの設定
~/.config/karabiner/assets/complex_modifications
下に以下のjsonファイルを作成。
{
"title": "英数/かな切替",
"rules": [
{
"description": "Commandキー短押しで英数/かな切替、長押しでCheatsheet表示",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 300,
"basic.to_if_held_down_threshold_milliseconds": 100
},
"to_if_alone": [
{
"key_code": "japanese_eisuu"
}
],
"to_if_held_down": [
{
"key_code": "left_command"
}
]
},
{
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 300,
"basic.to_if_held_down_threshold_milliseconds": 100
},
"to_if_alone": [
{
"key_code": "japanese_kana"
}
],
"to_if_held_down": [
{
"key_code": "right_command"
}
]
}
]
}
]
}
あとはKarabiner-Elementsを起動してComplex Modifications
のAdd rule
から該当ruleをEnableにするだけ。
Commandキーを押す時間が300 ms以内だとかな/英数切替になり、それ以上経つとCheatsheetが表示されます(というより、単にCommandキーを長押ししている状態になる)。もちろんCheatsheetを表示したままショートカットキーの入力も可能です。時間を調整したければ上のコードで300
となっているところを変えてください。
あと、注意点として、Cheatsheetのレスポンスは最速にしておきましょう。これはCheetsheetを表示させた状態で右下の歯車マーク > Delay
で変更できます。これをやっておかないと、Commandキーを押して300 ms後に長押しと認識された後にさらにDelayが乗ってCheetsheet表示までの時間がやたら遅くなります。
最後に
Karabiner-Elementsを触ったのは初めてでしたが、色々できそうで夢が膨らみますね。
次はトラックパッドのジェスチャーを弄ってみたいなー。