将 X11 源设为我的 ~/.Xkbmap

将 X11 源设为我的 ~/.Xkbmap

我想将 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到该文件。

相关内容