void HotKeyManager::initialise() { MyGUI::ResourceManager::getInstance().registerLoadXmlDelegate("HotKeys") = MyGUI::newDelegate(this, &HotKeyManager::loadXml); MyGUI::InputManager::getInstance().eventHotKeyPressedPreprocess = [this](MyGUI::KeyCode _key){ MyGUI::InputManager& input = MyGUI::InputManager::getInstance(); return onKeyEvent(_key); }; }
void BaseScene::onKeyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event){ for (std::vector<KeyboardEventsFunc>::iterator it = _keyboardEvents.begin() ;it != _keyboardEvents.end(); ++it) { if(it->onKeyReleased && it->onKeyReleased(keyCode, event)){ return; } } onKeyEvent(keyCode, event); }
int BnWindow::onTransact(uint32_t code, const Parcel& data, Parcel* reply,uint32_t flags) { switch(code) { case TRANSACTION_windowOnKeyEvent: { CHECK_INTERFACE(IWindow, data, reply); sp<KeyEvent> keyEvent; keyEvent = keyEvent->createFromParcel(data); onKeyEvent(keyEvent); reply->writeInt32(1); return true; } break; } return BBinder::onTransact(code, data, reply, flags); }
//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ bool InputService::keyReleased(const OIS::KeyEvent& _keyEvent) { Engine::Input::KeyCode_enum code = (Engine::Input::KeyCode_enum)_keyEvent.key; KeyModifierState::KeyModifierMap_type::const_iterator iter = KeyModifierState::sm_keyModifierReleasedMap.find(code); if( iter != KeyModifierState::sm_keyModifierReleasedMap.end() ) { iter->second(m_pKeyModifierState, *this); } pKeyEvent_type pKeyEvent(new KeyEvent(_keyEvent, false, new KeyState(code, m_pKeyModifierState))); onKeyEvent(pKeyEvent); return true; }
int BnWindowManager::onTransact(uint32_t code, const Parcel& data, Parcel* reply,uint32_t flags) { switch(code) { case TRANSACTION_wmOnKeyEvent: { CHECK_INTERFACE(IWindowManager, data, reply); sp<KeyEvent> keyEvent; keyEvent = keyEvent->createFromParcel(data); onKeyEvent(keyEvent); reply->writeInt32(1); return true; } break; case TRANSACTION_wmRegisterFocusWindow: { CHECK_INTERFACE(IWindowManager, data, reply); sp<IBinder> binder = data.readStrongBinder(); int result = registerFocusWindow(binder); reply->writeInt32(1); reply->writeInt32(result); return true; } break; case TRANSACTION_wmDisplayText: { CHECK_INTERFACE(IWindowManager, data, reply); sp<Text> txt; txt = txt->createFromParcel(data); int result = displayText(txt); reply->writeInt32(1); reply->writeInt32(result); return true; } break; } return BBinder::onTransact(code, data, reply, flags); }
LRESULT WebView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { LRESULT lResult = 0; bool handled = true; switch (message) { case WM_DESTROY: m_isBeingDestroyed = true; close(); break; case WM_ERASEBKGND: lResult = 1; break; case WM_PAINT: lResult = onPaintEvent(hWnd, message, wParam, lParam, handled); break; case WM_PRINTCLIENT: lResult = onPrintClientEvent(hWnd, message, wParam, lParam, handled); break; case WM_MOUSEMOVE: case WM_LBUTTONDOWN: case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: case WM_LBUTTONDBLCLK: case WM_MBUTTONDBLCLK: case WM_RBUTTONDBLCLK: case WM_LBUTTONUP: case WM_MBUTTONUP: case WM_RBUTTONUP: case WM_MOUSELEAVE: lResult = onMouseEvent(hWnd, message, wParam, lParam, handled); break; case WM_MOUSEWHEEL: case WM_VISTA_MOUSEHWHEEL: lResult = onWheelEvent(hWnd, message, wParam, lParam, handled); break; case WM_SYSKEYDOWN: case WM_KEYDOWN: case WM_SYSCHAR: case WM_CHAR: case WM_SYSKEYUP: case WM_KEYUP: lResult = onKeyEvent(hWnd, message, wParam, lParam, handled); break; case WM_SIZE: lResult = onSizeEvent(hWnd, message, wParam, lParam, handled); break; case WM_WINDOWPOSCHANGED: lResult = onWindowPositionChangedEvent(hWnd, message, wParam, lParam, handled); break; case WM_SETFOCUS: lResult = onSetFocusEvent(hWnd, message, wParam, lParam, handled); break; case WM_KILLFOCUS: lResult = onKillFocusEvent(hWnd, message, wParam, lParam, handled); break; case WM_TIMER: lResult = onTimerEvent(hWnd, message, wParam, lParam, handled); break; case WM_SHOWWINDOW: lResult = onShowWindowEvent(hWnd, message, wParam, lParam, handled); break; case WM_SETCURSOR: lResult = onSetCursor(hWnd, message, wParam, lParam, handled); break; default: handled = false; break; } if (!handled) lResult = ::DefWindowProc(hWnd, message, wParam, lParam); return lResult; }
/********************************************* SDL event loop **********************************************/ void Application::processEvents(){ SDL_Event event; while ( SDL_PollEvent( &event ) ){ switch( event.type ){ case SDL_VIDEORESIZE: mSurface.onResize(event.resize.w, event.resize.h); break; case SDL_QUIT: //handle quit requests requestShutdown(); break; case SDL_MOUSEBUTTONDOWN: onMouseEvent(event.button.button, event.type); break; case SDL_MOUSEBUTTONUP: onMouseEvent(event.button.button, event.type); break; case SDL_KEYDOWN: onKeyEvent(event.key.keysym.sym, event.type); break; case SDL_KEYUP: onKeyEvent(event.key.keysym.sym, event.type); break; default: break; } } /* if (!done){ //Do one frames worth of work and figure out the length of time uint32_t startTime = SDL_GetTicks(); renderMain(); updateMain(); uint32_t endTime = SDL_GetTicks(); //Figure out the scaling factor for FPS-independent movement uint32_t diff = endTime - startTime; fTimeScale = (float)diff * fTimeScaleScale; //Every hour, do a cleanup if(fCleanupTimer < 0.0f){ ps()->doPeriodicCleanup(); fCleanupTimer = CLEANUP_TIMER; } //Update our various timers fCleanupTimer -= fTimeScale; fUptime += fTimeScale; fParticleFPS = fTimeScale; } */ }
virtual Input::EventResponse onKeyDownEvent(Input::ButtonDownPtr ev) { return onKeyEvent(ev); }
virtual Input::EventResponse onKeyReleasedEvent(Input::ButtonReleasedPtr ev) { return onKeyEvent(ev); }
virtual Input::EventResponse onKeyPressedEvent(Input::ButtonPressedPtr ev) { return onKeyEvent(ev); }
JNIEXPORT void JNICALL Java_com_n0n3m4_q3e_Q3EJNI_sendKeyEvent(JNIEnv *env, jclass c, jint state, jint key, jint chr) { onKeyEvent(state,key,chr); }