liste des constantes clés

Je veux vérifier les événements clés, comme appuyer haut / bas …

Mais la fonction, que j’ai créée pour être appelée, reçoit un “caractère non signé”. Je suis en mesure de vérifier les clés telles que W / A / S / D avec la key == 'w' , mais je ne sais pas comment vérifier les autres clés.

Existe-t-il une liste des caractères disponibles, comme “\ n”?

Vous pouvez trouver une liste des séquences d’échappement de caractères ici .

Notez que certaines clés doivent être gérées à l’aide de glutSpecialFunc() / glutSpecialUpFunc() , pour le gestionnaire duquel s’applique le glutSpecialUpFunc() suivant:

L’argument clé peut prendre l’une des valeurs constantes définies suivantes:

  • GLUT_KEY_F1, GLUT_KEY_F2, …, GLUT_KEY_F12 – Touches F1 à F12
  • GLUT_KEY_PAGE_UP, GLUT_KEY_PAGE_DOWN – Touches Page précédente et Page suivante
  • GLUT_KEY_HOME, GLUT_KEY_END – Touches de début et de fin
  • GLUT_KEY_LEFT, GLUT_KEY_RIGHT, GLUT_KEY_UP, GLUT_KEY_DOWN – Touches fléchées
  • GLUT_KEY_INSERT – Insérer une clé

Le type de caractère naturel en C ++ utilise des caractères ASCII. Voici une liste: http://www.asciitable.com/

Vous pouvez vérifier quelque chose comme Newline comme ceci:

 if (key == '\n') 

c’est une belle liste d’énums pour les clés

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(v=vs.71).aspx

Vous demandez des séquences d’échappement.

Voici une liste complète des caractères non graphiques C ++ et de leurs séquences d’échappement.

Si je comprends bien, il n’existe aucun moyen indépendant du système d’obtenir les informations dont vous avez besoin. Je pense que ce que vous recherchez s’appelle un code de balayage, et la plupart des systèmes auront un moyen de l’obtenir «sous Unix, ce sera quelque chose dans la bibliothèque X si vous exécutez dans une fenêtre, et sous Windows, il est probable qu’il se trouve également dans la bibliothèque Windowing. Vous obtiendrez le code de balayage et quelques bits indiquant l’état des différentes touches telles que Maj, Contrôle et Alt; et le système de fenêtrage générera un événement à chaque fois qu’un état clé changera.

Si vous ne courez pas dans une fenêtre (ou dans votre propre fenêtre), il est toujours possible d’obtenir une sorte d’état de clé si vous lisez directement depuis un terminal, bien que je ne connaisse pas trop les possibilités. (Rappelez-vous qu’historiquement, les interfaces d’entrée étaient conçues pour la lecture sur une ligne série et que ce type d’informations n’était tout simplement pas disponible en C ++.)