Clavier
Nous avons déjà vaguement abordé la gestion du clavier avec la caméra au chapitre déplacement de la caméra.
Revenons donc sur ce point...
La gestion du clavier est traité dans la classe glWindows. Il y a des fonctions virtuelles qui permettent par défaut de piloter la caméra.
D'abord un rappel sur la gestion du clavier suivant le système utilisé:
Vous trouverez les explications sur la méthode Windows pour gérer le clavier ici.
Les explications sous X Window se trouveront pour le clavier ici.
Et enfin les explications GLUT pour le clavier ici.
Les évènements onKeyDownGLW et onKeyUpGLW
Lorsqu'une touche clavier est enfoncée, je déclenche onKeyDownGLW. Lorsqu'elle est relachée, ce sera onKeyUpGLW.
Pour rappel, vous
pouvez très bien recevoir un key down et ne jamais recevoir le key up
si vous perdez le focus entre temps, mais aussi avec un key up sans key down
en gagnant le focus...
onKeyUpGLW ne fonctionne
pas sous GLUT, puisque ce cas n'est pas traité sous GLUT ...
La fonction devra retourner true pour indiquer qu'elle a traité la touche, false pour indiquer que le système doit faire l'opération définie par défaut associée à la touche.
Le principe de codage étant le suivant:
switch (wKey)
{
case GLW_touche:
ou wKey est le code de la touche.
Les valeurs à tester seront les codes GLW_touche qui proviennent en fait d'un fichier dans lequel est référencé le code touche suivant le système utilisé.
Ce fichier est nommé keycompatible.h et sera à compléter si vous voulez tester des touches complémentaires, car toutes les touches n'y sont pas indiquées !