diff --git a/interface/resources/html/tabletHelp.html b/interface/resources/html/tabletHelp.html
index 279213bbcb..dd7931d0ed 100644
--- a/interface/resources/html/tabletHelp.html
+++ b/interface/resources/html/tabletHelp.html
@@ -66,7 +66,7 @@
diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp
index 7266e889c1..fb6e8ec566 100644
--- a/interface/src/Application.cpp
+++ b/interface/src/Application.cpp
@@ -3431,26 +3431,37 @@ void Application::showHelp() {
static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus";
static const QString HAND_CONTROLLER_NAME_WINDOWS_MR = "windowsMR";
+ static const QString VIVE_PLUGIN_NAME = "HTC Vive";
+ static const QString OCULUS_RIFT_PLUGIN_NAME = "Oculus Rift";
+ static const QString WINDOWS_MR_PLUGIN_NAME = "WindowsMR";
+
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 handControllerName;
QString defaultTab = TAB_KEYBOARD_MOUSE;
- if (PluginUtils::isViveControllerAvailable()) {
- 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 (qApp->getActiveDisplayPlugin()->getName() == "WindowMS") {
+ if (PluginUtils::isHMDAvailable(WINDOWS_MR_PLUGIN_NAME)) {
defaultTab = TAB_HAND_CONTROLLERS;
handControllerName = HAND_CONTROLLER_NAME_WINDOWS_MR;
+ } else if (PluginUtils::isHMDAvailable(VIVE_PLUGIN_NAME)) {
+ defaultTab = TAB_HAND_CONTROLLERS;
+ handControllerName = HAND_CONTROLLER_NAME_VIVE;
+ } else if (PluginUtils::isHMDAvailable(OCULUS_RIFT_PLUGIN_NAME)) {
+ if (PluginUtils::isOculusTouchControllerAvailable()) {
+ defaultTab = TAB_HAND_CONTROLLERS;
+ handControllerName = HAND_CONTROLLER_NAME_OCULUS_TOUCH;
+ } else if (PluginUtils::isXboxControllerAvailable()) {
+ defaultTab = TAB_GAMEPAD;
+ } else {
+ defaultTab = TAB_KEYBOARD_MOUSE;
+ }
} else if (PluginUtils::isXboxControllerAvailable()) {
defaultTab = TAB_GAMEPAD;
+ } else {
+ defaultTab = TAB_KEYBOARD_MOUSE;
}
- // TODO need some way to detect windowsMR to load controls reference default tab in Help > Controls Reference menu.
QUrlQuery queryString;
queryString.addQueryItem("handControllerName", handControllerName);
diff --git a/libraries/plugins/src/plugins/PluginUtils.cpp b/libraries/plugins/src/plugins/PluginUtils.cpp
index ce67f7c585..f6419ccba0 100644
--- a/libraries/plugins/src/plugins/PluginUtils.cpp
+++ b/libraries/plugins/src/plugins/PluginUtils.cpp
@@ -65,6 +65,6 @@ bool PluginUtils::isOculusTouchControllerAvailable() {
};
bool PluginUtils::isXboxControllerAvailable() {
- return isSubdeviceContainingNameAvailable("X360 Controller");
+ return isSubdeviceContainingNameAvailable("X360 Controller") || isSubdeviceContainingNameAvailable("XInput Controller");
};