Onde posso encontrar a especiação que um emulador de terminal deve atender?

2 respostas

2

I haven't been able to find a full, detailed description of what the mapping between keypresses and control characters needs to be.

O que faz você pensar que precisa ser alguma coisa? Dica: Por que você acha que todo programa de emulador de terminal tem, direta ou indiretamente (via X ou algo assim), algum tipo de arquivo de mapeamento de teclado?

Vá e veja os emuladores de terminal existentes. Aqui estão apenas algumas das fontes de código aberto que fornecem terminais virtuais do espaço do usuário usando o framebuffer e os dispositivos de eventos de entrada do Linux.

Leitura adicional

  • kbdmap . §5. Páginas do Manual do FreeBSD.
  • posix_openpt . §2. Páginas do Manual do FreeBSD.
  • posix_openpt . Especificações de base do grupo aberto . Edição 7. IEEE 1003.1: 2013. O grupo aberto.
  • link
por 13.05.2015 / 12:06
2

Você provavelmente deve começar pelo link e link que descrevem o comportamento desejado (pelo menos as sequências de entrada / saída), bem como, é claro, estudar alguns dos emuladores de terminal, incluindo os changelogs dos problemas que eles abordaram.

Eu não acho que haja uma lista de verificação completa em qualquer lugar. Apenas um exemplo recente: para que ^\ trabalhe dentro do terminal, o próprio emulador deve certificar-se de que o manipulador SIGQUIT esteja configurado como padrão; algo que acabamos de descobrir há alguns dias atrás, que está faltando no gnome-terminal, mesmo que tenha mais de 10 anos de idade. Provavelmente há dezenas de coisas para se preocupar, você as notará à medida que avança e recebe relatórios de seus usuários.

    
por 13.05.2015 / 17:02