Karabiner-Elementsでターミナルのショートカットを無効化する
環境
- macOS 10.14 (Mojave)
- ターミナルアプリ 2.9.5
問題
USキーボードを使っているので,Karabiner-Elementsを使いこちらのComplex Modificationsを使って⌘キーの単発入力を英数・かなキーに入れ替えているのですが,英数・かな切り替えのために⌘キーを押したときに,次のキータイプが被ってしまい,ターミナルの⌘ショートカットが間違って発動してしまう問題に悩んでいました.
特によく間違って発動するのが⌘T(新規タブ),⌘D(ペインの分割),⌘W(ウィンドウを閉じる)だったので,これらを無効化するComplex Modificationsを作成しました.
手順
新しいComplex Modificationsの作成
以下のファイルを$HOME/.config/karabiner/assets/complex_modifications/
に作成します.
{
"title": "ターミナル設定",
"rules": [
{
"description": "⌘T(新規タブ)の無効化",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "t",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"caps_lock"
]
}
},
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [
"^com\\.apple\\.Terminal$"
]
}
]
}
]
},
{
"description": "⌘D(ペインの分割)の無効化",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "d",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"caps_lock"
]
}
},
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [
"^com\\.apple\\.Terminal$"
]
}
]
}
]
},
{
"description": "⌘W(ウィンドウを閉じる)の無効化",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "w",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"caps_lock"
]
}
},
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [
"^com\\.apple\\.Terminal$"
]
}
]
}
]
}
]
}
Karabiner-ElementsでComplex Modificationsの追加
上記ファイルを作成すると,Karabiner-ElementsのComplex ModificaitonsタブでAdd ruleした際に,追加した3つのルールがインポートできるようになっているので,これらをインポートします.
ターミナルアプリで確認
ターミナルアプリで⌘T,⌘D,⌘Wを押しても何も反応しなくなっている(無効化)されているはずです.
注意
今回のルールはターミナルアプリに対する3つのショートカット(⌘T,⌘D,⌘W)しか無効化していないので,iTermなど他のアプリを使っている場合や,他のショートカットを無効化したい場合は,terminal-disable-shortcut.json
を修正する必要があります.(キーコードとアプリのBundle Identifierくらいなので,見ればなんとなくわかると思います.)
課題
ショートカットの誤作動はこれで防げそうですが,ショートカットを潰すという回避策でしかないので,本当は自作キーボードで英数・かなキー付きの半USキーボードなんか作りたいですね・・・(MacBookだとどうしようもないけど.)
参考
Author And Source
この問題について(Karabiner-Elementsでターミナルのショートカットを無効化する), 我々は、より多くの情報をここで見つけました https://qiita.com/ottijp/items/392783cef49d3eafca14著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .