From c492d125e080a018d20b56b322a43a523ecb9e2e Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 28 Jun 2016 13:19:03 -0700 Subject: [PATCH 1/3] limit hand controller actions to recommended area --- scripts/system/controllers/handControllerPointer.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index a0f1f47b3c..8e2edbe467 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -125,8 +125,18 @@ function ignoreMouseActivity() { weMovedReticle = false; return true; } +var reticleMinX, reticleMaxX, reticleMinY, reticleMaxY; +function updateRecommendedArea() { + var rectangle = Controller.getRecommendedOverlayRect(); + reticleMinX = rectangle.x; + reticleMaxX = rectangle.x + rectangle.width; + reticleMinY = rectangle.y; + reticleMaxY = rectangle.y + rectangle.height; +} var setReticlePosition = function (point2d) { weMovedReticle = true; + point2d.x = Math.max(reticleMinX, Math.min(point2d.x, reticleMaxX)); + point2d.y = Math.max(reticleMinY, Math.min(point2d.y, reticleMaxY)); Reticle.setPosition(point2d); }; @@ -463,6 +473,7 @@ Script.scriptEnding.connect(function () { var SETTINGS_CHANGE_RECHECK_INTERVAL = 10 * 1000; // milliseconds function checkSettings() { updateFieldOfView(); + updateRecommendedArea(); } checkSettings(); var settingsChecker = Script.setInterval(checkSettings, SETTINGS_CHANGE_RECHECK_INTERVAL); From b551bc3c1ae20be28d312184e50fa2d0dd56461d Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Tue, 28 Jun 2016 18:01:09 -0700 Subject: [PATCH 2/3] Use the whole area, less a margin. --- scripts/system/controllers/handControllerPointer.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 8e2edbe467..00aca2af86 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -125,13 +125,12 @@ function ignoreMouseActivity() { weMovedReticle = false; return true; } -var reticleMinX, reticleMaxX, reticleMinY, reticleMaxY; +var MARGIN = 50; +var reticleMinX = MARGIN, reticleMaxX, reticleMinY = MARGIN, reticleMaxY; function updateRecommendedArea() { - var rectangle = Controller.getRecommendedOverlayRect(); - reticleMinX = rectangle.x; - reticleMaxX = rectangle.x + rectangle.width; - reticleMinY = rectangle.y; - reticleMaxY = rectangle.y + rectangle.height; + var dims = Controller.getViewportDimensions(); + reticleMaxX = dims.x - MARGIN; + reticleMaxY = dims.y - MARGIN; } var setReticlePosition = function (point2d) { weMovedReticle = true; From b649b30777a86733c98a596c3899a2c27506c850 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Wed, 29 Jun 2016 08:20:47 -0700 Subject: [PATCH 3/3] Reduce margin. --- scripts/system/controllers/handControllerPointer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/controllers/handControllerPointer.js b/scripts/system/controllers/handControllerPointer.js index 00aca2af86..36442e92d1 100644 --- a/scripts/system/controllers/handControllerPointer.js +++ b/scripts/system/controllers/handControllerPointer.js @@ -125,7 +125,7 @@ function ignoreMouseActivity() { weMovedReticle = false; return true; } -var MARGIN = 50; +var MARGIN = 25; var reticleMinX = MARGIN, reticleMaxX, reticleMinY = MARGIN, reticleMaxY; function updateRecommendedArea() { var dims = Controller.getViewportDimensions();