Bonjour à tous !
Voilà, je programme un jeu à l'aide de la SFML, mais je suis tombé sur un léger problème : impossible de récupérer les touches NumX avec les évènements. Sur un clavier azerty, ce sont les touches 1234567890)= mais pas celles du numpad.
En effet, le code minimal suivant :
#include <SFML/Graphics.hpp>
#include <iostream>
int main(int argc, char* argv[]) {
sf::RenderWindow App(sf::VideoMode(1024, 768, 32), "sfml-events", sf::Style::Close);
while (App.isOpen())
{
// Process events
sf::Event Event;
while (App.pollEvent(Event))
{
if (Event.type == sf::Event::KeyReleased)
std::cout << "shortcut pressed " << Event.key.code << std::endl;
}
App.clear();
App.display();
}
return 0;
}
génère ceci lorsque j'appuie sur les touches une à une :
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 56
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 0
shortcut pressed 55
Cependant, si on maintient la touche Majuscule enfoncée, voici ce qui est généré :
shortcut pressed 27
shortcut pressed 28
shortcut pressed 29
shortcut pressed 30
shortcut pressed 31
shortcut pressed 32
shortcut pressed 33
shortcut pressed 34
shortcut pressed 35
shortcut pressed 26
shortcut pressed 0
shortcut pressed 0
Mais je n'ai pas envie que mes joueurs appuient sur la touche MAJ à chaque fois qu'ils veulent utiliser les touches numériques..
Du coup, comment faire pour accéder à ces touches ?
Merci pour ceux qui prendront le temps de regarder ce problème..!
Note : je suis sous Fedora 16 64 bits, avec SFML 2.