Ajouter des touches a la SDL
Résolu
pandageek
Messages postés
359
Date d'inscription
Statut
Membre
Dernière intervention
-
pandageek Messages postés 359 Date d'inscription Statut Membre Dernière intervention -
pandageek Messages postés 359 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je programme un jeu ou le changement d'équipement se fait via les touches 1,2,3,... mais pour éviter d'avoir à maintenir maj, j'aimerai utiliser les caractères qui se trouvent en dessous &,é,",...
seulement la SDL n'a pas la touche é dans la liste de ses constantes.
Cette belle bibliotèque nous permet elle d'ajouter des touches en modifiant le .h ou tout autre fichier?
a t elle prévue des touches libres, qui nous permettrai une personnalisation?
merci à vous et bonne soirée.
Je programme un jeu ou le changement d'équipement se fait via les touches 1,2,3,... mais pour éviter d'avoir à maintenir maj, j'aimerai utiliser les caractères qui se trouvent en dessous &,é,",...
seulement la SDL n'a pas la touche é dans la liste de ses constantes.
Cette belle bibliotèque nous permet elle d'ajouter des touches en modifiant le .h ou tout autre fichier?
a t elle prévue des touches libres, qui nous permettrai une personnalisation?
merci à vous et bonne soirée.
A voir également:
- Ajouter des touches a la SDL
- Touches rémanentes - Guide
- Ajouter à l'écran d'accueil iphone - Guide
- Ajouter signature word - Guide
- Ajouter liste déroulante excel - Guide
- Quelle touche pour débloquer la souris ? - Guide
5 réponses
Salut pandageek,
Je n'ai jamais utilisé la SDL, mais je suppose que tu devrais utiliser les scancodes des touches, plutôt que les caractères.
Dal
Je n'ai jamais utilisé la SDL, mais je suppose que tu devrais utiliser les scancodes des touches, plutôt que les caractères.
Dal
Salut pandageek,
http://wiki.libsdl.org/CategoryKeyboard
D'après ce que je vois, la SDL ne gère que les scancodes des claviers USB (qui sont standardisés)... mais c'est déjà pas mal :-)
Un scancode est un code renvoyé par le clavier identifiant une touche (et non un caractère). Tu peux intercepter le scancode pour la touche "1/&" sur un clavier français et le reconnaître, que l'utilisateur ait pressé Shift ou pas.
S'il presse Shift, le clavier renverra un scancode pour Shift (qui ne te sert à rien dans ton cas) et un autre pour la touche (1/&), qui est donc le même si l'utilisateur ne presse pas Shift.
Est-ce plus clair ?
Dal
http://wiki.libsdl.org/CategoryKeyboard
D'après ce que je vois, la SDL ne gère que les scancodes des claviers USB (qui sont standardisés)... mais c'est déjà pas mal :-)
Un scancode est un code renvoyé par le clavier identifiant une touche (et non un caractère). Tu peux intercepter le scancode pour la touche "1/&" sur un clavier français et le reconnaître, que l'utilisateur ait pressé Shift ou pas.
S'il presse Shift, le clavier renverra un scancode pour Shift (qui ne te sert à rien dans ton cas) et un autre pour la touche (1/&), qui est donc le même si l'utilisateur ne presse pas Shift.
Est-ce plus clair ?
Dal
je comprend très bien le principe mais la pratique reste floue :/
je ne trouve pas comment identifier ma touche.
qu'appelle tu un clavier standardisé?
je ne trouve pas comment identifier ma touche.
qu'appelle tu un clavier standardisé?
Si tu lis le lien, les réponses à ces questions sont aux 2ème et 3ème paragraphe de l'introduction.
key.keysym.scancode contient le scancode, key.keysym.sym contient le caractère
La SDL définit les scancodes pour ces touches 1, 2 et 3 comme : SDL_SCANCODE_1, SDL_SCANCODE_2 et SDL_SCANCODE_3.
Une recherche Google sur "key.keysym.scancode" te donne des exemples de code de capture du scancode.
Par exemple : http://sdl.beuc.net/sdl.wiki/Handling_the_Keyboard Vois le code de la fonction PrintKeyInfo et comment elle est appelée par la fonction main.
Encore une fois, je ne connais pas SDL, alors je ne peux que t'aider à te mettre sur la piste. Allez, un petit effort :-)
Dal
key.keysym.scancode contient le scancode, key.keysym.sym contient le caractère
La SDL définit les scancodes pour ces touches 1, 2 et 3 comme : SDL_SCANCODE_1, SDL_SCANCODE_2 et SDL_SCANCODE_3.
Une recherche Google sur "key.keysym.scancode" te donne des exemples de code de capture du scancode.
Par exemple : http://sdl.beuc.net/sdl.wiki/Handling_the_Keyboard Vois le code de la fonction PrintKeyInfo et comment elle est appelée par la fonction main.
Encore une fois, je ne connais pas SDL, alors je ne peux que t'aider à te mettre sur la piste. Allez, un petit effort :-)
Dal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question