Bonjour,
problème très étrange qui m'est apparu en programmant en C avec SDL.
Lorsque j'utilise des évenements sur le pavé numérique de mon clavier ça fonctionne:
Dans ce cas il s'affiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 while(SDL_WaitEvent(&evenement)==1){ if(evenement.key.keysym.sym==SDLK_KP1){ printf("Touche 1 appuyée.\n"); break; } }
Touche 1 appuyée.
Mais lorsque j'utilise des évenements sur les touches numériques(au dessus des lettres) de mon clavier ça ne fonctionne pas:
Dans ce cas il ne s'affiche rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 while(SDL_WaitEvent(&evenement)==1){ if(evenement.key.keysym.sym==SDLK_1){ printf("Touche 1 appuyée.\n"); break; } }
Mon calvier est AZERTY je suis sous un système Debian GNU/Linux.
Peut être que quand j'appuie sur mes touches il concidère que j'appuie sur:
&é"'(-è_çà
au lieu de:
1234567890
Car je sais que les utilisateurs de claviers américains QWERTY accèdent à leurs numéros sans utiliser le combo SHIFT+touche numérique.
Enfin même avec SHIFT, je n'arrive pas à faire fonctionner ce genre d'évenement clavier.
Que dois-je faire?
Avez-vous déjà rencotré ce problème?
Merci.
Partager