![我的问题:](https://linux22.com/image/1074966/%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9A.png)
打字时,我经常按到CapsLock键而不是a键。(QWERTZU 键盘)这很烦人,因为当我意识到按错了键时,我必须删除多个字符/行文本并以正确的形式重写它们。
我正在寻找一种方法来防止这种情况发生。
我发现了一个可能性禁用关键CapsLock在于键盘布局选项。但就我而言,这意味着a
我什么也不写,而只是写。
积极的-> 我不需要重写整行,只需重写一个字符
消极的-> 我按错了键并不是很明显,因为缺少的字符不能被感知为大写的文本行。
因此,我更希望能够映射CapsLock到a。这样,当击中CapsLock一个a
字符时,就会写入。
积极的-> 如果我点击CapsLock而不是,a我就会得到我实际想要输入的输出。
消极的-> 如果我CapsLock在其他任何情况下击中,我都会得到一个a
角色。因为我从来不故意地使用CapsLock密钥这实际上不会造成问题。(我认为是这样,还是这样?)
我的问题:
- 那么我该如何改变呢a?
- 是否存在危险或引发不良行为的情况?
答案1
具体来说,我不知道如何更改CapsLock为a,因为我不记得键码了。稍后我会找到它。但一般来说,您可以使用xmodmap
(和.Xmodmap
) 来更改您的键映射。GNOME 第一次检测到您的.Xmodmap
文件时,它会询问您是否要始终加载它,然后您就设置好了。
我也认为大写锁定键很傻。但是,这个键的位置很有用。我喜欢将它映射到 Control 键。我使用 Control很多,而且我的小指一直以那种尴尬的姿势向下伸,这很累。而且我后来发现,历史Control就是Caps Lock现在的位置。无论如何。在您的主目录中创建一个名为的文件,其中.Xmodmap
包含以下几行:
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
为了使这些更改立即生效,请运行xmodmap ~/.Xmodmap
。
你可以使用 自行查找键码xev
。事实证明 的键码a是 38,或十六进制 0x61。因此,你的 .Xmodmap 可以是:
remove Lock = Caps_Lock
keysym Caps_Lock = 0x61
我强烈建议阅读手册页,其中有很多有趣的内容。
答案2
查看之后man xmodmap
,发现有一个幂等的方法来定义它:
clear Lock
keysym Caps_Lock = Caps_Lock Control_L
重新启动 X 后,您应该能够xmodmap ~/.Xmodmap
重复运行而不会出现任何“bad keysym”错误。
更新:不幸的是,这似乎不是可移植且幂等。