Filter out Keypad as a mod in sdl_key_names (#1678)

pull/1684/head
Chris 4 years ago committed by GitHub
parent 617554bea7
commit 85ad091c22
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -333,14 +333,22 @@ std::optional<u32> ParseKeyString(const std::string_view key_str)
break;
const std::string_view mod_part = key_str.substr(pos, plus_pos - pos);
// Keypad in SDL is not a mod and should always be the last + in the string
bool known_mod = false;
for (const SDLKeyModifierEntry& mod : s_sdl_key_modifiers)
{
if (mod_part == mod.name)
{
modifiers |= static_cast<int>(mod.mod);
known_mod = true;
break;
}
}
if (!known_mod)
break;
pos = plus_pos + 1;
}
@ -350,4 +358,4 @@ std::optional<u32> ParseKeyString(const std::string_view key_str)
return static_cast<u32>(key_code.value()) | (modifiers << 16);
}
} // namespace SDLKeyNames
} // namespace SDLKeyNames

Loading…
Cancel
Save