DirectInput aktualisiert Joystick nicht, wenn er zentriert ist



  • Mein DirectInput Programm aktualisiert den Joystick nicht, wenn ich ihn Polle und die Achse eigentlich 0 sein sollte. Ich benutze den Joystick NONEXCLUSIVE und im BACKGROUND.

    /***Update the Joypad***/
    void JoyPad::Poll()
    {
    	DIJOYSTATE2 dj;
    	m_lpDevice->Acquire();
    	if(FAILED(m_lpDevice->Poll()))
    	{
    		m_lpDevice->Unacquire();
    		return;
    	}
    	if(FAILED(m_lpDevice->GetDeviceState(sizeof(DIJOYSTATE2),&dj)))
    	{
    		m_lpDevice->Unacquire();
    		return;
    	}
    	for(int i=0;i<m_iNumButtons;i++)
    	{
    		m_vButtons[i]->m_bPushed=false;
    		if(((LONG*)(&dj))[m_vButtons[i]->m_iOffset]&0x80)
    		{
    			m_vButtons[i]->m_bPushed=true;
    		}
    	}
    	for(int i=0;i<m_iNumAxis;i++)
    	{
    		m_vAxes[i]->m_iValue=((LONG*)(&dj))[m_vAxes[i]->m_iOffset];
    	}
    	m_lpDevice->Unacquire();
    }
    

    EDIT: Kann es eventuell daran liegen, dass ich das device immediate abfrage?


Anmelden zum Antworten