我有一个名为〜/ .speedswapper的文件,其中包含以下内容:
! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
...当我跑步时xmodmap ~/.speedswapper
,这会切换esc和Caps Lock键。我的〜/ .profile文件中有这一行,因此每当我登录时,这些键都会切换。
但是,如果我插入外部USB键盘,则该设置似乎不会持久。我的笔记本电脑的键盘工作得很好,但是我必须再次运行命令才能使外部键盘切换两个键。幸运的是,这样做似乎并没有影响我笔记本电脑的键盘-它们似乎是同步的。
一种解决方案是在插入外部键盘时找到某种方式来运行xmodmap命令,但是如果它更健壮,我将对另一种键盘交换解决方案持开放态度。操作系统是Ubuntu 13.04。
鉴于justbrowsing的评论,看来可以通过编写udev规则来实现-我认为我必须使用RUN选项,并且应该在/ dev / hidraw0或/ dev / hidraw1上触发它们,当我插入键盘时会出现...,但我仍在尝试绕开这个概念,因此,我感谢任何知道udev在做什么的人的帮助。