diff --git a/interface/resources/html/help.html b/interface/resources/html/help.html index 422f5c6b46..fabaebef7c 100644 --- a/interface/resources/html/help.html +++ b/interface/resources/html/help.html @@ -47,25 +47,72 @@ } @@ -75,8 +122,8 @@
- - + +
diff --git a/interface/resources/html/img/controls-help-oculus.png b/interface/resources/html/img/controls-help-oculus.png new file mode 100644 index 0000000000..9528b24e05 Binary files /dev/null and b/interface/resources/html/img/controls-help-oculus.png differ diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7c2eeece28..1fcca09021 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2180,17 +2180,31 @@ void Application::aboutApp() { } void Application::showHelp() { - static const QString QUERY_STRING_XBOX = "xbox"; - static const QString QUERY_STRING_VIVE = "vive"; + static const QString HAND_CONTROLLER_NAME_VIVE = "vive"; + static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus"; + + static const QString TAB_KEYBOARD_MOUSE = "kbm"; + static const QString TAB_GAMEPAD = "gamepad"; + static const QString TAB_HAND_CONTROLLERS = "handControllers"; + + QString handControllerName = HAND_CONTROLLER_NAME_VIVE; + QString defaultTab = TAB_KEYBOARD_MOUSE; - QString queryString = ""; if (PluginUtils::isViveControllerAvailable()) { - queryString = QUERY_STRING_VIVE; + defaultTab = TAB_HAND_CONTROLLERS; + handControllerName = HAND_CONTROLLER_NAME_VIVE; + } else if (PluginUtils::isOculusTouchControllerAvailable()) { + defaultTab = TAB_HAND_CONTROLLERS; + handControllerName = HAND_CONTROLLER_NAME_OCULUS_TOUCH; } else if (PluginUtils::isXboxControllerAvailable()) { - queryString = QUERY_STRING_XBOX; + defaultTab = TAB_GAMEPAD; } - InfoView::show(INFO_HELP_PATH, false, queryString); + QUrlQuery queryString; + queryString.addQueryItem("handControllerName", handControllerName); + queryString.addQueryItem("defaultTab", defaultTab); + + InfoView::show(INFO_HELP_PATH, false, queryString.toString()); } void Application::resizeEvent(QResizeEvent* event) { diff --git a/libraries/plugins/src/plugins/PluginUtils.cpp b/libraries/plugins/src/plugins/PluginUtils.cpp index 48530bfe8c..bbb8d5c259 100644 --- a/libraries/plugins/src/plugins/PluginUtils.cpp +++ b/libraries/plugins/src/plugins/PluginUtils.cpp @@ -51,6 +51,10 @@ bool PluginUtils::isViveControllerAvailable() { return isSubdeviceContainingNameAvailable("OpenVR"); }; +bool PluginUtils::isOculusTouchControllerAvailable() { + return isSubdeviceContainingNameAvailable("OculusTouch"); +}; + bool PluginUtils::isXboxControllerAvailable() { return isSubdeviceContainingNameAvailable("X360 Controller"); }; diff --git a/libraries/plugins/src/plugins/PluginUtils.h b/libraries/plugins/src/plugins/PluginUtils.h index f1449bc3af..6cb2a7f980 100644 --- a/libraries/plugins/src/plugins/PluginUtils.h +++ b/libraries/plugins/src/plugins/PluginUtils.h @@ -17,5 +17,6 @@ public: static bool isHMDAvailable(const QString& pluginName = ""); static bool isHandControllerAvailable(); static bool isViveControllerAvailable(); + static bool isOculusTouchControllerAvailable(); static bool isXboxControllerAvailable(); };