うごくものづくりのために

技術的な備忘録がメインです。

LinuxのVSCodeで、Xmodmapでのキーアサイン変更が反映されなくてハマった

UbuntuLinux版のVSCodeVim拡張を入れて使っていたところ、 Xmodmapでのキーアサイン変更が反映されなくてハマりました。

結論: settings.jsonに以下を追記する

"keyboard.dispatch": "keyCode"

VS Code no longer respects remapped escape key using xmodmap · Issue #32037 · microsoft/vscode · GitHub

以下駄文

普段自分は、Xmodmapで 全角半角キーをEscに、 CapsLockを左Ctrlに変更して使っています。

~/.Xmodmap

! Zenkaku_hankaku -> Esc
keycode 49 = Escape

! CapsLock -> Control_L
keycode 66 = Control_L

が、VSCode上で 全角半角キーを押してもVimのインサートモードから抜けられず困りました。 ググったら上記のIssueがヒットしたので、settings.jsonに追記したところきちんと効くようになりました。