From c5b0e17bbb050f128c0a56d4503a9a34ea2391c5 Mon Sep 17 00:00:00 2001 From: tTh Date: Thu, 22 Feb 2024 21:39:39 +0100 Subject: [PATCH] cosmetic + kbhit --- chap/curses.tex | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/chap/curses.tex b/chap/curses.tex index e9cb5fe..bc29f3d 100644 --- a/chap/curses.tex +++ b/chap/curses.tex @@ -56,7 +56,7 @@ de la taille de l'écran physique) connus sous les noms de Le premier est celui que voit l'application, et qu'il peut manipuler avec les fonctions (genre \texttt{mvaddstr}) que nous verrons très bientôt. -Et le second est l'image que se fait la mécanique de l'écran +Et le second est l'image interne que se fait la mécanique de l'écran physique, donc ce que voit le yuser. @@ -87,6 +87,8 @@ ce que ça donne. \section{Bell and whistles} +\subsection{Attributs} + Voici comment centrer sur la ligne du haut un texte écrit en \textbf{gras} grace à l'attribut \texttt{A\_BOLD} : @@ -114,18 +116,29 @@ de fonctions spécialisées dans le traitement des attributs. \section{Astuces} +\subsection{kbhit} \index{kbhit} \label{kbhit} + Dans une boucle interactive, on va utiliser \texttt{getch()}, qui va bloquer tant qu'on n'a pas tapé sur une touche. Mais que faire si on veut utiliser, en plus du clavier, un autre périphérique de -saisie, genre un Joystick\index{joystick} ? +saisie (genre un Joystick\index{joystick}) sans rester en attente ? Bien entendu, on peut utiliser \texttt{select(2)}, mais cela nécessite de connaitre le \textit{file descriptor} auquel est attaché le clavier. Dans le contexte classique, on peut assumer que ce sera le \texttt{fd} associé à \textit{stdin}, mais il est imprudent de compter là-dessus. ----> voir \texttt{newterm(3)} - +Sauf que, Unix, c'est bien foutu ---> voir \texttt{fileno(3)} + +% ========================================================= + +\section{Et pour continuer ?} + +Il existe des bibliothèques pour faire des interfaces +\textsl{wimp}\footnote{Window, Icon, Mouse, Pulldown} +assez avancées. + +% =========================================================