| 283 | } |
| 284 | |
| 285 | std::string WinapiHandler::GetModifiers(DWORD value) { |
| 286 | std::stringstream poss; |
| 287 | std::stringstream modss; |
| 288 | //if ((value & MOD_LEFT) != 0 ) { |
| 289 | //poss << "LEFT"; |
| 290 | //} |
| 291 | //if ((value & MOD_RIGHT) != 0) { |
| 292 | //if (!poss.str().empty()) poss << "/"; |
| 293 | //poss << "RIGHT"; |
| 294 | //} |
| 295 | |
| 296 | if ((value & MOD_ALT) != 0) { |
| 297 | if (!modss.str().empty()) modss << "+"; |
| 298 | modss << "ALT"; |
| 299 | } |
| 300 | if ((value & MOD_CONTROL) != 0) { |
| 301 | if(!modss.str().empty()) modss << "+"; |
| 302 | modss << "CTRL"; |
| 303 | } |
| 304 | if ((value & MOD_SHIFT) != 0) { |
| 305 | if (!modss.str().empty()) modss << "+"; |
| 306 | modss << "SHIFT"; |
| 307 | } |
| 308 | |
| 309 | if ((value & MOD_ON_KEYUP) != 0) { |
| 310 | modss << "(ON_KEY_UP)"; |
| 311 | } |
| 312 | |
| 313 | if ((value & MOD_IGNORE_ALL_MODIFIER) != 0) { |
| 314 | modss << "(MOD_IGNORE_ALL_MODIFIER)"; |
| 315 | } |
| 316 | |
| 317 | std::string pos = poss.str(); |
| 318 | std::string mods = modss.str(); |
| 319 | return pos+mods; |
| 320 | } |
| 321 | |
| 322 | std::string WinapiHandler::GetSwitchingKeysForEngine(std::string engine) { |
| 323 | std::string keys = ""; |