diff --git a/src/gui/gui-key.c b/src/gui/gui-key.c index cdd9f4ee5..8cdd79999 100644 --- a/src/gui/gui-key.c +++ b/src/gui/gui-key.c @@ -888,6 +888,9 @@ gui_key_legacy_to_alias (const char *key) if (!key) return NULL; + if ((key[0] == '@') && strchr (key, ':')) + return strdup (key); + key_raw = gui_key_get_internal_code (key); if (!key_raw) return NULL; diff --git a/tests/unit/gui/test-gui-key.cpp b/tests/unit/gui/test-gui-key.cpp index 82f6663c4..07bbe606f 100644 --- a/tests/unit/gui/test-gui-key.cpp +++ b/tests/unit/gui/test-gui-key.cpp @@ -830,6 +830,8 @@ TEST(GuiKey, LegacyToAlias) WEE_TEST_STR(NULL, gui_key_legacy_to_alias (NULL)); WEE_TEST_STR("", gui_key_legacy_to_alias ("")); + WEE_TEST_STR("@chat:button1", gui_key_legacy_to_alias ("@chat:button1")); + WEE_TEST_STR("", gui_key_legacy_to_alias ("ctrl-")); WEE_TEST_STR("", gui_key_legacy_to_alias ("meta-")); WEE_TEST_STR("", gui_key_legacy_to_alias ("meta2-"));