ctrl
为了实现左键和键的低级交换capsLock
,我使用xkbcomp
如下:
首先获取当前的键盘布局:
xkbcomp $DISPLAY output.xkb
然后我将 2 行output.xkb
从
<LCTL> = 62;
...
<CAPS> = 66;
至
<CAPS> = 62;
...
<LCTL> = 66;
然后运行
xkbcomp output.xkb $DISPLAY
使其生效。它在大多数桌面应用程序中都能完美运行。但问题在于vscode
. 实际上它在正常模式下也可以正常工作vscode
,但是当我尝试更改快捷键vscode
并提示我按新键更改快捷键时,我按下capsLock
键盘上的键并vscode
认为我同时按下了ctrl
+ capsLock
。这不是我所期望的,vscode
不应该知道我的capsLock
键,它应该只知道我按下了ctrl
键,因为XServer
应该只告诉vscode
我按下了ctrl
键。我认为是因为我的配置不完整,所以vscode
仍然可以检测到我的capsLock
密钥。谁能告诉我如何完全交换ctrl
and capsLock
?xmodmap
不应该是解决方案,因为它基于xkbcomp
并且功能有限。