les opérations suivantes:
- Utilisez
glutIgnoreKeyRepeat
seulement obtenir physique keydown/keyup
- Utilisez
glutKeyboardFunc
pour enregistrer un rappel en écoutant des événements de clavier. Utilisez glutKeyboardUpFunc
pour enregistrer un rappel en écoutant des événements de manipulation.
- Créez un tableau
bool keystates[256]
pour stocker l'état des touches du clavier.
- Lors de la réception d'un événement via le rappel, définissez
keystates[key] = true
. Lorsque vous recevez un événement via votre rappel de touche, définissez keystates[key] = false
.
- Dans votre boucle d'exécution, testez si
(keystates['a'] || keystates['A']) && (keystates['j'] || keystates['J'])
.
Regardez dans cette direction. Bien que je ne l'ai pas testé, cela devrait fonctionner. Vous pourriez également avoir besoin de glutSpecialFunc
et de glutSpecialUpFunc
pour recevoir des messages pour les touches «spéciales». De plus, sachez que GLUT est vraiment vieux et qu'il existe des alternatives bien plus intéressantes.
peut vous en dire plus au sujet de ces alternatives plus agréables? – colorfulgrayscale