événement clavier avec SDL

Fermé
Utilisateur anonyme - Modifié par astrocurieux le 22/03/2016 à 17:29
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 4 mai 2016 à 10:41
Yep les amis,

Encore et toujours bloqué avec la SDL mais j'aime vraiment coder avec !!
bon cette fois une question assez simple je pense, du moins pour vous autre les habitués.

j'ai beau chercher tout le monde fini par crée des avalanche de if else ou de swipe et break ...

je voudrais savoir si il existe un moyen ergonomique de différencier les touches alphanumérique (uniquement) via la SDL, et bien entendue autre que :

if (event.key.keysym.sym == SDL_a)
    return (a);
if else (event.key.keysym.sym == SDL_b)
   return (b);

[...]


je veut garder la sdl donc me proposer pas de passer sur une autre Lib svp.
dite moi que oui svp !!!

autrement je suis également preneur pour uniquement afficher sur ma fenêtre le caractère frappé si sa peut être moins problématique ...

je suis a votre ecoute
A voir également:

2 réponses

Rhydan1 Messages postés 382 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 2 avril 2017 70
3 mai 2016 à 17:21
Bonjour, vous pouvez le switch.
switch(event.key.keysym.sym)
{
Case SDLK_a:
Blablabla;
Break;
Case SDLK_b:
Bla-bla-bla;
Break;
}

--
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 4/05/2016 à 10:44
Salut astrocurieux,

Les scancodes te permettent d'identifier une touche du clavier.

Une touche ou une combinaison de touches peut donner des caractères différents en fonction de la locale gérée par le système d'exploitation (par exemple la touche accent circonflexe suivie d'une touche d'une voyelle).

Si tu es intéressé par le caractère, plutôt que par le scancode, c'est probablement que tu devrais observer l'événement SDL_TEXTINPUT et non pas SDL_KEYDOWN / SDL_KEYUP et trouver le caractère interprété dans event.text.text.

Tu as des explications là : https://wiki.libsdl.org/SDL_TextInputEvent

Et un tutoriel là : https://wiki.libsdl.org/Tutorials/TextInput

qui montre aussi comment gérer l'input.


Dal
0