diff --git a/examples/example/avatarcontrol/controllerExample.js b/examples/example/avatarcontrol/controllerExample.js index 66a9e40c56..fe23ce0e8e 100644 --- a/examples/example/avatarcontrol/controllerExample.js +++ b/examples/example/avatarcontrol/controllerExample.js @@ -10,25 +10,19 @@ // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // - // initialize our triggers var triggerPulled = new Array(); -var numberOfTriggers = Controller.getNumberOfTriggers(); -for (t = 0; t < numberOfTriggers; t++) { +var NUMBER_OF_TRIGGERS = 2; +for (t = 0; t < NUMBER_OF_TRIGGERS; t++) { triggerPulled[t] = false; } - +var triggers = new Array(); +triggers[0] = Controller.Standard.LT; +triggers[1] = Controller.Standard.RT; function checkController(deltaTime) { - var numberOfTriggers = Controller.getNumberOfTriggers(); - var numberOfSpatialControls = Controller.getNumberOfSpatialControls(); - var controllersPerTrigger = numberOfSpatialControls / numberOfTriggers; var triggerToggled = false; - - // this is expected for hydras - if (numberOfTriggers == 2 && controllersPerTrigger == 2) { - for (var t = 0; t < numberOfTriggers; t++) { - var triggerValue = Controller.getTriggerValue(t); - + for (var t = 0; t < NUMBER_OF_TRIGGERS; t++) { + var triggerValue = Controller.getValue(triggers[t]]); if (triggerPulled[t]) { // must release to at least 0.1 if (triggerValue < 0.1) { @@ -41,17 +35,14 @@ function checkController(deltaTime) { triggerToggled = true; } } - if (triggerToggled) { print("a trigger was toggled"); } } - } + } - // register the call back so it fires before each data send Script.update.connect(checkController); - function printKeyEvent(eventName, event) { print(eventName); print(" event.key=" + event.key); @@ -64,7 +55,6 @@ function printKeyEvent(eventName, event) { } function keyPressEvent(event) { printKeyEvent("keyPressEvent", event); - if (event.text == "A") { print("the A key was pressed"); } @@ -72,10 +62,8 @@ function keyPressEvent(event) { print("the key was pressed"); } } - function keyReleaseEvent(event) { printKeyEvent("keyReleaseEvent", event); - if (event.text == "A") { print("the A key was released"); } @@ -83,11 +71,9 @@ function keyReleaseEvent(event) { print("the key was pressed"); } } - // Map keyPress and mouse move events to our callbacks Controller.keyPressEvent.connect(keyPressEvent); Controller.keyReleaseEvent.connect(keyReleaseEvent); - // prevent the A key from going through to the application Controller.captureKeyEvents({ text: "A" }); Controller.captureKeyEvents({ key: "A".charCodeAt(0) }); // same as above, just another example of how to capture the key @@ -95,8 +81,6 @@ Controller.captureKeyEvents({ text: " " }); Controller.captureKeyEvents({ text: "@", isMeta: true }); Controller.captureKeyEvents({ text: "page up" }); Controller.captureKeyEvents({ text: "page down" }); - - function printMouseEvent(eventName, event) { print(eventName); print(" event.x,y=" + event.x + ", " + event.y); @@ -109,22 +93,18 @@ function printMouseEvent(eventName, event) { print(" event.isMeta=" + event.isMeta); print(" event.isAlt=" + event.isAlt); } - function mouseMoveEvent(event) { printMouseEvent("mouseMoveEvent", event); } function mousePressEvent(event) { printMouseEvent("mousePressEvent", event); } - function mouseReleaseEvent(event) { printMouseEvent("mouseReleaseEvent", event); } - Controller.mouseMoveEvent.connect(mouseMoveEvent); Controller.mousePressEvent.connect(mousePressEvent); Controller.mouseReleaseEvent.connect(mouseReleaseEvent); - function printTouchEvent(eventName, event) { print(eventName); @@ -143,7 +123,6 @@ function printTouchEvent(eventName, event) { print(" event.radius=" + event.radius); print(" event.isPinching=" + event.isPinching); print(" event.isPinchOpening=" + event.isPinchOpening); - print(" event.angle=" + event.angle); for (var i = 0; i < event.points.length; i++) { print(" event.angles[" + i + "]:" + event.angles[i]); @@ -151,15 +130,12 @@ function printTouchEvent(eventName, event) { print(" event.isRotating=" + event.isRotating); print(" event.rotating=" + event.rotating); } - function touchBeginEvent(event) { printTouchEvent("touchBeginEvent", event); } - function touchUpdateEvent(event) { printTouchEvent("touchUpdateEvent", event); } - function touchEndEvent(event) { printTouchEvent("touchEndEvent", event); } @@ -167,8 +143,6 @@ function touchEndEvent(event) { Controller.touchBeginEvent.connect(touchBeginEvent); Controller.touchUpdateEvent.connect(touchUpdateEvent); Controller.touchEndEvent.connect(touchEndEvent); - - function wheelEvent(event) { print("wheelEvent"); print(" event.x,y=" + event.x + ", " + event.y); @@ -182,9 +156,7 @@ function wheelEvent(event) { print(" event.isMeta=" + event.isMeta); print(" event.isAlt=" + event.isAlt); } - Controller.wheelEvent.connect(wheelEvent); - function scriptEnding() { // re-enabled the standard application for touch events Controller.releaseKeyEvents({ text: "A" }); @@ -194,5 +166,4 @@ function scriptEnding() { Controller.releaseKeyEvents({ text: "page up" }); Controller.releaseKeyEvents({ text: "page down" }); } - -Script.scriptEnding.connect(scriptEnding); +Script.scriptEnding.connect(scriptEnding); \ No newline at end of file