如何更改CapsLock键以产生“ a”?


22

打字时,我经常按的是CapsLock键而不是a键。(QWERTZU键盘)这很烦人,因为当我意识到按下错误的键的那一刻,我将必须删除多个字符/多行文本,然后以正确的格式重写它们。

我正在寻找一种方法来防止这种情况。

我发现可以在“ 键盘布局选项”中禁用CapsLock键。但这对我而言意味着,我不会写什么也不会写。a

肯定 ->我不必重写整行,而只需重写一个字符

->敲错键不是很明显,因为缺少的字符不能看作大写的文本行。

因此,我希望可以映射CapsLocka。因此,当击中CapsLock一个a字符时将被写入。

正面 ->如果我按下CapsLock而不是a我真正想要输入的输出。

->如果我CapsLock在其他任何情况下命中,我都会得到一个a角色。由于我从来没有刻意使用CapsLock密钥,所以这实际上不会造成问题。(我认为是吗?)

我的问题:

  1. 那么,我该如何更改为a
  2. 并且在任何情况下这可能是危险的/挑衅性行为吗?

3
您是如何获得CapsLock和a外观和按钮外观的?
djeikyb

fluteflute编辑了我的问题,使它们看起来像这样,但是我也对此感兴趣。

7
您撰写<kbd>a</kbd>(仅在问答中有效,不适用于评论)
8128年

Answers:


21

具体来说,我不知道如何更改CapsLocka,因为我不记得按键代码。我待会儿找到。但一般来说,您可以使用xmodmap(和.Xmodmap)更改键盘映射。GNOME第一次检测到您的.Xmodmap文件时,会询问您是否要始终加载它,然后进行设置。

我也认为大写锁定很傻。但是,关键位置很有用。我喜欢将其映射到Control键。我使用的控制了很多,而且会很累我的小指被不断向下到达在尴尬的境地。正如我后来发现的那样,历史ControlCaps 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

我强烈建议您阅读手册页,其中包含许多有趣的内容。


我只需要在发布的行中使用最后一个?我收到以下错误:xmodmap: /home/pit/.Xmodmap:1: bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes xmodmap: /home/pit/.Xmodmap:2: bad keysym target keysym 'Caps_Lock', no corresponding keycodes xmodmap: 2 errors encountered, aborting. 在联机帮助页中没有看到任何说明此现象的信息。我还尝试将命令作为sudo运行,但它没有更改错误。

2
大声笑,我在键盘布局选项中的先前测试中仍然禁用了CapsLock键。重新启用它后,它可以工作。谢谢。

请注意:我使用本指南来获取大写锁定以映射到控件,但是我必须add Control = Caps_Lock在remove和keyym行之间插入以使其起作用。
布莱恩·海德

2

看过之后man xmodmap,发现有一种幂等的定义方式:

clear Lock
keysym Caps_Lock = Caps_Lock Control_L

重新启动X之后,您应该能够xmodmap ~/.Xmodmap重复运行而不会出现任何“错误的keyym”错误。

更新:不幸的是这似乎并不可移植,幂等

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.