
i
i
i
i
i
i
i
i
482 17. Programming Input and Force Feedback
// this is the function called to enumerate the joystick devices
BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE
*
pdidInstance,
VOID
*
pContext ){
HRESULT hr;
LPDIRECTINPUTDEVICE8 pJoystick;
// create the joystick device
hr = g_pDI->CreateDevice( pdidInstance->guidInstance,&pJoystick,NULL);
if( FAILED(hr) ) return DIENUM_CONTINUE;
nJoys++; // we will stop when we have two
if(nJoys == 1)g_pJoystick1=pJoystick;
else g_pJoystick2=pJoystick;
if(nJoys == 2)return DIENUM_STOP; // only need 2
return DIENUM_CONTINUE;
}
// this function will see if the joystick has more than 2 axes;
// some do, some don’t ...