History

more work on exposing device inputs as JavaScript named constants

Brad Hefta-Gaub committed 11 years ago

Commit d3ee9b01 parent 37f530f5 files · +67 −11Browse files

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

Unified · Split

interface/src/scripting/ControllerScriptingInterface.cpp+12−4
@@ -383,21 +383,29 @@ glm::vec2 ControllerScriptingInterface::getViewportDimensions() const { · 382 unmodified lines
383383 return qApp->getUiSize();
384384 }
385385
386+QString ControllerScriptingInterface::sanatizeName(const QString& name) {
387+ QString cleanName { name };
388+ cleanName.replace(QString(" "), QString("")).replace(QString("."), QString("")).replace(QString("("), QString("")).replace(QString(")"), QString(""));
389+ return cleanName;
390+}
391+
386392 void ControllerScriptingInterface::wireUpControllers(ScriptEngine* engine) {
387393
388394 qDebug() << "------------------- wire up controllers --------------------------";
389− ///_registeredDevices
390395
391396 auto devices = DependencyManager::get<UserInputMapper>()->getDevices();
392397
393398 for(const auto& deviceMapping : devices) {
394399 auto device = deviceMapping.second.get();
395− qDebug() << device->getName();
400+ auto deviceName = sanatizeName(device->getName());
396401 auto deviceInputs = device->getAvailabeInputs();
397402 for (const auto& inputMapping : deviceInputs) {
398403 auto input = inputMapping.first;
399− auto inputName = inputMapping.second;
400− qDebug() << device->getName() << "." << inputName << "["<< input.getID() <<"]";
404+ auto inputName = sanatizeName(inputMapping.second);
405+ inputName.replace(QString(" "), QString(""));
406+ QString deviceInputName { "Controller.Hardware." + deviceName + "." + inputName };
407+ engine->registerValue(deviceInputName, input.getID());
408+ qDebug() << deviceInputName << "[" << input.getID() << "]";
401409 }
402410 }
403411 qDebug() << "------------------- DONE wire up controllers --------------------------";