IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

[DirectInput] Type de clavier


Sujet :

DirectX

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut [DirectInput] Type de clavier
    Bonsoir,


    j aimerais savoir si il y a un moyen de connaitre le type de clavier azerty , qwerty avec direct input car je viens de developper une EditBox avec du text et le probleme est que si je tape sur 'A' il me tape 'Q'


    comment peut on gerer ca ?

    Merci d avance 8)

  2. #2
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut
    Je veux pas dire n'importe quoi mais normalement DirecInput ne tient pas compte du clavier. La touche "A" est la touche "A" sur tous les clavier quelque soit leur type. Mais je suis pas sur que ce soit ton problème, ton EditBox, c'est un truc que t'a développé avec DirectX ??

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut [DirectInupit] Type de clavier
    Salut,

    Je veux pas dire n'importe quoi mais normalement DirecInput ne tient pas compte du clavier. La touche "A" est la touche "A" sur tous les clavier quelque soit leur type. Mais je suis pas sur que ce soit ton problème, ton EditBox, c'est un truc que t'a développé avec DirectX ??
    graphiquement c fait en openGL mais la gestion des touches du clavier se fait avec direct inupt (dinput.h version 0x0800 )

    un petit bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    else if(key[DIK_A] && !last_key[DIK_A] ) str[pos] = 'A';
    Quand j appuie sur 'A' pourtant il m ecrit Q , et pareil pour toute les autres touches diffenrentes par rapport au Qwerty : "," me donne M

  4. #4
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut
    Ton clavier est configuré en azerty sous Windows ?? (t'a ce genre de problème sous les jeux DirectX ??)

  5. #5
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    re ,


    oui biensur mon clavier est configuré en azerty (francais france)

    mais directinput ne le gere pas d apres que ce que j ai trouvé sur le net.

    Il semble que la seule solution est de remapper les touches en intervertissant les scans codes qui posent probleme

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const float K_A =  DIK_Q
    const float K_Q = DIK_A
    si qqun a mieux je suis preneur.

    pour les jeux je joue pas bcp mais un temoignage de gamer serait le bienvenu

    a+

  6. #6
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut
    Sa me parait quand meme bizard, j'ai pas souvenir d'avoir eu ce genre de problème avec DirectInput. T'a verifier dans la doc du SDK si sa parle pas ce problème ??
    Sinon en tant que gamers (hihi) ba il se trouve que certains jeux ont ce genre de problèmes et ne gerent pas le clavier français mais ce sont en general de vieux jeux et les jeux recent n'ont plus ce problème. Sauf exception je pense notament a Raven Shield qui je crois a encore ce problème et qui est pourtant un jeu uitilisant DirectX mais je ne suis pas sur.

  7. #7
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Re,

    bé bizarre pas tant que ca , y a un pas mal d endroits ou y a des claviers qwerty non ? à par pour le langue francaise je crois que que c est pas trop utilisé.

    Et puis j ai deja vu ce probleme dans des freewares basés sur la SDL aussi .

    Pour les "gros" jeux commerciaux la plupart sont localisés et bon l effort a faire pour gerer le Azerty n est pas enorme non plus c est que quelques touches.

    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    En suisse française, nos claviers sont en qwertz.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2002
    Messages : 256
    Points : 121
    Points
    121
    Par défaut
    Salut !

    Sache que pour le jeu que j'ai développé (avec Heliopraetor), on rencontré le même "probléme". DInput est basé sur un systeme qwerty. LA seule solution est le remapage des touches.

    De plus, je te ferais remarquer que les touches alphabetiques ne sont pas définies dans cet ordre par DInput (tu ne peux faire de boucle de A a Z : il n'y aura pas que des lettres alpha).

    voila comme nous on a fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    //dans le CTeur de CInputManager
    	m_KeyTab[0] = DIK_Q;
    		m_KeyTab[1] = DIK_B;
    		m_KeyTab[2] = DIK_C;
    		m_KeyTab[3] = DIK_D;
    		m_KeyTab[4] = DIK_E;
    		m_KeyTab[5] = DIK_F;
    		m_KeyTab[6] = DIK_G;
    		m_KeyTab[7] = DIK_H;
    		m_KeyTab[8] = DIK_I;
    		m_KeyTab[9] = DIK_J;
    		m_KeyTab[10] = DIK_K;
    		m_KeyTab[11] = DIK_L;
    		m_KeyTab[12] = DIK_SEMICOLON;// "," donc en qwerty "m"
    		m_KeyTab[13] = DIK_N;
    		m_KeyTab[14] = DIK_O;
    		m_KeyTab[15] = DIK_P;
    		m_KeyTab[16] = DIK_A;
    		m_KeyTab[17] = DIK_R;
    		m_KeyTab[18] = DIK_S;
    		m_KeyTab[19] = DIK_T;
    		m_KeyTab[20] = DIK_U;
    		m_KeyTab[21] = DIK_V;
    		m_KeyTab[22] = DIK_Z;
    		m_KeyTab[23] = DIK_X;
    		m_KeyTab[24] = DIK_Y;
    		m_KeyTab[25] = DIK_W
    avec m_Keytab définie comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DWORD m_KeyTab[26];
    Pour plus d'informations, et surtout un exemple de fonctionnement, je te conseil d'aller jeter un oeil à nos sources (open source) sur www.waterball.fr.st . La solutin de ton probleme sera dans CInputManager.h et cpp (il y a en plus la gestion des touches spéciales).

    cordialement

  10. #10
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut merci
    Salut !


    merci beaucoup delire8 pour cette contribution.

    A+

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2012, 09h14
  2. [Clavier virtuel] Changer le type de clavier dynamiquement
    Par matthieu86 dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 15/07/2009, 14h35
  3. Comment reconnaitre le type de clavier (API windows)
    Par moulydi dans le forum Débuter
    Réponses: 8
    Dernier message: 08/07/2009, 15h58
  4. [Info] Modification type clavier azerty à qwerty
    Par giordano dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 17/02/2006, 21h42
  5. Scrutation du clavier avec DirectInput
    Par Mark53 dans le forum DirectX
    Réponses: 9
    Dernier message: 17/12/2004, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo