Hook manette

Signaler
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
-
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
-
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

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,


Cherche du côté de "hook directinput". Tu devrais tomber sur ce genre de choses.
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011

Merci, pas le temps de lire, jdois y aller, je vous tient au courant !
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011

Slt les amis, y a vraiment le bonheur de tous sur Cs : Par ex ici
Je m'inspirerai de ça !
Bonne nuit !
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011

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 !
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011

#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;
}