我想将 capslock 重新映射到 ctrl,我在网上找到了答案:
setxkbmap -option ctrl:nocaps
我在shell里试过了,可以用。现在我想保留它,我发现一些在线帖子说我需要~/.Xkbmap
在我的主目录中创建文件。我按照这个方法将上面的配置放在这个文件中。但这不起作用。重启后,大写锁定仍然是大写锁定。
我挖得更深一点,在 中/etc/X11/xinit/xinitrc.common
,我找到了这一行:(cat $xkbmap | xkbcomp - $DISPLAY
设置$xkbmap
为$HOME/.Xkbmap
)
知道为什么我的 Xkbmap 没有来源吗?我使用的是 OpenSUSE 13.2,使用 LXDM。
答案1
我使用的 DM 没有获取我的配置文件。看来不同的dm有不同的初始化过程。他们不保证获取您的主目录下的文件。
如果你不介意的话,你可以直接修改/etc/X11/下的配置文件,我不知道哪个文件应该是放置键盘设置最合理的地方。但通过一些谷歌搜索应该很容易做到。
就我而言,因为我使用的是 i3 窗口管理器,所以我直接在 i3 配置文件中获取配置文件。而且运行良好。
答案2
正如您提到的,执行的命令是cat $xkbmap | xkbcomp - $DISPLAY
。
该~/.Xkbmap
文件不是获取或执行的 shell 脚本,而应该是xkbcomp
配置文件。希望手册页xkbcomp
会对这些文件的格式有一些指示。
显然,该文件~/.config/lxsession/LXDE-pi/autostart
可能包含在启动时运行的命令,并以@
符号为前缀。尝试添加@setxkbmap -option ctrl:nocaps
到该文件。