Bonjour
J'ai besoin d'émuler l'appui de la touche F4 maintenue + la touche * (étoile) DU PAVE NUMERIQUE.
(Cela correspond à une RAZ de la position de la caméra de vue extérieure dans un jeu)
je fais donc
int tRazPress = KEY_F4;
int tRazKey = '*';
puis, lorsque je veux faire la RAZ :
Keyboard.press(tRazPress);
Keyboard.write(tRazKey);
La touche * du pavé numérique est la touche affectée par défaut dans le jeu.
Si je laisse les réglages par défaut, la RAZ ne se fait pas.
Si je modifie la touche en choisissant une touche qui n'est pas dans le pavé numérique, la fonction de RAZ se fait bien.
Donc j'en déduis que la touche étoile du pavé numérique n'a pas le code ascii 42 (code ascii standard de l'étoile).
Bien sûr, je pourrais donc modifier la touche affectée par défaut, mais je voudrais éviter de faire cela, et surtout comprendre le pourquoi de la chose.
Avez vous une idée ?
Note : je précise que les paramètres du jeu en question sont enregistrés dans un ficher xml. J'ai ainsi pû voir que la touche étoile est affectée à " numpad * ". Donc le jeu lui même fait bien la différence entre les touches du clavier et celles du pavé numérique.
@axelmaux pour ChatGPT qui explique pas mal les chose (mais malheureusement le code 85 ne fonctionne pas) @al1fch C'était presque le bon nom de variable
En fait, c'est KEY_KP_ASTERISK
Donc, problème résolu.
Youpi
Si cela vous intéresse, voilà le projet que j'ai réalisé.
Depuis la vidéo, j'ai amélioré la chose en ajoutant la gestion des déplacements latéraux et du zoom avant-arrière, des interrupteurs pour inverser la direction des axes, et dernièrement un bouton "reset", celui-là même dont la programmation me posait problème.