From c0d44812d647c123e042ff94254257535db1947d Mon Sep 17 00:00:00 2001 From: ykeara Date: Wed, 8 Apr 2020 16:29:59 -0500 Subject: [PATCH] fixes keyboard positioning (#394) --- src/overlaycontroller.cpp | 29 +++++++++++------------------ src/overlaycontroller.h | 1 + 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index 2b85e38..036af8a 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -1408,25 +1408,18 @@ void OverlayController::showKeyboard( QString existingText, 1024, existingText.toStdString().c_str(), userValue ); + setKeyboardPos(); +} - auto m_trackingUniverse = vr::VRCompositor()->GetTrackingSpace(); - - vr::EVROverlayError overlayerror; - // System Overlay Key - const auto systemOverlayKey = std::string( "system.systemui" ); - vr::VROverlayHandle_t systemOverlayHandle; - overlayerror = vr::VROverlay()->FindOverlay( systemOverlayKey.c_str(), - &systemOverlayHandle ); - if ( overlayerror != vr::VROverlayError_None ) - { - return; - } - vr::HmdMatrix34_t overlayPos; - vr::VROverlay()->GetOverlayTransformAbsolute( - systemOverlayHandle, &m_trackingUniverse, &overlayPos ); - overlayPos.m[1][3] = overlayPos.m[1][3] - 1.0f; - vr::VROverlay()->SetKeyboardTransformAbsolute( m_trackingUniverse, - &overlayPos ); +void OverlayController::setKeyboardPos() +{ + vr::HmdVector2_t emptyvec; + emptyvec.v[0] = 0; + emptyvec.v[1] = 0; + vr::HmdRect2_t empty; + empty.vTopLeft = emptyvec; + empty.vBottomRight = emptyvec; + vr::VROverlay()->SetKeyboardPositionForOverlay( m_ulOverlayHandle, empty ); } void OverlayController::playActivationSound() diff --git a/src/overlaycontroller.h b/src/overlaycontroller.h index 6764140..6408f52 100644 --- a/src/overlaycontroller.h +++ b/src/overlaycontroller.h @@ -252,6 +252,7 @@ public slots: void OnNetworkReply( QNetworkReply* reply ); void showKeyboard( QString existingText, unsigned long userValue = 0 ); + void setKeyboardPos(); void playActivationSound(); void playFocusChangedSound();