Codes ASCII du pavé numérique

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.

Bonjour,
Chatgpt est plutôt locace avec ton soucis:

1 Like

Ce ne serait pas Orbiter ton jeu ?

Non, il s'agit de Star Citizen :waving_hand:

J'etais pas loin... :sweat_smile:

J'adore cd jeu.

si KEY_F4 est reconnu pour la touche F4 , tu pourrais essayer KEY_KPASTERISK qui représente le scancode de la touche * du pavé numérique dans USB HID
source : https://gist.github.com/ekaitz-zarraga/2b25b94b711684ba4e969e5a5723969b

Alors un grand merci à tous les deux.

@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.

Bon à savoir ! peux-tu indiquer la bibiothèque que tu utilises et qui a besoin de KEY_KP_ASTERISK et non KEY_KPASTERISK comme variable constante ?

Oui, tu as raison "Constante" et non pas "variable".

J'ai installé ceci

https://docs.arduino.cc/language-reference/en/functions/usb/Keyboard/

ok , les touches du pavé numérique y ont toutes des noms commençant par KEY_KP_

https://docs.arduino.cc/language-reference/en/functions/usb/Keyboard/keyboardModifiers/

Merci pour le retour! C'est bon à savoir. :slight_smile:

Super - Merci pour les infos !