Otras lecturas

Otras lecturas

Cuando presiono una flecha en la terminal, el cursor se mueve correctamente, pero cuando hago una aplicación simple en C, C++ o Python escribe ^[[A, ^[[B... He escrito un programa simple en Python, así que Puedes ver el código y los resultados.

ingrese la descripción de la imagen aquí

Respuesta1

Este es el nivel de decodificación de entrada de terminal que se obtiene de la disciplina de línea en el modo de entrada canónica. No es mucho.

Cada aplicación que quiera presentar una entrada de línea de comando editable que respete el teclado del cursor, el teclado de edición y las teclas de función tiene que cambiar el terminal al modo de entrada sin formato y decodificar el flujo de entrada ECMA-48, teniendo en cuenta los tipos de terminal (y varias máquinas de estado). bodges para RXVT, los KVT de Linux, la consola SCO e Interix). Su programa tiene que hacer esto.

Hay varias bibliotecas para hacer esto, desde GNU ReadLine hasta libtermkey/libtickitylínea de edición(también conocido como libedit) a ZLE en el shell Z y la biblioteca de edición del shell Korn.

Otras lecturas

información relacionada