diff --git a/examples/example/scripts/controllerScriptingExamples.js b/examples/example/scripts/controllerScriptingExamples.js index d803fbd20f..88c4ae2daa 100644 --- a/examples/example/scripts/controllerScriptingExamples.js +++ b/examples/example/scripts/controllerScriptingExamples.js @@ -17,6 +17,10 @@ Object.keys(Controller.Hardware).forEach(function (deviceName) { }); }); +Object.keys(Controller.Actions).forEach(function (actionName) { + print(actionName + ":" + Controller.Actions[actionName]); +}); + // Resets every device to its default key bindings: Controller.resetAllDeviceBindings(); diff --git a/interface/src/scripting/ControllerScriptingInterface.cpp b/interface/src/scripting/ControllerScriptingInterface.cpp index 0127f8b88f..4db482b6d4 100644 --- a/interface/src/scripting/ControllerScriptingInterface.cpp +++ b/interface/src/scripting/ControllerScriptingInterface.cpp @@ -390,8 +390,9 @@ QString ControllerScriptingInterface::sanatizeName(const QString& name) { } void ControllerScriptingInterface::wireUpControllers(ScriptEngine* engine) { - auto devices = DependencyManager::get()->getDevices(); + // Controller.Hardware.* + auto devices = DependencyManager::get()->getDevices(); for(const auto& deviceMapping : devices) { auto device = deviceMapping.second.get(); auto deviceName = sanatizeName(device->getName()); @@ -403,6 +404,15 @@ void ControllerScriptingInterface::wireUpControllers(ScriptEngine* engine) { engine->registerValue(deviceInputName, input.getID()); } } + + // Controller.Actions.* + auto actionNames = DependencyManager::get()->getActionNames(); + int actionNumber = 0; + for (const auto& actionName : actionNames) { + QString safeActionName { "Controller.Actions." + sanatizeName(actionName) }; + engine->registerValue(safeActionName, actionNumber); + actionNumber++; + } } AbstractInputController* ControllerScriptingInterface::createInputController(const QString& deviceName, const QString& tracker) { diff --git a/libraries/input-plugins/src/input-plugins/UserInputMapper.cpp b/libraries/input-plugins/src/input-plugins/UserInputMapper.cpp index 1b9b87684c..5c51db9410 100755 --- a/libraries/input-plugins/src/input-plugins/UserInputMapper.cpp +++ b/libraries/input-plugins/src/input-plugins/UserInputMapper.cpp @@ -319,4 +319,6 @@ void UserInputMapper::createActionNames() { _actionNames[SHIFT] = "SHIFT"; _actionNames[ACTION1] = "ACTION1"; _actionNames[ACTION2] = "ACTION2"; + _actionNames[CONTEXT_MENU] = "CONTEXT_MENU"; + _actionNames[TOGGLE_MUTE] = "TOGGLE_MUTE"; }