我曾经xmodmap
在 Thinkpad X120e 上切换 Caps Lock 和 Ctrl 键。按键被交换,但这导致多个应用程序中的键盘快捷键停止正常工作。在 Libre Office 中Ctrl+Shift+s
不再起作用(但是Ctrl+s
并且Ctrl+Shift+v
可以)。Ctrl+Shift+S
也被破坏了emacs
(我将其映射为另存为)并且Ctrl+N
交换Ctrl+Shift+N
了用途(新缓冲区和新帧)。我的.xmodmap
文件如下所示:
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
我在桌面上使用了相同的文件(也运行 Debian Wheezy)并且没有遇到这些问题。
答案1
我发现这条评论在 Askubuntu 问答中,标题为:xmodmap 跨协同的键绑定问题。
摘抄
如果你使用Xkb来交换control/capslock,你会遇到同样的问题吗?您应该能够通过键盘控制面板应用程序或使用 setxkbmap 来执行此操作。众所周知,xmodmap 会将 xkb 感知的应用程序搞砸。 – 詹姆斯·亨斯特里奇 2011-11-17 1:16
也许你应该尝试使用setxbmap
而不是xmodmap
?
我发现这个很好的教程可以帮助您开始使用,setxbmap
标题为:使用 xkb 扩展 X 键盘映射,如果你有兴趣的话。
我试图找到 XKB Aware 的应用程序列表,但没有成功。我确实看到了这份文件,标题为:X 键盘扩展。如果您有兴趣,本文档中提到了 3 类应用程序。