/** * Function: InputKeyboard::ProcessKBInput(...) * Description: Method to see if the keyboardbuffer can be red or that a aquire is needed * @ param argIsToggle * Boolean to see if the key that is pressed a togglebutton is * @ param argKeyIsPressed * Byte containing the key that must be checked */ bool InputKeyboard::ProcessKBInput( byte argKeyIsPressed ) { if(!SUCCEEDED( dDevice->Poll() )) { DoAcquire(); } dDevice->GetDeviceState( sizeof( keyBuffer ) , (LPVOID)&keyBuffer ); // Check if keybuffer contains given key int pressed = KEYDOWN( keyBuffer, argKeyIsPressed ); // pressed == 0 or 128 (0x80); meaning false or true if( pressed == 0 ) { return false; } else { return true; } if (KEYDOWN( keyBuffer, DIK_W ) || KEYDOWN( keyBuffer, DIK_UP )) ;//Move forward else if (KEYDOWN( keyBuffer, DIK_A || KEYDOWN( keyBuffer, DIK_LEFT ))) ;//Move left else if (KEYDOWN( keyBuffer, DIK_S || KEYDOWN( keyBuffer, DIK_DOWN ))) ;//Move backward else if (KEYDOWN( keyBuffer, DIK_D || KEYDOWN( keyBuffer, DIK_RIGHT))) ;//Move right }
/** * Function: Mouse::GetMouseInput() * Description: Method to see if the mousebuffer can be red or that a aquire is needed */ MouseStruct Mouse::GetMouseInput() { if (!SUCCEEDED(_dDevice->Poll())) DoAcquire(); SetTheMouseBuffer(); return _bufferedMouse; }