/***************************************************************************** Gestionnaire de terminal Unix: gets.h (c) Pierre Adriaans 1994 ------------------------------------------------------------------------------ Include de gets.c Fonction de saisie prevue pour fonctionner avec les modules screen.c et keyboard.c Caracteristiques: - il est possible de manipuler le curseur a l'entree de caracteres - les fleches gauches et droites deplacent le curseur a gauche et a droite dans la string - les modes insertion et overstrike sont supportes: le passage d'un a l'autre est realise par: - touche sur PC - touche sur terminaux DEC - entree de Ctrl-I Il n'y a neanmoins pas moyen de voir a l'ecran le mode dans lequel on se trouve (forme du curseur non modifiable sur terminaux) - effacement realise par: - touche sur PC - touche sur terminaux DEC - entree de Ctrl-X (souvenir de vi) - backspace realise par: - touche - entree de Ctrl-H - positionnement du curseur en debut de string: - touche sur PC - entree de Ctrl-B (beginning) - positionnement du curseur en fin de string: - touche sur PC - entree de Ctrl-E (end) - le backspace et l'effacement sont possibles ou que le curseur se trouve dans la string. Neanmoins, plus il est au debut, plus il faut de temps pour reactualiser l'affichage - la saisie ne peut se faire au dela de la ligne courante: le curseur s'arrete a la colonne droite de la fenetre active - la saisie est validee par : code de retour 0 et Str initialise - la saisie peut etre annulee par ou Ctrl-C: code de retour -1 et Str intact - la fonction peut recuperer des codes sur 8 bits (renvoyes comme des codes negatifs par ReadKbd()) tels que les caracteres accentues. - si le buffer de saisie contient qque chose, son contenu est propose comme valeur de depart. Si un caractere ou ou est entre comme premiere touche, la valeur initiale est effacee (methode classique). - Toute fonction d'interruption sur l'horloge est interrompue pendant les phases de mises a jour de l'ecran pour eviter les interferrences. - Cette fonction est necessaire a un bon fonctionnement des fonctions de l'unite screen car elle maintient a jour l'emulation de memoire video de cette unite ainsi que les variables contenant le position du curseur. *****************************************************************************/ #ifndef _GETS_H_ #define _GETS_H_ #include "screen.h" #include "keyboard.h" int Gets(char *Str); #endif