void BerkeliumWidget::onKeyButtonReleased(KeyCode _key) { if (mWindow != nullptr) { InputManager& manager = InputManager::getInstance(); int mod = 0; if (manager.isControlPressed()) mod |= Berkelium::CONTROL_MOD; if (manager.isShiftPressed()) mod |= Berkelium::SHIFT_MOD; mWindow->keyEvent(false, mod, input::ScanCodeToVirtualKey(_key.toValue()), 0); } Base::onKeyButtonReleased(_key); }
void BerkeliumWidget::onKeyButtonPressed(KeyCode _key, Char _char) { if (mWindow != nullptr) { InputManager& manager = InputManager::getInstance(); int mod = 0; if (manager.isControlPressed()) mod |= Berkelium::CONTROL_MOD; if (manager.isShiftPressed()) mod |= Berkelium::SHIFT_MOD; mWindow->keyEvent(true, mod, input::ScanCodeToVirtualKey(_key.toValue()), 0); if (_char != 0) { wchar_t text = (wchar_t)_char; mWindow->textEvent(&text, 1); } } Base::onKeyButtonPressed(_key, _char); }