将 caps 映射到 ctrl 不起作用

将 caps 映射到 ctrl 不起作用

我决定将 caps-lock 键用作 ctrl 键,因此我将其添加XKBOPTIONS="caps:ctrl_modifier"到我的/etc/defaults/keyboard文件中。该文件目前包含以下内容:

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="nodeadkeys"
XKBOPTIONS="caps:ctrl_modifier"
BACKSPACE="guess"

此外,重启后$ setxkbmap -query返回

rules:      evdev
model:      pc105
layout:     us
variant:    nodeadkeys
options:    caps:ctrl_modifier

正如预期的那样(pc105因为它最初是德语键盘)。

但是,无论出于什么原因,这都无法按照我的意愿设置大写字母的行为...如果我尝试手动运行,$ setxkbmap -option "caps:ctrl_modifier"我会得到 Error loading new keyboard description;无论我写什么选项,我都会得到相同的错误。我还注意到,如果我$ setxkbmap -layout us之后自己运行,然后$ setxkbmap -option "caps:ctrl_modifier"再次运行,大写字母现在按预期工作。

问题:我做错了什么?我该如何做对?

答案1

好的,我找到了问题的根源:它使用了一个额外的键盘(也许这与它是无线的有关,不确定)。

如果我按照说明手动修复问题后重新插入键盘,我又会遇到同样的情况,$ setxkbmap -option键盘不工作,大写字母不起作用。

显然,在检测到键盘之前会读取配置或类似情况。现在的问题是如何修复此问题,但我想谷歌搜索会有所帮助。

现在我可以用它写一个小脚本

setxkbmap -layout us -option caps:ctrl_modifier

里面,并在重启后运行它(或者甚至把它放进去.bashrc)。

相关内容