[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: configuration du clavier en mode non bloquant




Desole, j'ai repondu un peu trop vite.

Moi, je me suis acheter "Linux Prpgramming" de la collection Beginning
de Worx Press et je suis tres satisfait. Et c'est de ce livre que je
tire mes reponses.

Le mode par ligne s'appel "canonique", les autres mode, "non-canonique".

La version cheap est d'appeler "stty -icanon min = 1 time = 0" avec un
call system.

  -icanon : non-canonique 
  min = 1 : attendre au moins un caractere avant que read revienne.  
  time = 0 : attendre infiniment pour min character avec le read


Ou, pour faire l'equivalent en C, utilise "tcgetattr" pour initialiser
ta struct termios.

Enlever ICANON du bitmap c_lflags de la struture. ( c_lflags &= ~ICANON )
Setter c_cc[VMIN] = 1 et c_cc[VTIME] = 0.

Ensuite il faut "tcsetattr" pour appliquer les changements (immediatement
TCSANOW).

Dans les 2 cas, il faut que tu remettres les valeurs initiales avant de
quitter ton programme.


Si tu utilises les curses, cbreak() est ton ami.



Hugo Villeneuve

On Thu, Jun 08, 2000 at 01:56:13PM -0400, Hugo Villeneuve wrote:
> 
> man 2 select
> 
> On Thu, Jun 08, 2000 at 01:47:48PM -0400, renelier wrote:
> > bonjour,
> > les fonctions getchar() du C natif ne renvoi la donnée que si l'on appui sur retour chariot.
> > Comment configurer le code de maniere a ce getchar soit non bloquant ou une autre fonction equivalente.
> > merci.