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のコメントで述べたように、khomestringは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よう\EOFに定義されていますか?これはDebianのterminfoのバグですか?それでも、ncursesはどのようにしてそれを検出できますか?\E[FKEY_END
homeとは、khomeということであるkhomeのに対し、文字列がホームキーを押す順序は、生成されたhome文字列がホーム位置にカーソルを移動する端末に送信する必要があるシーケンスです。私の知る限りでは、terminfoはend機能を定義していませんkend。