Determinando seqüências de escape para chaves de cursor canonicamente

Eu gostaria de reagir nas teclas do cursor; Para isso, quero descobrir as seqüências de escape que o terminal atual está usando de maneira canônica. A maioria das soluções só tem as cordas"\e[A" etc. no código-fonte. Eu entendo que isso não é portátil no caso do sistema de destino usar uma seqüência de escape diferente.

Eu tentei usartput para obter a seqüência de escape adequada, mastput kcud1 retorna uma sequência de escape diferente daquela usada para a tecla de seta para baixo: retorna"\eOB" mas os principais resultados"\e[B". Mas nenhum nome de capa dado para tput resulta nesta string; o melhor que posso administrar é tput cud, que retorna "\ e [% p1% dB", a partir da qual a extração de todos os parâmetros será finalmente a string desejada. Mas essa retirada de parâmetros também não parece boa.

Qual é a maneira canônica de descobrir a sequência de escape adequada que as teclas de seta produzirão quando pressionadas? Eu ficaria feliz com uma solução usandotput oucurses ou até mesmo uma abordagem completamente diferente.

questionAnswers(2)

yourAnswerToTheQuestion