两次加载 bashrc 后,ESC 和 Caps Lock 会交换为原始映射

两次加载 bashrc 后,ESC 和 Caps Lock 会交换为原始映射

我按照 xmodmap 的方式交换了 ESC 和 Caps Lock此链接. ~/.bashrc。当我第一次加载 .bashrc 时,它运行良好。但是,如果我编辑 .bashrc 的不同部分并使用相同命令重新加载它,两个键会交换回原始映射。为什么会发生这种情况?

我的 .bashrc 文件的一部分

...
xmodmap ~/.speedswapper
...

我的 ~/.speedswapper 脚本

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

答案1

发生这种情况是因为~/.bashrc每次打开新终端时都会调用。您应该将其放入xmodmap ~/.speedswapper某个文件,该文件会在您登录计算机后执行。我更喜欢将其放在~/.xinitrc

更好的方法是将交换代码放在~/.Xmodmap正确执行的位置。但对我来说,它总是不稳定。

相关内容