diff --git a/scripts/system/away.js b/scripts/system/away.js index 2b2ea8a42b..399b3dc96c 100644 --- a/scripts/system/away.js +++ b/scripts/system/away.js @@ -176,9 +176,11 @@ function goAway() { // tell the Reticle, we want to stop capturing the mouse until we come back Reticle.allowMouseCapture = false; - if (HMD.active) { - Reticle.visible = false; - } + // Allow users to find their way to other applications, our menus, etc. + // For desktop, that means we want the reticle visible. + // For HMD, the hmd preview will show the system mouse because of allowMouseCapture, + // but we want to turn off our Reticle so that we don't get two in preview and a stuck one in headset. + Reticle.visible = !HMD.active; wasHmdMounted = safeGetHMDMounted(); // always remember the correct state avatarPosition = MyAvatar.position; diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index e70f704ce7..7b45babf4d 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -410,8 +410,8 @@ function update() { if (!Menu.isOptionChecked("First Person")) { return turnOffVisualization(); // What to do? menus can be behind hand! } - if (!Window.hasFocus()) { - return turnOffVisualization(); // Don't mess with other apps + if (!Window.hasFocus() || !Reticle.allowMouseCapture) { + return turnOffVisualization(); // Don't mess with other apps or paused mouse activity } leftTrigger.update(); rightTrigger.update();