Getch() sous Linux

Signaler
Messages postés
8
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
25 juin 2004
-
Messages postés
8
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
25 juin 2004
-
Bonjour,

J'ai un probleme avec la fonction gecth() se trouvant danc la librairie CURSES.H sous LINUX !

J'utilise cette meme fonction sous WINDOWS qui marche correctement en me renvoyant le code ASCII de la touche pressée.
Mais sous LINUX il ne se passe rien. Au contraire, j'obtiens des erreurs comme quoi le compilateur ne trouve pas telle ou telle fonction (alors que je ne m'en sers meme pas dans mon prog).

J'aimerai juste trouver une fonction sous LINUX qui me renverrai le code ASCII de la touche pressee. Pour par exemple déplacer un curseur à l'écran.

Si quelqu'un peut m'aider, j'en serai ravis.

D'avance MERCI !!!

YAPUD

2 réponses

Messages postés
42
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2003

Bonjour,

> J'ai un probleme avec la fonction gecth() se trouvant danc la librairie CURSES.H sous LINUX !

curses.h fais partie des libraries a NE PAS utiliser;P

> J'aimerai juste trouver une fonction sous LINUX qui me renverrai le code ASCII de la touche pressee
En effet t'as besoin d'une fonction qui fais sans san un buffer(sinon tu utiliserai getchar.).
C assez facile il suffit d'utiliser les paramettres deu terminal Linux/Unix. Regarde le manuel des fichiers termio*.h...

>> Pour par exemple déplacer un curseur à l'écran.

Sois serieux, t'en a pas besoin d'une fonction qui recupere des characteres pour deplacer le curseur. Les terminaux Linux/Unix sont standartise ANSI. Fais un recherche pour "ANSI ESCAPE sequences". Si je me souviens bien pour positionner le curseur il suffit de faire

printf("\x1B[lineNum;ColNumH");
Messages postés
8
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
25 juin 2004

Merci beaucoup pour ta réponse,

Je vais regarder TERMIOS.H, beaucoup m'en on parlé.

Sinon la solution ANSI avait déjà été envisagée, je la reprendrai si je trouve pas autre chose.

Encore merci

YAPUD