小编Vas*_*ily的帖子

如何使用 xkb [and|or] xmodmap 使 Control-j 在没有设置控制位(!)的情况下作为 Return 工作

在 xterm 和 vim 中使用 Control-j 而不是 Return 对我来说看起来非常方便,我想对所有 X 应用程序使用这个序列。

通过将 ISO_Level5_Shift 重新映射到 Control 键,并将 Return 设置为 j 键的第 5 级符号,可以使用 xkb 轻松完成,但在此之后,vim 和 xterm 中的所有其他 Control 组合停止工作(因为 xterm 和 vim 无法理解Mod键),这是绝对不能接受的。

我通过在 xkb_symbols 部分使用“LOCAL_EIGHT_LEVEL”键类型,在不重新映射 ISO_Level5_Shift 的情况下做到了这一点,它使用 Control(而不是 ISO_Level5_Shift)作为 Level5 修饰符:

    key <AC07> { [ j, J, plusminus, NoSymbol, Return ], type[Group1]= "LOCAL_EIGHT_LEVEL" };
Run Code Online (Sandbox Code Playgroud)

这个解决方案的问题——xkb 设置了 Control 位,Control-j 返回 Control-Return 而不仅仅是 Return。有时(很多时候,顺便说一句)这种组合不能作为返回。

所以,我需要的是修改这些解决方案之一,以取消 Control-j 组合的控制位。

根据这个链接:Arch Wiki article about XKB可以做到,但我不知道如何做到这一点。所以,这就是我的问题。

也许我必须为 Return+Control 或类似的东西添加一些 xkb_compatibility 规则,或者添加一些 xmodmap 映射 …

keyboard-shortcuts keyboard-layout xmodmap xkb

5
推荐指数
1
解决办法
1115
查看次数