LibWeb: Add a helper to lookup a key code from its string name

This commit is contained in:
Timothy Flynn 2024-08-19 22:49:22 -04:00 committed by Andreas Kling
commit f14e7c7261
Notes: github-actions[bot] 2024-08-20 07:30:49 +00:00

View file

@ -9,6 +9,7 @@
#include <AK/EnumBits.h>
#include <AK/Platform.h>
#include <AK/StringView.h>
#include <AK/Types.h>
namespace Web::UIEvents {
@ -159,6 +160,17 @@ enum KeyCode : u8 {
};
size_t const key_code_count = Key_Menu + 1;
constexpr KeyCode key_code_from_string(StringView key_name)
{
#define __ENUMERATE_KEY_CODE(name, ui_name) \
if (key_name == ui_name##sv) \
return KeyCode::Key_##name;
ENUMERATE_KEY_CODES
#undef __ENUMERATE_KEY_CODE
VERIFY_NOT_REACHED();
}
enum KeyModifier {
Mod_None = 0x00,
Mod_Alt = (1 << 0),