History

implement StandardController and expose it to JS as Controller.Standard.*

Brad Hefta-Gaub committed 11 years ago

Commit 0986f861 parent 83bf8c84 files · +48 −3Browse files

Showing the changes to interface/src/scripting/ControllerScriptingInterface.cpp (1 of 4 files). Show all

Unified · Split

interface/src/scripting/ControllerScriptingInterface.cpp+13−0
@@ -391,6 +391,19 @@ QString ControllerScriptingInterface::sanatizeName(const QString& name) { · 390 unmodified lines
391391
392392 void ControllerScriptingInterface::wireUpControllers(ScriptEngine* engine) {
393393
394+ // Controller.Standard.*
395+ auto standardDevice = DependencyManager::get<UserInputMapper>()->getStandardDevice();
396+ if (standardDevice) {
397+ auto deviceName = sanatizeName(standardDevice->getName());
398+ auto deviceInputs = standardDevice->getAvailabeInputs();
399+ for (const auto& inputMapping : deviceInputs) {
400+ auto input = inputMapping.first;
401+ auto inputName = sanatizeName(inputMapping.second);
402+ QString deviceInputName{ "Controller." + deviceName + "." + inputName };
403+ engine->registerValue(deviceInputName, input.getID());
404+ }
405+ }
406+
394407 // Controller.Hardware.*
395408 auto devices = DependencyManager::get<UserInputMapper>()->getDevices();
396409 for(const auto& deviceMapping : devices) {