在Debian系统上,END按键会生成^[[F:
$ showkey -a
Press any keys - Ctrl-D will terminate this program
^[[F 27 0033 0x1b
91 0133 0x5b
70 0106 0x46
但是,为什么此键盘和弦不在terminfo中?
$ infocmp -1 | grep end
kend=\EOF,
但是,ncurses设法正确地将其识别为KEY_END。怎么样?
TERM 是 xterm-256color
顺便说一句,拥有kend而end不是正义的动机是end什么?(与khome和相同home)
编辑
正如JohanMyréen的评论中所说,khome字符串是按Home键产生的序列。但是在Debian上按Home键会产生home。为什么?
$ showkey -a
Press any keys - Ctrl-D will terminate this program
^[[H 27 0033 0x1b
91 0133 0x5b
72 0110 0x48
$ infocmp -1 | grep home
home=\E[H,
khome=\EOH,
kend定义,而终端生成?这是Debian的terminfo中的错误吗?而ncurses如何设法将其检测出来?\EOF\E[FKEY_END
home和khome是,khome字符串是按主页键产生序列,而home字符串是应当被发送到所述终端,将光标移动到起始位置的序列。据我所知,terminfo并没有定义end功能kend。