diff --git a/input.c b/input.c index 22566411..c3ddbf13 100644 --- a/input.c +++ b/input.c @@ -1584,18 +1584,6 @@ key_press_release(struct seat *seat, struct terminal *term, uint32_t serial, * User configurable bindings */ if (pressed) { - /* Match translated symbol */ - tll_foreach(bindings->key, it) { - const struct key_binding *bind = &it->item; - - if (bind->k.sym == sym && - bind->mods == (mods & ~consumed) && - execute_binding(seat, term, bind, serial, 1)) - { - goto maybe_repeat; - } - } - /* Match untranslated symbols */ tll_foreach(bindings->key, it) { const struct key_binding *bind = &it->item; @@ -1612,6 +1600,18 @@ key_press_release(struct seat *seat, struct terminal *term, uint32_t serial, } } + /* Match translated symbol */ + tll_foreach(bindings->key, it) { + const struct key_binding *bind = &it->item; + + if (bind->k.sym == sym && + bind->mods == (mods & ~consumed) && + execute_binding(seat, term, bind, serial, 1)) + { + goto maybe_repeat; + } + } + /* Match raw key code */ tll_foreach(bindings->key, it) { const struct key_binding *bind = &it->item; diff --git a/search.c b/search.c index 75f12b4a..20990c87 100644 --- a/search.c +++ b/search.c @@ -1392,23 +1392,6 @@ search_input(struct seat *seat, struct terminal *term, * Key bindings */ - /* Match translated symbol */ - tll_foreach(bindings->search, it) { - const struct key_binding *bind = &it->item; - - if (bind->k.sym == sym && - bind->mods == (mods & ~consumed)) { - - if (execute_binding(seat, term, bind, serial, - &update_search_result, &search_direction, - &redraw)) - { - goto update_search; - } - return; - } - } - /* Match untranslated symbols */ tll_foreach(bindings->search, it) { const struct key_binding *bind = &it->item; @@ -1429,6 +1412,23 @@ search_input(struct seat *seat, struct terminal *term, } } + /* Match translated symbol */ + tll_foreach(bindings->search, it) { + const struct key_binding *bind = &it->item; + + if (bind->k.sym == sym && + bind->mods == (mods & ~consumed)) { + + if (execute_binding(seat, term, bind, serial, + &update_search_result, &search_direction, + &redraw)) + { + goto update_search; + } + return; + } + } + /* Match raw key code */ tll_foreach(bindings->search, it) { const struct key_binding *bind = &it->item; diff --git a/url-mode.c b/url-mode.c index 83dbfa70..986860af 100644 --- a/url-mode.c +++ b/url-mode.c @@ -182,19 +182,6 @@ urls_input(struct seat *seat, struct terminal *term, * Key bindings */ - /* Match translated symbol */ - tll_foreach(bindings->url, it) { - const struct key_binding *bind = &it->item; - - if (bind->k.sym == sym && - bind->mods == (mods & ~consumed)) - { - execute_binding(seat, term, bind, serial); - return; - } - - } - /* Match untranslated symbols */ tll_foreach(bindings->url, it) { const struct key_binding *bind = &it->item; @@ -209,6 +196,19 @@ urls_input(struct seat *seat, struct terminal *term, } } + /* Match translated symbol */ + tll_foreach(bindings->url, it) { + const struct key_binding *bind = &it->item; + + if (bind->k.sym == sym && + bind->mods == (mods & ~consumed)) + { + execute_binding(seat, term, bind, serial); + return; + } + + } + /* Match raw key code */ tll_foreach(bindings->url, it) { const struct key_binding *bind = &it->item;