Question

Il s'agit d'un problème similaire: Lien .
Ce qui a été résolu en appelant GetAsyncKeyState (). Même si tout va bien, il me faut une alternative à Linux. J'ai besoin de savoir si un bouton est maintenu , pas simplement enfoncé (en raison du délai de la mémoire tampon du clavier).

Est-ce que quelque chose comme ça existe dans les bibliothèques OpenGL / Glut, ou devrai-je chercher ailleurs?

Était-ce utile?

La solution

Je n'ai jamais utilisé Glut, mais je sais que beaucoup de gens diront que SDL est meilleur. J'ai utilisé SDL et je l'aime beaucoup. Il fait tout ce que Glut fait et bien plus. Dans SDL, vous pouvez utiliser SDL_PollEvent () pour obtenir l'état de la clé sans le délai de la mémoire tampon du clavier.

Edit: Je ne sais presque rien sur Glut, mais il semble que vous puissiez utiliser glutKeyboardFunc pour détecter les clés normales et glutSpecialFunc pour les clés qui ne génèrent pas de caractères ASCII (tels que shift). Je ne sais pas s'il existe un meilleur moyen, car cela ne semble pas très agréable.

Autres conseils

Vous pouvez détecter quand un événement de pression de touche se produit, enregistrer cet état, puis écouter un événement de libération de clé.

Comme cela a été dit, vous devrez créer votre propre machine à états, ce qui est facile. Mais vous devez aussi utiliser cette méthode de rappel, je pense.

http://pyopengl.sourceforge.net/documentation/manual/glutKeyboardUpFunc. 3GLUT.xml

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top