Karabiner-ElementsがVersion 0.91.6となって、待望の「アプリケーション毎のキーバインディング」がサポートされました。
macOS SierraでKarabinerが使えなくなって以来、私のようなVimユーザにとって「ESCキーで日本語入力をOFFにする」設定が何かと不便で困っていましたが、今回のKarabiner-ElementsのアップデートでなんとかKarabiner時代と同様の設定が可能となりました。有り難し!
設定方法
- 最新版のKarabiner-Elementsをインストール。https://pqrs.org/latest/karabiner-elements-latest.dmg
- Karabiner-Elementsを起動
- 設定ファイルの作成
$ vim ~/.config/karabiner/assets/complex_modifications/FromEscapeToJapanese_eisuu.json
このFromEscapeToJapanese_eisuu.json
ファイルに次の内容を記述して保存。1
FromEscapeToJapanese_eisuu.json
{
"title": "Terminal等でESCあるいは^[で日本語入力を英数に",
"rules": [
{
"description": "TerminalまたはMacVimでESCあるいは^[を押したときに日本語入力を英数に切り替える。",
"manipulators": [
{
"type": "basic",
"from": { "key_code": "escape", "modifiers": { "optional": [ "any" ] } },
"to": [ { "key_code": "japanese_eisuu" }, { "key_code": "escape" } ],
"conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.apple\\.Terminal$", "^org\\.vim\\." ] } ]
},
{
"type": "basic",
"from": { "key_code": "open_bracket", "modifiers": { "mandatory": ["left_control"] } },
"to": [ { "key_code": "japanese_eisuu" }, { "key_code": "escape" } ],
"conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.apple\\.Terminal$", "^org\\.vim\\." ] } ]
}
]
}
]
}
- Karabiner-Elements PreferencesウィンドウでComplex Modificationsメニューを開く
- 左下の"Add rule"をクリックすると次のような設定可能なルールの一覧が表示される。
以上で設定は終わりです。
-
ここでは、TerminalアプリとVimアプリの起動時のみ有効になるように設定しています。他のアプリのbundle identifiersを調べたい場合は、Karabiner-ElementsのメインメニューからEventViewerを起動して"Frontmost Application"から調べることができます。 ↩