gpt4 book ai didi

linux - xmodmap 清除命令

转载 作者:IT王子 更新时间:2023-10-29 00:46:53 26 4
gpt4 key购买 nike

我很难理解 xmodmap clear 命令,这里是 an example :

    keycode 66 = Control_L
clear Lock
add Control = Control_L
keycode 117 = Caps_Lock
add Lock = Caps_Lock
  1. Control_L已经映射到66了,为什么还要在第3行加上Control?
  2. 为什么在实际添加 Control 时必须清除 Lock?
  3. 为什么在我真正添加 Caps_Lock 之前不清除 Lock?

这真是令人费解。

最佳答案

在 xmodmap 中重要的是区分键码(来自键盘的原始数字)、键符(键的最终含义含义)和修饰符标志,它们是键上的标志(不是键符)。说“我说的这个东西是shift键应该修改其他键为shift键”

让我们用这些“类型”来注释你的例子

keycode <b>(keycode)</b>66 = <b>(keysym)</b>Control_L
clear <b>(modifier)</b>Lock
add <b>(modifier)</b>Control = <b>(keysym)</b>Control_L
keycode <b>(keycode)</b>117 = <b>(keysym)</b>Caps_Lock
add <b>(modifier)</b>Lock = <b>(keysym)</b>Caps_Lock

现在我们可以更好地了解每一行的作用:

keycode 66 = Control_L
将大写锁定键与控制键的含义相关联(但不是修饰符)

清除锁定
将删除以前具有 Lock 修饰符的任何键的修饰符标志(代码 66 所代表的大写锁定键很可能具有)

添加 Control = Control_L
将 control 修饰符添加到与 keysym Control_L 关联的键(可能是键码 66 和原始左控制键)

keycode 117 = Caps_Lock将键码为 117 的键分配为大写锁定(我不确定 117 是什么,我的键盘没有。)

添加 Lock = Caps_LockLock 修饰符添加回 Caps_Lock 键符,并使用其 Shiny 的新绑定(bind) 117 键码。

所以,直接回答您的问题:

1. Control_L has already been mapped to 66, why is it necessary to add Control in line 3?

您需要修饰符和键符才能使修饰键正确地充当修饰符。 (对我来说似乎有点奇怪,但就是这样)

2. Why do I have to clear Lock when I am actually adding Control?

因为与键码 66 关联的键仍会设置 Lock 修饰符。修饰符不会被覆盖,您必须清除它们。

3. Why not clear Lock before I am actually adding Caps_Lock?

你也可以这样做,它会同样好用,因为 Lock 以修饰符为目标,当你弄乱键符时它不会改变。


xmodmap 可能是一个非常难以配置的野兽,以下是我在尝试理解它时使用的一些链接:

  1. http://cs.gmu.edu/~sean/stuff/n800/keyboard/old.html
  2. http://www.jwz.org/xkeycaps/man.html
  3. http://www.in-ulm.de/~mascheck/X11/xmodmap.html

如果有什么我可以尝试澄清的,请告诉我。

关于linux - xmodmap 清除命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com