| 259 | |
| 260 | |
| 261 | std::string KeyManager::keyEventToString( |
| 262 | const BzfKeyEvent& key) const { |
| 263 | std::string name; |
| 264 | if (key.modifiers & BzfKeyEvent::ShiftKey) { |
| 265 | name += "Shift+"; |
| 266 | } |
| 267 | if (key.modifiers & BzfKeyEvent::ControlKey) { |
| 268 | name += "Ctrl+"; |
| 269 | } |
| 270 | if (key.modifiers & BzfKeyEvent::AltKey) { |
| 271 | name += "Alt+"; |
| 272 | } |
| 273 | switch (key.unicode) { |
| 274 | case 0: |
| 275 | return name + buttonNames[key.button]; |
| 276 | case '\b': |
| 277 | return name + "Backspace"; |
| 278 | case '\t': |
| 279 | return name + "Tab"; |
| 280 | case '\r': |
| 281 | return name + "Enter"; |
| 282 | case ' ': |
| 283 | return name + "Space"; |
| 284 | default: |
| 285 | if (!iswspace(key.unicode)) { |
| 286 | bzUTF8Char chr(key.unicode); |
| 287 | return name + chr.str(); |
| 288 | } |
| 289 | return name + "???"; |
| 290 | } |
| 291 | } |
| 292 | |
| 293 | bool KeyManager::stringToKeyEvent( |
| 294 | const std::string& name, BzfKeyEvent& key) const { |
no test coverage detected