一个办法

一个办法

在带有 FluxBox 的 Ubuntu Server 14 中,我使用绑定 Eterm 上的操作。这是我的user.cfg文件:

[...]

begin actions
    bind ctrl shift button3 to string '^[]6;14^G'
    bind ctrl button3 to menu "Eterm"
    bind ctrl button2 to string '^[[?30t'
    bind ctrl button1 to string '^[]5;^G'
    # mine actions start here
    bind End to echo '^E'
    bind F1 to echo '^[OP'
    bind F2 to echo '^[OQ'
    bind F3 to echo '^[OR'
    bind F4 to echo '^[OS'
    bind F5 to echo '^[5'
    bind F6 to echo '^[6'
    bind F10 to echo '99^Msigi^M'
end actions

[...]

如您所见,我将EndF按钮绑定到某个特定命令。我需要在 telnet 会话上使用此命令。这工作得很好,但如果我激活Caps Lock之前的任何操作都不起作用(甚至是 Eterm 本机操作)。

我不明白为什么会发生这种情况,有人可以吗?


一个办法

根据 的建议,对我有用的解决方案@Thomas Dickey是使用修饰符Lock,因此,此操作:

begin actions
    [...]
    bind End to echo '^E'
    [...]
end actions

变成这样

begin actions
    [...]
    bind End to echo '^E'
    bind Lock End to echo '^E'
    [...]
end actions

现在,End即使 CapsLock 处于活动状态,该按钮也能正常工作

答案1

大写锁定(几乎)与按住 Shift 键相同。

Eterm(实际上是 rxvt,因为这是 Eterm 开始的地方)将功能(和光标)键的 Shift 和 Control 修饰符视为不同的值。

以下是一些表格的指针来说明:

相关内容