From befca689176652d6df92973f7c6f7923ff9826ac Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Fri, 14 Dec 2018 10:57:42 -0800 Subject: [PATCH] fixing keyboard position offset --- interface/src/Application.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index d87553b9f1..d9c3f1478c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -8650,10 +8650,10 @@ void Application::createLoginDialogOverlay() { auto keyboard = DependencyManager::get().data(); if (!keyboard->getAnchorID().isNull() && !_loginDialogOverlayID.isNull()) { const auto KEYBOARD_LOCAL_ORIENTATION = glm::quat(0.0f, 0.0, 1.0f, 0.25f); - auto keyboardLocalOffset = glm::vec3(-0.4f * getMyAvatar()->getSensorToWorldScale(), -0.3f, 0.2f); + auto keyboardLocalOffset = cameraOrientation * glm::vec3(-0.4f * getMyAvatar()->getSensorToWorldScale(), -0.3f, 0.2f); QVariantMap properties { - { "position", vec3toVariant(loginOverlay->getWorldPosition() + keyboardLocalOffset) }, - { "orientation", quatToVariant(loginOverlay->getWorldOrientation() * KEYBOARD_LOCAL_ORIENTATION) }, + { "position", vec3toVariant(overlayPosition + keyboardLocalOffset) }, + { "orientation", quatToVariant(cameraOrientation * KEYBOARD_LOCAL_ORIENTATION) }, }; overlays.editOverlay(keyboard->getAnchorID(), properties); keyboard->setResetKeyboardPositionOnRaise(false); @@ -8668,7 +8668,7 @@ void Application::createLoginDialogOverlay() { } void Application::updateLoginDialogOverlayPosition() { - const float LOOK_AWAY_THRESHOLD_ANGLE = 40.0f; + const float LOOK_AWAY_THRESHOLD_ANGLE = 70.0f; const auto OVERLAY_OFFSET = glm::vec2(0.7f, -0.1f); auto& overlays = getOverlays(); auto loginOverlay = std::dynamic_pointer_cast(overlays.getOverlay(_loginDialogOverlayID)); @@ -8692,10 +8692,10 @@ void Application::updateLoginDialogOverlayPosition() { }; overlays.editOverlay(_loginDialogOverlayID, properties); const auto KEYBOARD_LOCAL_ORIENTATION = glm::quat(0.0f, 0.0, 1.0f, 0.25f); - auto keyboardLocalOffset = glm::vec3(-0.4f * getMyAvatar()->getSensorToWorldScale(), -0.3f, 0.2f); + auto keyboardLocalOffset = newOverlayOrientation * glm::vec3(-0.4f * getMyAvatar()->getSensorToWorldScale(), -0.3f, 0.2f); QVariantMap keyboardProperties { - { "position", vec3toVariant(loginOverlay->getWorldPosition() + keyboardLocalOffset) }, - { "orientation", quatToVariant(loginOverlay->getWorldOrientation() * KEYBOARD_LOCAL_ORIENTATION) }, + { "position", vec3toVariant(newOverlayPositionVec + keyboardLocalOffset) }, + { "orientation", quatToVariant(newOverlayOrientation * KEYBOARD_LOCAL_ORIENTATION) }, }; auto keyboard = DependencyManager::get().data(); overlays.editOverlay(keyboard->getAnchorID(), keyboardProperties);