tu peux peut-être nous dire ce que tu as testé et les valeurs obtenus ; mais je le redis (je ne l'ai sûrement pas bien dit) dans la majorité des cas, tu n'as qu'à utiliser keyval, keycode, c'est le code défini par le hardware correspondant à la touche (traduit en keyval par keymap si je ne me trompe pas et si possible)
Pour le clavier, il y a 2 concepts à comprendre: - La valeur de la touche ou les combinaisons de touche: tu appuies sur "a", et tu obtiens un "a", tu appuies sur MAJ + "a", tu obtiens "A". - Le code de la touche, on peut assimiler cela aux coordonnées de la touche, tu appuies sur "a" sur un clavier azerty, tu obtiens un "a", par contre la même touche (entendre: même position) sur un clavier qwerty donnera un "q".
Pour le clavier, il y a 2 concepts à comprendre: - La valeur de la touche ou les combinaisons de touche: tu appuies sur "a", et tu obtiens un "a", tu appuies sur MAJ + "a", tu obtiens "A". - Le code de la touche, on peut assimiler cela aux coordonnées de la touche, tu appuies sur "a" sur un clavier azerty, tu obtiens un "a", par contre la même touche (entendre: même position) sur un clavier qwerty donnera un "q".
Avec la SDL2 (comme pour d'autres bibliothèques je suppose) il y a deux approches différentes pour un clavier: les keycodes (plus modernes) et les scancodes (déjà présents dans la version 1.x de la biliothèque). Avec les scancodes on a ce que tu décris par exemple pour le 'w'/'z' ,'q'/'a' , 'm'/'?' (pour les clavier azerty/qwerty); par contre avec les keycodes: le 'a' azerty correspond au 'a' du clavier qwerty ce qui permet de coder sans penser aux différents claviers qui peuvent exister (sans trop rentrer dans les détails des claviers avec alphabets non latins).
@Duncan4031 : J'ai envie de dire , mais je n'en suis pas du tout sur, que le keycode représente une touche par rapport à la 'géométrie' du clavier; si tu as un clavier azerty, la touche 'a' est juste avant la touche 'z' sur une même ligne ce qui expliquerais que leurs code 'keycode' soient 18 et 19 respectivement (donc juste à suivre); donc par déclinaison sur un clavier qwerty 'q' et 'w' auraient un keycode contigüe. Par contre, le keyval definie bien la touche d'appuyé, à savoir que le 'a' azerty aurait le même keyval que le 'a' d'un clavier qwerty. Donc pour garder une meilleur compatibilité , il conviendrait d'utiliser keyval. Il faut que tu lise la documentation de gtkmm pour en être sur, ce que je dis , si je ne me trompe pas doit être mentionné quelque part.
Edit: Dans ton premier post, il y a la réponse :
"- The raw code of the pressed key" et "- The pressed key"
Le raw code correspond à la valeur brut du clavier (par rapport à sa géométrie , quelle ligne et quelle numéro de touche de cette ligne, indépendamment de la touche qui se trouve à cet endroit)
Alors que keyval , c'est la touche (ce qu' il y a de marqué dessus) donc un 'a' azerty est un 'a' en qwerty etc...
mais keycode n'est pas détaillé, d'où ma question de départ.
Raw code of key pressed ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr