J'ai placer mon term en mode non canonique et non echo
1 2
| old.c_lflag &= ~(ICANON|ECHO);
old.c_cc[VMIN] = 1; |
J'ai donc coder cette fonction pour recuper un caractere ou une ligne entiere (tres pratique dans le programme que j'ai coder)
Mon probleme est dans une partie de cette fonction jaimerais reperer la saisie du backspace car sans backspace. Sinon c'est trop rigide si on fait une erreur on doit recommencer l'operation.
1 2 3 4 5 6 7 8 9
|
do
{
lu += read(fd, &buf[lu], BUFF_MAX);
buf[lu] = '\0';
my_putstr(&buf[lu - 1]);
}
while (buf[lu - 1] != '\n');
buf[lu - 1] = '\0'; |
J'ai essayer avec ca (dans la boucle do while ci dessus):
1 2 3
|
if (buf[lu - 1] == 8)
/*8 BS sous UNIX*/ |
Mais non, je ne repere pas la saisie de la touche backspace
Comment faire s'il vous plait ?
Partager