Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
// Wir schnappen uns das Systemkeyboard if(FAILED(mDInput->CreateDevice(GUID_SysKeyboard, &mKeyboard, NULL))) { // Fehler, wir kloppen mal Log raus und geben false zurück Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - Error Creating Keyboard!", Ogre::LML_CRITICAL); return (false); } // Setzen wir mal das gewünschte Datenformat if(FAILED(mKeyboard->SetDataFormat(&c_dfDIKeyboard))) { Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - Could not set Keyboard Dataformat!", Ogre::LML_CRITICAL); return (false); } // Wir setzen die Kooperationsebene if(FAILED(mKeyboard->SetCooperativeLevel(theOgreInst->mWin->returnWindowHandle(), DISCL_NONEXCLUSIVE | DISCL_FOREGROUND))) { Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - Could not set Keyboard Cooperation Level!", Ogre::LML_CRITICAL); return (false); } // Und dann starten wir mal den ersten acquire Versuch if(FAILED(mKeyboard->Acquire())) { Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - Error Acquiring Keyboard!", Ogre::LML_CRITICAL); return (false); } else { Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - Keyboard Acquired!", Ogre::LML_CRITICAL); } // Mhhh, machen wir mal einen realen Test ... // Unser Datenset für die max 256 Tasten BYTE aKey[256]; memset(aKey, 0, sizeof(BYTE) * 256); // Fragen wir mal den Zustand ab, wenn das fehlschlägt sind wir wohl nicht im Vordergrund HRESULT r = mKeyboard->GetDeviceState(sizeof(aKey), aKey); if(r = DIERR_INPUTLOST) { mKeyboard->Acquire(); ::MessageBoxW(theOgreInst->mWin->returnWindowHandle(),L"Error making testpoll!", L"Error",NULL); return (FIX::INPUT_KEYBOARDLOST); } // Damit hat das Keyboard alle Stresstests bestanden, das geben wir auch freudig aus Ogre::LogManager::getSingleton().getDefaultLog()->logMessage("DirectInput Device - ++ Keyboard ready! ++", Ogre::LML_CRITICAL); return (true); |
Zitat
|\0_0/| Das Marcus sagt:
NEEEEEEEIN
|\0_0/| Das Marcus sagt:
NEIN
|\0_0/| Das Marcus sagt:
nEIN
Riddick sagt:
NEIN!!!
|\0_0/| Das Marcus sagt:
NAAAAAAAIIIIIN
Riddick sagt:
DAS GIBTS NICH
Riddick sagt:
ARGGGGHHHHHHHH
Riddick sagt:
SO BLIND!!!!!!!!!!!!!!!
Administrator
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
if(r = DIERR_INPUTLOST) { mKeyboard->Acquire(); ::MessageBoxW(theOgreInst->mWin->returnWindowHandle(),L"Error making testpoll!", L"Error",NULL); return (FIX::INPUT_KEYBOARDLOST); } |
Werbeanzeige