Glut et clavier

vangeurmasker Messages postés 99 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 29 mars 2006 - 13 déc. 2005 à 12:39
kortin Messages postés 65 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 21 avril 2006 - 16 déc. 2005 à 10:10
Bonjour j'utilise actuellement GLUT dans un programme OpenGL. Je
cherche à savoir comment récupérer la touche materielle que est
pressée. En gros avoir la même chose pour 'A' et 'a' pour '1' et
'&' ...

Je veut que mon programe soit portable donc pas d'API windows.

6 réponses

kortin Messages postés 65 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 21 avril 2006
13 déc. 2005 à 13:30
Il te suffit de mettre un message quand tu appuies sur une touche :

void OnKey(unsigned char key, int x, int y)
{
printf("numero de la touche pressée %d",key);

}

sinon pour les touches courantes, il est mieux d'utiliser :
http://www.yindo.com/docs/runtime/Glut.html


constants: GLUT_KEY_F1
GLUT_KEY_F2
GLUT_KEY_F3
GLUT_KEY_F4
GLUT_KEY_F5
GLUT_KEY_F6
GLUT_KEY_F7
GLUT_KEY_F8
GLUT_KEY_F9
GLUT_KEY_F10
GLUT_KEY_F11
GLUT_KEY_F12

GLUT_KEY_LEFT
GLUT_KEY_UP
GLUT_KEY_RIGHT
GLUT_KEY_DOWN

GLUT_KEY_PAGE_UP
GLUT_KEY_PAGE_DOWN
GLUT_KEY_HOME
GLUT_KEY_END
GLUT_KEY_INSERT
GLUT_KEY_DELETE

GLUT_KEY_ESCAPE
GLUT_KEY_ENTER
GLUT_KEY_TAB

GLUT_KEY_CAPS
GLUT_KEY_SHIFT
GLUT_KEY_CONTROL
GLUT_KEY_ALT

GLUT_KEY_MULTIPLY
GLUT_KEY_ADD
GLUT_KEY_SEPERATOR
GLUT_KEY_SUBTRACT
GLUT_KEY_DECIMAL
GLUT_KEY_DIVIDE
0
kortin Messages postés 65 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 21 avril 2006
13 déc. 2005 à 13:31
désolé pour le message du haut, je ne sais pas bien pourquoi tout c'est mis sur une ligne.
0
vangeurmasker Messages postés 99 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 29 mars 2006
14 déc. 2005 à 11:57
Moi j'utilise actuellement
glutKeyboardFunc


Le pb de ta fonction c'est que si je suis en
majuscule je reçois 'A' pour la touche A '1' pour la touche 1 et que si
je suis en minuscule je reçois 'a' pour la touche A et '&' pour la
touche 1.

Moi je veu recuperer la même chose en majuscule ou pas. Genre VK_A en w32 mais en portable avec un fenetre glut.
0
kortin Messages postés 65 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 21 avril 2006
14 déc. 2005 à 12:30
ah d'accord, j'ai compris.
Je ne sais comment on peut faire ça avec glut.

Je crois que tu seras obliger de faire :

switch(key)
{
case 'A':
case 'a':

traitement;

break;

case '1':
case '&':
traitement;
break;
}

Je crois que tu n'as pas le choix, mais avec un peu de bonne volonté, ça va, ce n'est pas si long.
Bonne progr.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vangeurmasker Messages postés 99 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 29 mars 2006
16 déc. 2005 à 08:23
Le problème c'est que le jour ou quelqu'un utilise mon prog avec un
clavier non francais c'est le bordel. En plus je ne peut pas distinguer
le pavé numérique de la ranger de chiffres au dessus du clavier.

Je crois que je vais être obliger d'utiliser des API non portables et de me le taper pour tous les OS.
0
kortin Messages postés 65 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 21 avril 2006
16 déc. 2005 à 10:10
Oui, je pense.
Regarde, même dans les jeux vidéo super célèbre, il y a ce problème de clavier américain/français.
Je cite ? Half life !!
Et pourtant Half life n'est pas multiplateforme !!

Donc, seul solution, bidouille pour que l'utilisateur puisse régler son clavier.

kortin
0
Rejoignez-nous