XTerm控制序列指定以下密钥序列:
CSI ? 1 h → Application Cursor Keys (DECCKM)
CSI ? 1 l → Normal Cursor Mode (DECOM)
CSI ? 66 h → Application keypad (DECNKM)
CSI ? 66 l → Numeric keypad (DECNKM)Terminfo源格式有以下条目:
Variable: keypad_xmit
Capname: smkx
Termcap: ks
Description: Put terminal in "keypad-transmit" mode但是xterm的终端实际上是smkx=\E[?1h\E=,这在我看来是混淆的(smkx应该会影响键盘,而不是光标键,对吧?)我在这里错过了什么?
发布于 2014-01-21 23:22:20
看起来,在\E=的末尾,您缺少了该smkx。
ESC = Application Keypad (DECKPAM).
ESC > Normal Keypad (DECKPNM).列在“XTerm控制序列”页面上,您可能希望它们会影响键盘。
我在这里发现了一个相关的问题:vt100终端仿真器中的键盘传输方式。
发布于 2015-04-02 09:01:52
线
CSI ? 1 h → Normal Cursor Mode (DECOM)可能应该读
CSI ? 1 l → Normal Cursor Keys (DECCKM)每个smkx和rmkx中都有两个转义序列,因为这些功能用于诅咒,即用于keypad函数。
ncurses的手册页(像其他人一样)没有明确地这样说,但是该函数适用于键盘上所有能够在正常模式和应用程序模式之间切换的特殊键。这是smkx和rmkx的一个众所周知的特性,例如在xterm 为什么我不能在shell中使用光标键?中。
键盘上的特殊键可以包括这些键(取决于终端的类型):
VT100 (它没有功能键或编辑键盘)对另外两个类别有单独的转义序列。在VT220 (由xterm模拟)中,编辑键盘的正常/应用模式是VT100 DECCKM的扩展(用XTerm控制序列描述)。DEC没有为函数键定义相应的特性;但是,如果有某个终端支持此功能,则很可能会在smkx和rmkx中使用。
https://stackoverflow.com/questions/21175561
复制相似问题