- Timestamp:
- Aug 24, 2009, 10:10:05 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/resource2/src/core/input/InputManager.cc
r5670 r5671 167 167 OIS::ParamList paramList; 168 168 size_t windowHnd = GraphicsManager::getInstance().getRenderWindowHandle(); 169 paramList.insert(std::make_pair( std::string("WINDOW"), multi_cast<std::string>(windowHnd)));169 paramList.insert(std::make_pair("WINDOW", multi_cast<std::string>(windowHnd))); 170 170 #if defined(ORXONOX_PLATFORM_WINDOWS) 171 // Load in non exclusive mode and change later 171 paramList.insert(std::make_pair("w32_keyboard", "DISCL_NONEXCLUSIVE")); 172 paramList.insert(std::make_pair("w32_keyboard", "DISCL_FOREGROUND")); 173 paramList.insert(std::make_pair("w32_mouse", "DISCL_FOREGROUND")); 172 174 if (bExclusiveMouse_ || GraphicsManager::getInstance().isFullScreen()) 173 paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_EXCLUSIVE"))); 175 { 176 // Disable Windows key plus special keys (like play, stop, next, etc.) 177 paramList.insert(std::make_pair("w32_keyboard", "DISCL_NOWINKEY")); 178 paramList.insert(std::make_pair("w32_mouse", "DISCL_EXCLUSIVE")); 179 } 174 180 else 175 paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE"))); 176 paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND"))); 181 paramList.insert(std::make_pair("w32_mouse", "DISCL_NONEXCLUSIVE")); 177 182 #elif defined(ORXONOX_PLATFORM_LINUX) 178 paramList.insert(std::make_pair(std::string("XAutoRepeatOn"), std::string("true"))); 179 paramList.insert(std::make_pair(std::string("x11_mouse_grab"), "true")); 180 paramList.insert(std::make_pair(std::string("x11_mouse_hide"), "true")); 181 bool kbNoGrab; 182 CommandLine::getValue("keyboard_no_grab", &kbNoGrab); 183 if (kbNoGrab) 184 paramList.insert(std::make_pair(std::string("x11_keyboard_grab"), std::string("false"))); 183 // Enabling this is probably a bad idea, but whenever orxonox crashes, the setting stays on 184 // Trouble might be that the Pressed event occurs a bit too often... 185 paramList.insert(std::make_pair("XAutoRepeatOn", "true")); 186 187 if (bExclusiveMouse_ || GraphicsManager::getInstance().isFullScreen()) 188 { 189 if (CommandLine::getValue("keyboard_no_grab").getBool()) 190 paramList.insert(std::make_pair("x11_keyboard_grab", "false")); 191 else 192 paramList.insert(std::make_pair("x11_keyboard_grab", "true")); 193 paramList.insert(std::make_pair("x11_mouse_grab", "true")); 194 paramList.insert(std::make_pair("x11_mouse_hide", "true")); 195 } 185 196 else 186 paramList.insert(std::make_pair(std::string("x11_keyboard_grab"), std::string("true"))); 197 { 198 paramList.insert(std::make_pair("x11_keyboard_grab", "false")); 199 paramList.insert(std::make_pair("x11_mouse_grab", "false")); 200 paramList.insert(std::make_pair("x11_mouse_hide", "false")); 201 } 187 202 #endif 188 203
Note: See TracChangeset
for help on using the changeset viewer.