Voilà, je fais un moteur de jeu, et j'arrive bientot à la fin mais soudain je bloque:
J'ai constater que la touche A reagissait comme la touche Q et vice et versa -> SDL gére l'application en QWERTY or mon clavier est en AZERTY
J'ai alors longuement chercher (et encore une fois perdu mon temps), et j'en ai conclue ceci:
Ce problème n'arrive pas a tous les clavier azerty (surtout qu'il y aurai plus de mon qui demanderai aussi)
Il est fort deconseiller de faire ça propre map pour regler le probleme (et puis faire la map de chaque clavier...:s)
La solution que propose SDL, est l'utilisation de l'unicode:
SDL_EnableUNICODE(1)
et du keysym.unicode
Seulement ils previennent que ça ne marche que quand on appuie sur la touche, KEYDOWN
Ok mais non! j'ai besoin d'avoir le KEYUP car admettant que je fasse un char key[400] et que j'y stock les touches activent (et eviter de devoir tapotter sur la touche pour faire avance l'objet), comment je fais pour savoir que la touche et relaché et qu'il faut désactive la touche, dont on ne connait donc pas le nom finalement...
avouez que c'est extremement gênant et je serais VRAIMENT embeter, pour ne pas être grossier, de changer SDL par une auter lib...
Vous avez une idée ? ça vous est dejà arrivé ? vous avez reussi à eviter le probleme ?
merci d'avance pour vos reponse !
Partager