From f14e7c7261a41d1843610167cdf8e3cd671f403a Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Mon, 19 Aug 2024 22:49:22 -0400 Subject: [PATCH] LibWeb: Add a helper to lookup a key code from its string name --- Userland/Libraries/LibWeb/UIEvents/KeyCode.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Userland/Libraries/LibWeb/UIEvents/KeyCode.h b/Userland/Libraries/LibWeb/UIEvents/KeyCode.h index 7e73f7ac4dd..71f41025e04 100644 --- a/Userland/Libraries/LibWeb/UIEvents/KeyCode.h +++ b/Userland/Libraries/LibWeb/UIEvents/KeyCode.h @@ -9,6 +9,7 @@ #include #include +#include #include 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),