diff --git a/src/core/wee-config.c b/src/core/wee-config.c index 7bfd364f5..d1ca0addf 100644 --- a/src/core/wee-config.c +++ b/src/core/wee-config.c @@ -1519,7 +1519,7 @@ config_weechat_update_cb (const void *pointer, void *data, int version_read, struct t_hashtable *data_read) { - const char *ptr_section, *ptr_option; + const char *ptr_section, *ptr_option, *ptr_value; char *new_option; int changes; @@ -1543,6 +1543,7 @@ config_weechat_update_cb (const void *pointer, void *data, */ ptr_section = hashtable_get (data_read, "section"); ptr_option = hashtable_get (data_read, "option"); + ptr_value = hashtable_get (data_read, "value"); if (ptr_section && ptr_option && ((strcmp (ptr_section, "key") == 0) @@ -1550,8 +1551,21 @@ config_weechat_update_cb (const void *pointer, void *data, || (strcmp (ptr_section, "key_cursor") == 0) || (strcmp (ptr_section, "key_mouse") == 0))) { + /* + * remove some obsolete keys: + * - "meta2-200~": start paste + * - "meta2-201~": end paste + * - "meta2-G": page down (only if bound to "/window page_down") + * - "meta2-I": page up (only if bound to "/window page_up") + */ if ((strcmp (ptr_option, "meta2-200~") == 0) - || (strcmp (ptr_option, "meta2-201~") == 0)) + || (strcmp (ptr_option, "meta2-201~") == 0) + || ((strcmp (ptr_option, "meta2-G") == 0) + && ptr_value + && (strcmp (ptr_value, "/window page_down") == 0)) + || ((strcmp (ptr_option, "meta2-I") == 0) + && ptr_value + && (strcmp (ptr_value, "/window page_up") == 0))) { gui_chat_printf (NULL, _("Legacy key removed: \"%s\""), diff --git a/src/gui/gui-key.c b/src/gui/gui-key.c index 2fa221285..7f7efc143 100644 --- a/src/gui/gui-key.c +++ b/src/gui/gui-key.c @@ -661,12 +661,8 @@ gui_key_expand (const char *key, char **key_name, char **key_name_alias) } else if (key[0] == 'F') snprintf (str_alias, sizeof (str_alias), "end"); - else if (key[0] == 'G') - snprintf (str_alias, sizeof (str_alias), "pgdn"); else if (key[0] == 'H') snprintf (str_alias, sizeof (str_alias), "home"); - else if (key[0] == 'I') - snprintf (str_alias, sizeof (str_alias), "pgup"); else if (key[0] == 'P') snprintf (str_alias, sizeof (str_alias), "f1"); else if (key[0] == 'Q') diff --git a/tests/unit/gui/test-gui-key.cpp b/tests/unit/gui/test-gui-key.cpp index ab307a7b4..2a63fe37f 100644 --- a/tests/unit/gui/test-gui-key.cpp +++ b/tests/unit/gui/test-gui-key.cpp @@ -437,39 +437,23 @@ TEST(GuiKey, Expand) /* pgup */ WEE_CHECK_EXP_KEY(1, "meta-[5~", "pgup", "\001[[5~"); - WEE_CHECK_EXP_KEY(1, "meta-[I", "pgup", "\001[[I"); WEE_CHECK_EXP_KEY(1, "meta-[5;2~", "shift-pgup", "\001[[5;2~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;2I", "shift-pgup", "\001[[1;2I"); WEE_CHECK_EXP_KEY(1, "meta-[5;3~", "meta-pgup", "\001[[5;3~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;3I", "meta-pgup", "\001[[1;3I"); WEE_CHECK_EXP_KEY(1, "meta-[5;4~", "meta-shift-pgup", "\001[[5;4~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;4I", "meta-shift-pgup", "\001[[1;4I"); WEE_CHECK_EXP_KEY(1, "meta-[5;5~", "ctrl-pgup", "\001[[5;5~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;5I", "ctrl-pgup", "\001[[1;5I"); WEE_CHECK_EXP_KEY(1, "meta-[5;6~", "ctrl-shift-pgup", "\001[[5;6~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;6I", "ctrl-shift-pgup", "\001[[1;6I"); WEE_CHECK_EXP_KEY(1, "meta-[5;7~", "meta-ctrl-pgup", "\001[[5;7~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;7I", "meta-ctrl-pgup", "\001[[1;7I"); WEE_CHECK_EXP_KEY(1, "meta-[5;8~", "meta-ctrl-shift-pgup", "\001[[5;8~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;8I", "meta-ctrl-shift-pgup", "\001[[1;8I"); /* pgdn */ WEE_CHECK_EXP_KEY(1, "meta-[6~", "pgdn", "\001[[6~"); - WEE_CHECK_EXP_KEY(1, "meta-[G", "pgdn", "\001[[G"); WEE_CHECK_EXP_KEY(1, "meta-[6;2~", "shift-pgdn", "\001[[6;2~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;2G", "shift-pgdn", "\001[[1;2G"); WEE_CHECK_EXP_KEY(1, "meta-[6;3~", "meta-pgdn", "\001[[6;3~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;3G", "meta-pgdn", "\001[[1;3G"); WEE_CHECK_EXP_KEY(1, "meta-[6;4~", "meta-shift-pgdn", "\001[[6;4~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;4G", "meta-shift-pgdn", "\001[[1;4G"); WEE_CHECK_EXP_KEY(1, "meta-[6;5~", "ctrl-pgdn", "\001[[6;5~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;5G", "ctrl-pgdn", "\001[[1;5G"); WEE_CHECK_EXP_KEY(1, "meta-[6;6~", "ctrl-shift-pgdn", "\001[[6;6~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;6G", "ctrl-shift-pgdn", "\001[[1;6G"); WEE_CHECK_EXP_KEY(1, "meta-[6;7~", "meta-ctrl-pgdn", "\001[[6;7~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;7G", "meta-ctrl-pgdn", "\001[[1;7G"); WEE_CHECK_EXP_KEY(1, "meta-[6;8~", "meta-ctrl-shift-pgdn", "\001[[6;8~"); - WEE_CHECK_EXP_KEY(1, "meta-[1;8G", "meta-ctrl-shift-pgdn", "\001[[1;8G"); /* f0 */ WEE_CHECK_EXP_KEY(1, "meta-[10~", "f0", "\001[[10~"); /* urxvt */