(Extrait du cours de Chrstian Jacquemin (http://www.limsi.fr/Individu/jacquemi/)
Le programme opengl-boucle-evt1.cpp fournit des sorties dans le cas de la réception des événemts suivants :
touches clavier ' a ' ou ' A ',
touches spéciales flèche vers le haut ou vers la gauche et saut d´une page vers le haut,
clicks souris gauche (touche enfoncée) et click droit (touche relevée et majuscule active).
On exécute le programme opengl-boucle-evt1.cpp On effectue ensuite les actions suivantes :
Le programme principal contient la boucle prinicipale de gestion des événements utilisateur (librairie GLUT).
glutMainLoop();
Trois fonctions de call-back sont enregistrées pour capturer et traiter ces événements :
Un choix selon la valeur de la touche pressée.
Voir le fichier glut.h pour la liste des codes de touches spéciales et de leurs modifieurs éventuels (à éviter ...).
GLvoid window_key(unsigned char key, int x, int y) {
switch (key) {
case KEY_ESC:
exit(1);
break;
case 'a': case 'A':
printf ("Touche 'a'\n");
break;
default: printf ("La touche %d n'est pas active.\n", key);
break;
}
}