gpt4 book ai didi

terminal - Terminfo smkx 和应用程序光标键与应用程序键盘

转载 作者:行者123 更新时间:2023-12-04 18:42:56 25 4
gpt4 key购买 nike

XTerm Control Sequences指定以下键序列:

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 Source Format有以下条目:
Variable: keypad_xmit
Capname: smkx
Termcap: ks
Description: Put terminal in "keypad-transmit" mode

但是 xterm 的 terminfo 实际上是 smkx=\E[?1h\E= ,这对我来说似乎很困惑(smkx 应该影响键盘,而不是光标键,对吧?)。我在这里缺少什么?

最佳答案

线

CSI ? 1 h  → Normal Cursor Mode (DECOM)

可能应该阅读
CSI ? 1 l  → Normal Cursor Keys (DECCKM)

每个 smkx 中都有两个转义序列和 rmkx因为这些功能用于curses,即用于 keypad 功能。

ncurses(像其他人一样)的手册页没有明确说明,但该功能适用​​于键盘上的所有特殊键,这些键可以在正常模式和应用程序模式之间切换。这是 smkx的一个众所周知的特性。和 rmkx ,例如在 xterm 常见问题解答 Why can't I use the cursor keys in (whatever) shell? 中.

键盘上的特殊键可能包括这些(取决于终端类型):
  • 数字小键盘(位于 PC 键盘的最右侧)
  • 编辑小键盘(主键盘和数字键盘之间的 6 个键)
  • 光标键
  • 功能键(通常位于 PC 键盘的顶部)

  • VT100 (没有功能键或编辑键盘)对其他两个类别有单独的转义序列。在 VT220(由 xterm 模拟)中,编辑键盘的正常/应用模式是 VT100 DECCKM 的扩展,(记录在 XTerm Control Sequences 中)。 DEC 没有为功能键定义相应的特性;但是,如果有一些终端支持此功能,它可能会在 smkx 中使用。和 rmkx .

    关于terminal - Terminfo smkx 和应用程序光标键与应用程序键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175561/

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