| 51 | } |
| 52 | |
| 53 | EFIKey EFIKey::fromString(const QString &repr, bool *success) |
| 54 | { |
| 55 | if(success) |
| 56 | *success = false; |
| 57 | |
| 58 | EFIKey value; |
| 59 | if(auto code = std::find_if(efi_scan_codes.begin(), efi_scan_codes.end(), [&](const auto &row) |
| 60 | { return std::get<QString>(row) == repr; }); |
| 61 | code != efi_scan_codes.end()) |
| 62 | { |
| 63 | value.scan_code = std::get<Qt::Key>(*code); |
| 64 | if(success) |
| 65 | *success = true; |
| 66 | |
| 67 | return value; |
| 68 | } |
| 69 | |
| 70 | value.scan_code = Qt::Key_unknown; |
| 71 | if(repr.length() != 1) |
| 72 | return {}; |
| 73 | |
| 74 | value.unicode_char = repr[0]; |
| 75 | if(success) |
| 76 | *success = true; |
| 77 | |
| 78 | return value; |
| 79 | } |
| 80 | |
| 81 | QString EFIKey::toString() const |
| 82 | { |