我在使用xmodmap时遇到了奇怪的行为。我想重新映射Caps_Lock,使其充当Escape,Shift+Caps_Lock因此它充当Caps_Lock。在我的例子中,~/.Xmodmap我尝试了以下命令的所有可能的组合,总是得到相同的结果:
clear Lock
remove Lock = Caps_Lock
keycode 66 =
keycode 66 = Escape Caps_Lock
keysym Caps_Lock = Escape Caps_Lock
Run Code Online (Sandbox Code Playgroud)
被Caps_Lock正确地重新映射到Escape
$ xmodmap -pke | grep Caps
keycode 66 = Escape Caps_Lock Escape Caps_Lock
Run Code Online (Sandbox Code Playgroud)
但重启后它仍然会锁定大写字母。所以它同时充当Escape和Caps_Lock。运行xev我可以看到在和state之间切换。虽然按预期工作(如)。如果我登录后在终端中运行,我会像以前一样得到:0x100x12Shift+Caps_LockCaps_Lockxmodmap ~/.Xmodmap
$ xmodmap -pke | grep Caps
keycode 66 = Escape Caps_Lock Escape Caps_Lock
Run Code Online (Sandbox Code Playgroud)
BUT Caps_Lock开始按预期运行,只是 …