Visual Studio CodeでUS配列キーボードを使っていると、別のショートカットキーが発火してしまう問題の解決方法
自分はJIS配列のMacBook ProにUS配列の外部キーボードを使って普段は作業をしています。
Karabiner-Elementsを使っているので普段の入力は全く問題はないのですが、何故かVisual Studio Codeのキーボードショートカットの認識がおかしなことになっていました。
具体的にはcommand + shift + [を押しているのにcommand + shift + ]が反応してしまったり、command + shift + ]を押しているのにcommand + shift + @が反応してしまったりなどなど…
どうやらVisual Studio Code側の設定で「keydown.code」という項目があるらしく、そこの設定を変更すると治りました。
keydown.codeの変更
Visual Studio Codeの[Code]→[基本設定]→[設定]にある入力欄に「keydown.code」と検索すると、項目が絞り込めるので、「code」から「keyCode」に変更します。
コードで編集したい場合は、下記の項目を探して”keyCode”に変更します。
修正前// `keydown.code` (推奨) または `keydown.keyCode` のいずれかを使用するキー操作のディスパッチ ロジックを制御します。
"keyboard.dispatch": "code",
修正前// `keydown.code` (推奨) または `keydown.keyCode` のいずれかを使用するキー操作のディスパッチ ロジックを制御します。
"keyboard.dispatch": "keyCode"
これでちゃんと認識するようになりました。