événement clavier avec SDL

Utilisateur anonyme -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
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 391 Date d'inscription   Statut Membre Dernière intervention   70
 
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 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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