Hook manette

Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 - 25 déc. 2009 à 02:04
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 - 2 janv. 2010 à 22:24
Joyeux noël à tous et à toutes,
Est-t'il possible de créer un hook de récupération d'évènements d'une manette ? (si oui comment ? )

Merci de votre solidarité !

5 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
25 déc. 2009 à 11:44
Salut,


Cherche du côté de "hook directinput". Tu devrais tomber sur ce genre de choses.
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011
25 déc. 2009 à 11:54
Merci, pas le temps de lire, jdois y aller, je vous tient au courant !
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011
26 déc. 2009 à 00:52
Slt les amis, y a vraiment le bonheur de tous sur Cs : Par ex ici
Je m'inspirerai de ça !
Bonne nuit !
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011
2 janv. 2010 à 22:23
Salut, enfait c'est très simple:

voila un petit exemple,

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "rc.h"

int main()
{
    JOYINFOEX Joypad_Info; // pour avoir les eta des button de la joysrick
    Joypad_Info.dwFlags = JOY_RETURNALL;
    DWORD dwBoutons; // pour garder la dernier action faite
    int delai;
    system("title conaitre le ctrl d'une touche d'un joystique");
    printf("tester un joystique\n");
    printf("delai: ");
    scanf("%d", &delai);

    /* debugage du joystique */
    switch(joyGetPosEx(JOYSTICKID1,&Joypad_Info))
    {
        case MMSYSERR_NODRIVER:
            MessageBox(NULL, TEXT("le joystique n'est pas present.\n"), TEXT("4"), MB_OK);
        break;

        case MMSYSERR_INVALPARAM:
           MessageBox(NULL, TEXT("un paramètre non valide a ete passe..\n"), TEXT("4"), MB_OK);
        break;

        case MMSYSERR_BADDEVICEID:
            MessageBox(NULL, TEXT("l'identifiant joystick spécifié n'est pas valide.\n"), TEXT("4"), MB_OK);
        break;

        case JOYERR_UNPLUGGED:
           MessageBox(NULL, TEXT("le joystick specifie n'est pas connecte auBUTACTUAL systeme.\n"), TEXT("4"), MB_OK);
        break;

        case JOYERR_PARMS:
            MessageBox(NULL, TEXT("l'identifiant joystick specifie n'est pas valide.\n"), TEXT("4"), MB_OK);
        break;

        default:
           // MessageBox(NULL, TEXT("le joystique est pret a l'emploi.\n"), TEXT("4"), MB_OK);
        break;
    }
    while(1)
    {
        Sleep(delai);
        joyGetPosEx(JOYSTICKID1,&Joypad_Info);
        if(Joypad_Info.dwButtons != NULL)
        {
            printf("__ ctrl : %d __", Joypad_Info.dwButtons);
            printf("\n");
        }
        /* Quand on appui sur start on ferme le prog */ 
        if(Joypad_Info.dwButtons != 512)
        {
            break;
        }
    }
    return 0;
}

Par contre j'ai un probleme au niveau de la simulations des touches, quand chu sur cs sa fais buguer !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011
2 janv. 2010 à 22:24
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "rc.h"

int main()
{
    JOYINFOEX Joypad_Info; // pour avoir les eta des button de la joysrick
    Joypad_Info.dwFlags = JOY_RETURNALL;
    DWORD dwBoutons; // pour garder la dernier action faite
    int delai;
    system("title conaitre le ctrl d'une touche d'un joystique");
    printf("tester un joystique\n");
    printf("delai: ");
    scanf("%d", &delai);

    /* debugage du joystique */
    switch(joyGetPosEx(JOYSTICKID1,&Joypad_Info))
    {
        case MMSYSERR_NODRIVER:
            MessageBox(NULL, TEXT("le joystique n'est pas present.\n"), TEXT("4"), MB_OK);
        break;

        case MMSYSERR_INVALPARAM:
           MessageBox(NULL, TEXT("un paramètre non valide a ete passe..\n"), TEXT("4"), MB_OK);
        break;

        case MMSYSERR_BADDEVICEID:
            MessageBox(NULL, TEXT("l'identifiant joystick spécifié n'est pas valide.\n"), TEXT("4"), MB_OK);
        break;

        case JOYERR_UNPLUGGED:
           MessageBox(NULL, TEXT("le joystick specifie n'est pas connecte auBUTACTUAL systeme.\n"), TEXT("4"), MB_OK);
        break;

        case JOYERR_PARMS:
            MessageBox(NULL, TEXT("l'identifiant joystick specifie n'est pas valide.\n"), TEXT("4"), MB_OK);
        break;

        default:
           // MessageBox(NULL, TEXT("le joystique est pret a l'emploi.\n"), TEXT("4"), MB_OK);
        break;
    }
    while(1)
    {
        Sleep(delai);
        joyGetPosEx(JOYSTICKID1,&Joypad_Info);
        if(Joypad_Info.dwButtons != NULL)
        {
            printf("__ ctrl : %d __", Joypad_Info.dwButtons);
            printf("\n");
        }
        /* Quand on appui sur start on ferme le prog */ 
        if(Joypad_Info.dwButtons != 512)
        {
            break;
        }
    }
    return 0;
}
0
Rejoignez-nous