overte-lubosz/scripts/system/controllers/advancedMovement.js
James B. Pollack cfbc589829 debug prints
2016-08-18 08:43:26 -07:00

67 lines
No EOL
1.9 KiB
JavaScript

var mappingName, advancedMapping;
function addAdvancedMovementItemToSettingsMenu() {
Menu.addMenuItem({
menuName: "Settings",
menuItemName: "Advanced Movement",
isCheckable: true,
isChecked: false
});
}
function addTranslationToLeftStick() {
Controller.enableMapping(mappingName);
}
function registerMappings() {
mappingName = 'Hifi-AdvancedMovement-Dev-' + Math.random();
advancedMapping = Controller.newMapping(mappingName);
advancedMapping.from(Controller.Hardware.Vive.LY).when(Controller.getValue(Controller.Hardware.Vive.LSY)).invert().to(
function(val) {
testPrint('LY:' + val);
});
advancedMapping.from(Controller.Hardware.Vive.LX).when(Controller.getValue(Controller.Hardware.Vive.LSX)).to(
function(val) {
testPrint('LX' + val)
});
advancedMapping.from(Controller.Hardware.Vive.RY).when(Controller.getValue(Controller.Hardware.Vive.RSY)).invert().to(
function(val) {
testPrint('RY' + val)
});
}
function testPrint(what) {
print(what)
}
function removeTranslationFromLeftStick() {
Controller.disableMapping(mappingName);
}
function scriptEnding() {
Menu.removeMenuItem("Settings", "Advanced Movement");
removeTranslationFromLeftStick();
}
function menuItemEvent(menuItem) {
if (menuItem == "Advanced Movement") {
print(" checked=" + Menu.isOptionChecked("Advanced Movement"));
var isChecked = Menu.isOptionChecked("Advanced Movement");
if (isChecked === true) {
addTranslationToLeftStick();
} else if (isChecked === false) {
removeTranslationFromLeftStick();
}
}
}
addAdvancedMovementItemToSettingsMenu();
// register our scriptEnding callback
Script.scriptEnding.connect(scriptEnding);
Menu.menuItemEvent.connect(menuItemEvent);
registerMappings();