terminfo 항목이 규칙을 따르지 않는 이유는 무엇입니까?

terminfo 항목이 규칙을 따르지 않는 이유는 무엇입니까?

용어 정보데이터베이스에는 "애플리케이션 스키마"를 설명하는 항목이 포함되어 있습니다. 관례적으로 키보드에서 누른 버튼에 해당하는 항목은 \EO(초기화를 수행하지 않는 응용 프로그램이 터미널이 기본적으로 초기화되는 모드인 "Normal" 또는 "Application"을 알 수 있도록 수행됨)로 끝나며 이름이 지정됩니다.케이접두사. 그러나 예를 들어 Debian 10( /lib/terminfo/x/xterm-256color)에서는 그렇지 않습니다.

$ infocmp -1|grep 'kf[0-9]='
kf1=\EOP,
kf2=\EOQ,
kf3=\EOR,
kf4=\EOS,
kf5=\E[15~,
kf6=\E[17~,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,

이것은 terminfo 데이터베이스의 버그입니까?

답변1

이것은 광범위한 주제입니다 ...

전부는 아니지만 대부분의 터미널은 구성 가능하며 친숙한 터미널은 제어 시퀀스에 응답하여 다음을 제공할 수 있습니다.애플리케이션모드는커서,편집하다그리고숫자키보드 키. 내가 나열하지 않았다는 것을 알 수 있습니다.기능 키.

terminfo 데이터베이스는 터미널의 특정 구성을 설명합니다.

xterm귀하의 예는 VT100 스타일 숫자 키패드를 제공하는 구성을 보여줍니다. 일반적인 PC 키보드에는 VT100 키보드와 일치하는 키가 충분하지 않습니다(왜냐하면 "올바른" 위치에 4개의 키가 있지만 NumLock특별히 처리되었기 때문입니다).가지다기능 키), 처음 4개의 PC 기능 키에 맨 윗줄을 할당하는 것이 편리합니다.

의 경우 xterm어쨌든 구성 가능하지만 위에서 언급한 것처럼 terminfo 항목은 다음을 설명합니다.특별한구성.

터미널 에뮬레이터가 복사하는 구성은 실제로 VT100 호환 숫자 키패드를 제공하지 않고 단지 에뮬레이트하기 위한 것임을 알 수 있습니다.xterm.

이는 xterm FAQ에 요약되어 있습니다(다른 터미널의 경우 전혀 문서화되지 않은 경우가 많습니다).

관련 정보