Seth Kenlon

撰写评论

我有时使用 Xmodmap 来做到这一点。

理论上,您必须使用 `xev` 来找出键盘的正确键码,但老实说,我在三个系统中使用相同的代码都没有问题。

将类似这样的内容放入名为 ~/.xmodmap 的文件中
"""
remove Lock = Caps_Lock
remove Control = Control_L
keycode 66 = Control_L
keycode 37 = Control_L
add Control = Control_L
"""

这会删除 CapsLock 键的“锁定”特性,
然后从左侧控制键中删除控制功能,以提供一个干净的状态。
然后它将键码 66(我键盘上的 Caps Lock 键)分配给 Control_L 信号。
然后它将键码 37(我键盘上的左侧控制键)分配给 Control_L 信号。
然后它确保 Control_L 是一个 Control 键。

严格来说,这有点过头了,但我发现这种额外的明确性在某些顽固的环境中很有用。

要在您的会话中体现这一点,请运行

$ xmodmap ~/.xmodmap

要使其在登录时生效,请将 xmodmap 命令作为您的 .bash_rc 或 .bash_profile 或 .profile 或您喜欢的任何自启动脚本的一部分运行。

好问题,Osqui。Systemd .device 单元可以完成相同的任务,那是我下一篇文章的主题(旨在作为本文的配套文章)。

但是,udev 仍然很重要,原因有二:首先,并非所有 Linux 发行版都附带 systemd;其次,因为有些东西对 Systemd 不可见,但对 udev 可见,因此您必须使用 udev 标签来提示 Systemd 执行操作。

考虑到这两个因素,我不清楚 Systemd 是否打算最终取代 udev,还是仅仅提供一种实现许多相同结果的额外手段。我并不总是喜欢 udev(我仍然不相信它实际上能够在不重启的情况下重新加载其规则),但我不想完全失去它,因为我的 Slackware 系统不运行 Systemd。

© . All rights reserved.