Fazendo eco de caracteres de retrocesso no terminal

1

Estou trabalhando com o picocom rodando dentro do gnome-terminal. Eu tenho o eco local ligado dentro do picocom usando a opção -e, e quando eu retrocedo posso ver que o cursor se move para trás, no entanto, os caracteres previamente impressos ainda são deixados no lugar . Eu dei uma olhada na opção emap no picocom que permite o mapeamento de BS para DEL e vice-versa antes de ecoar para o terminal, mas isso não tem o efeito desejado.

Como faço para configurar o gnome-terminal e / ou picocom para remover os caracteres do terminal quando pressiono o retrocesso?

    
por allsey87 22.10.2014 / 11:00

1 resposta

1

Eu não estou familiarizado com o picocom, então não posso dar uma resposta, mas posso dar uma explicação para o comportamento que você pode achar útil.

Ao trabalhar com terminais, a entrada (teclado) e a saída (material enviado para o terminal a ser impresso) devem ser claramente diferenciados um do outro.

Quanto à entrada, a tecla de retrocesso do teclado envia ^ H (ascii 0x08) ou ^? (ascii 0x7F) dependendo de algumas configurações.

Quanto à saída: ^ H move o cursor para a esquerda (sem apagar nada), enquanto ^? é um no-op (ou talvez indefinido).

Sempre que você pressiona a tecla de retrocesso e "funciona conforme o esperado", nos bastidores alguém (por exemplo, o shell ou a camada tty do kernel) traduz a entrada ^ H ou ^? na seqüência de saída: ^ H seguido por um espaço seguido por outro ^ H.

Eu assumo que o picocom não faz essa tradução.

    
por 22.04.2015 / 01:46