在带有 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
[...]
如您所见,我将End
和F
按钮绑定到某个特定命令。我需要在 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 修饰符视为不同的值。
以下是一些表格的指针来说明:
- Rxvt 技术参考(见最后的表格)
- 接收值在 ncurses 终端数据库中
- 埃特姆在 ncurses 终端数据库中
- XTerm 和其他终端仿真器的功能键表(题外话XTerm 常见问题解答)
- 终端功能键转义代码(页面上的一些评论不准确)。