From 2f28c64edbff38aa356a0ee27a1dc511d8dab594 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 6 Apr 2016 15:10:48 -0700 Subject: [PATCH] Fixing menu navigation in oculus remote --- .../resources/controllers/oculus_remote.json | 5 ++-- .../oculus/src/OculusControllerManager.cpp | 24 ++++++++++--------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/interface/resources/controllers/oculus_remote.json b/interface/resources/controllers/oculus_remote.json index 0e5b7b667b..580d7b1184 100644 --- a/interface/resources/controllers/oculus_remote.json +++ b/interface/resources/controllers/oculus_remote.json @@ -1,9 +1,8 @@ { "name": "Oculus Remote to Standard", "channels": [ - { "from": "OculusRemote.Back", "to": "Standard.Back" }, - { "from": "OculusRemote.Start", "to": "Standard.Start" }, - + { "from": "OculusRemote.Start", "to": "Actions.UiNavSelect" }, + { "from": "OculusRemote.Back", "to": "Actions.UiNavBack" }, { "from": "OculusRemote.DU", "to": "Standard.DU" }, { "from": "OculusRemote.DD", "to": "Standard.DD" }, { "from": "OculusRemote.DL", "to": "Standard.DL" }, diff --git a/plugins/oculus/src/OculusControllerManager.cpp b/plugins/oculus/src/OculusControllerManager.cpp index b728023e4f..50ef6b09a1 100644 --- a/plugins/oculus/src/OculusControllerManager.cpp +++ b/plugins/oculus/src/OculusControllerManager.cpp @@ -44,13 +44,16 @@ bool OculusControllerManager::activate() { // register with UserInputMapper auto userInputMapper = DependencyManager::get(); - _remote = std::make_shared(*this); - userInputMapper->registerDevice(_remote); -#if 0 - _touch = std::make_shared(); - userInputMapper->registerDevice(_touch); -#endif + if (OVR_SUCCESS(ovr_GetInputState(_session, ovrControllerType_Remote, &_inputState))) { + _remote = std::make_shared(*this); + userInputMapper->registerDevice(_remote); + } + + if (OVR_SUCCESS(ovr_GetInputState(_session, ovrControllerType_Touch, &_inputState))) { + _touch = std::make_shared(*this); + userInputMapper->registerDevice(_touch); + } return true; } @@ -76,7 +79,6 @@ void OculusControllerManager::deactivate() { void OculusControllerManager::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData, bool jointsCaptured) { PerformanceTimer perfTimer("OculusControllerManager::TouchDevice::update"); - if (_touch) { if (OVR_SUCCESS(ovr_GetInputState(_session, ovrControllerType_Touch, &_inputState))) { _touch->update(deltaTime, inputCalibrationData, jointsCaptured); @@ -141,10 +143,10 @@ static const std::vector> TOUCH_MAP { controller::Input::NamedVector OculusControllerManager::RemoteDevice::getAvailableInputs() const { using namespace controller; QVector availableInputs { - makePair(DU, "Up"), - makePair(DD, "Down"), - makePair(DL, "Left"), - makePair(DR, "Right"), + makePair(DU, "DU"), + makePair(DD, "DD"), + makePair(DL, "DL"), + makePair(DR, "DR"), makePair(START, "Start"), makePair(BACK, "Back"), };