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?