LoginSignup
9
12

More than 5 years have passed since last update.

Karabiner-Elementsの英数/かな切替とCheatsheet.appを共存させる

Last updated at Posted at 2018-11-08

はじめに

Macbook Proを新調した際にUS keyboardデビューを果たしました。事前の調べでKarabiner-Elementsを使えば左右Commandキーに英数/かな切替を対応させられることは分かっていましたが、実際に導入したらCheatsheet.appが表示されなくなってしまいました。僕のようなショートカットキー覚えられないマンには辛すぎるので、それらを共存させました。

Karabiner-Elements: キーボードのカスタマイズ等ができる。
Cheatsheet: Commandキー長押しで使えるショートカットをアプリごとに表示してくれる。超便利。

やりたいこと

Commandキーの押し方で挙動を変える

  • 短押し:英数/かな入力の切替
  • 長押し:Cheatsheetの表示

Karabiner-Elementsの設定

~/.config/karabiner/assets/complex_modifications下に以下のjsonファイルを作成。

kana-cheat.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 ModificationsAdd ruleから該当ruleをEnableにするだけ。

Commandキーを押す時間が300 ms以内だとかな/英数切替になり、それ以上経つとCheatsheetが表示されます(というより、単にCommandキーを長押ししている状態になる)。もちろんCheatsheetを表示したままショートカットキーの入力も可能です。時間を調整したければ上のコードで300となっているところを変えてください。

あと、注意点として、Cheatsheetのレスポンスは最速にしておきましょう。これはCheetsheetを表示させた状態で右下の歯車マーク > Delayで変更できます。これをやっておかないと、Commandキーを押して300 ms後に長押しと認識された後にさらにDelayが乗ってCheetsheet表示までの時間がやたら遅くなります。

最後に

Karabiner-Elementsを触ったのは初めてでしたが、色々できそうで夢が膨らみますね。
次はトラックパッドのジェスチャーを弄ってみたいなー。

参考

Qiita: Karabiner-Elementsの設定項目をまとめました

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12