Changeset 3306 for code/branches/core4/src/core/input/JoyStick.cc
- Timestamp:
- Jul 19, 2009, 1:13:43 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core4/src/core/input/JoyStick.cc
r3286 r3306 43 43 void loadCalibration(std::vector<int>& list, const std::string& sectionName, const std::string& valueName, size_t size, int defaultValue); 44 44 45 std::vector<std::string> JoyStick:: idStrings_s;45 std::vector<std::string> JoyStick::deviceNames_s; 46 46 47 47 JoyStick::JoyStick(unsigned int id, OIS::InputManager* oisInputManager) … … 53 53 this->clearBuffersImpl(); 54 54 55 idString_ = "JoyStick_"; 56 std::string name = oisDevice_->vendor(); 57 replaceCharacters(name, ' ', '_'); 58 idString_ += name + "_"; 59 idString_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Button)) + "_"; 60 idString_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Axis)) + "_"; 61 idString_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Slider)) + "_"; 62 idString_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_POV)); 63 //idString_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Vector3)); 64 65 66 BOOST_FOREACH(std::string& idString, idStrings_s) 67 { 68 if (idString_ == idString) 55 // Generate unique name 56 if (oisDevice_->vendor().empty()) 57 deviceName_ = "Unknown_"; 58 else 59 { 60 std::string name = oisDevice_->vendor(); 61 replaceCharacters(name, ' ', '_'); 62 deviceName_ = name + "_"; 63 } 64 deviceName_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Button)) + "_"; 65 deviceName_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Axis)) + "_"; 66 deviceName_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Slider)) + "_"; 67 deviceName_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_POV)); 68 //deviceName_ += multi_cast<std::string>(oisDevice_->getNumberOfComponents(OIS::OIS_Vector3)); 69 70 BOOST_FOREACH(std::string& idString, deviceNames_s) 71 { 72 if (deviceName_ == idString) 69 73 { 70 74 // Make the ID unique for this execution time. 71 idString_ += "_" + multi_cast<std::string>(this->getDeviceID());75 deviceName_ += "_" + multi_cast<std::string>(this->getDeviceName()); 72 76 break; 73 77 } 74 78 } 75 79 76 COUT(4) << "Created OIS joy stick with ID " << idString_ << std::endl;80 COUT(4) << "Created OIS joy stick with ID " << deviceName_ << std::endl; 77 81 78 82 // Load calibration 79 83 size_t axes = sliderAxes_s + static_cast<size_t>(oisDevice_->getNumberOfComponents(OIS::OIS_Axis)); 80 loadCalibration(configMinValues_, idString_, "MinValue", axes, -32768);81 loadCalibration(configMaxValues_, idString_, "MaxValue", axes, 32768);82 loadCalibration(configZeroValues_, idString_, "ZeroValue", axes, 0);84 loadCalibration(configMinValues_, deviceName_, "MinValue", axes, -32768); 85 loadCalibration(configMaxValues_, deviceName_, "MaxValue", axes, 32768); 86 loadCalibration(configZeroValues_, deviceName_, "ZeroValue", axes, 0); 83 87 this->evaluateCalibration(); 84 88 } … … 148 152 configMinValues_[i] = -32768; 149 153 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 150 idString_, "MinValue", i, multi_cast<std::string>(configMinValues_[i]), false);154 deviceName_, "MinValue", i, multi_cast<std::string>(configMinValues_[i]), false); 151 155 152 156 // Maximum values … … 154 158 configMaxValues_[i] = 32767; 155 159 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 156 idString_, "MaxValue", i, multi_cast<std::string>(configMaxValues_[i]), false);160 deviceName_, "MaxValue", i, multi_cast<std::string>(configMaxValues_[i]), false); 157 161 158 162 // Middle values 159 163 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 160 idString_, "ZeroValue", i, multi_cast<std::string>(configZeroValues_[i]), false);164 deviceName_, "ZeroValue", i, multi_cast<std::string>(configZeroValues_[i]), false); 161 165 } 162 166
Note: See TracChangeset
for help on using the changeset viewer.