Merge pull request #14347 from r3tk0n/19550-oculus-store-v2

MS19550 - Don't show help for HMDs that aren't plugged in and active
This commit is contained in:
Jason Najera 2018-11-16 15:49:46 -08:00 committed by GitHub
commit da3ea682ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 39 deletions

View file

@ -66,7 +66,7 @@
<script> <script>
var handControllerImageURL = null; var handControllerImageURL = null;
var index = 0; var index = 0;
var count = 5; var count = 3;
function showKbm() { function showKbm() {
document.getElementById("main_image").setAttribute("src", "img/tablet-help-keyboard.jpg"); document.getElementById("main_image").setAttribute("src", "img/tablet-help-keyboard.jpg");
@ -94,24 +94,14 @@
switch (index) switch (index)
{ {
case 0: case 0:
handControllerImageURL = "img/tablet-help-oculus.jpg";
showHandControllers();
break;
case 1:
handControllerImageURL = "img/tablet-help-vive.jpg";
showHandControllers();
break;
case 2:
handControllerImageURL = "img/tablet-help-windowsMR.jpg";
showHandControllers();
break;
case 3:
showGamepad(); showGamepad();
break; break;
case 4: case 1:
showKbm(); showKbm();
break; break;
case 2:
showHandControllers();
break;
default: default:
} }
} }
@ -144,34 +134,33 @@
} }
switch (params.handControllerName) { switch (params.handControllerName) {
case "oculus":
handControllerImageURL = "img/tablet-help-oculus.jpg";
index = 0;
break;
case "windowsMR": case "windowsMR":
handControllerImageURL = "img/tablet-help-windowsMR.jpg"; handControllerImageURL = "img/tablet-help-windowsMR.jpg";
index = 2;
break; break;
case "vive": case "vive":
default:
handControllerImageURL = "img/tablet-help-vive.jpg"; handControllerImageURL = "img/tablet-help-vive.jpg";
index = 1; break;
case "oculus":
handControllerImageURL = "img/tablet-help-oculus.jpg";
break;
default:
handControllerImageURL = "";
count = 2;
} }
switch (params.defaultTab) { switch (params.defaultTab) {
case "gamepad":
showGamepad();
index = 3;
break;
case "handControllers": case "handControllers":
showHandControllers(); showHandControllers();
index = 2;
break;
case "gamepad":
showGamepad();
index = 0;
break; break;
case "kbm": case "kbm":
default: default:
showKbm(); showKbm();
index = 4; index = 1;
} }
} }
</script> </script>

View file

@ -3431,26 +3431,37 @@ void Application::showHelp() {
static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus"; static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus";
static const QString HAND_CONTROLLER_NAME_WINDOWS_MR = "windowsMR"; 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_KEYBOARD_MOUSE = "kbm";
static const QString TAB_GAMEPAD = "gamepad"; static const QString TAB_GAMEPAD = "gamepad";
static const QString TAB_HAND_CONTROLLERS = "handControllers"; static const QString TAB_HAND_CONTROLLERS = "handControllers";
QString handControllerName = HAND_CONTROLLER_NAME_VIVE; QString handControllerName;
QString defaultTab = TAB_KEYBOARD_MOUSE; QString defaultTab = TAB_KEYBOARD_MOUSE;
if (PluginUtils::isViveControllerAvailable()) { if (PluginUtils::isHMDAvailable(WINDOWS_MR_PLUGIN_NAME)) {
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") {
defaultTab = TAB_HAND_CONTROLLERS; defaultTab = TAB_HAND_CONTROLLERS;
handControllerName = HAND_CONTROLLER_NAME_WINDOWS_MR; 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()) { } else if (PluginUtils::isXboxControllerAvailable()) {
defaultTab = TAB_GAMEPAD; 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; QUrlQuery queryString;
queryString.addQueryItem("handControllerName", handControllerName); queryString.addQueryItem("handControllerName", handControllerName);

View file

@ -65,6 +65,6 @@ bool PluginUtils::isOculusTouchControllerAvailable() {
}; };
bool PluginUtils::isXboxControllerAvailable() { bool PluginUtils::isXboxControllerAvailable() {
return isSubdeviceContainingNameAvailable("X360 Controller"); return isSubdeviceContainingNameAvailable("X360 Controller") || isSubdeviceContainingNameAvailable("XInput Controller");
}; };