Remove almost-always redundant loop in key handling
@@ -229,13 +229,12 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) {
}
// identify which binding should be executed.
- struct sway_binding *binding =
- check_shortcut_model(&keyboard->state_keycodes,
+ struct sway_binding *binding = check_shortcut_model(
+ &keyboard->state_keycodes,
config->current_mode->keycode_bindings,
code_modifiers, input_inhibited);
- for (size_t i=0;i<translated_keysyms_len;i++) {
- struct sway_binding *translated_binding =
- check_shortcut_model(&keyboard->state_keysyms_translated,
+ struct sway_binding *translated_binding = check_shortcut_model(
+ &keyboard->state_keysyms_translated,
config->current_mode->keysym_bindings,
translated_modifiers, input_inhibited);
if (translated_binding && !binding) {
@@ -244,10 +243,8 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) {
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
binding->order, translated_binding->order);
}
- }
- for (size_t i=0;i<raw_keysyms_len;i++) {
- struct sway_binding *raw_binding =
- check_shortcut_model(&keyboard->state_keysyms_raw,
+ struct sway_binding *raw_binding = check_shortcut_model(
+ &keyboard->state_keysyms_raw,
config->current_mode->keysym_bindings,
raw_modifiers, input_inhibited);
if (raw_binding && !binding) {
@@ -256,7 +253,6 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) {
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
binding->order, raw_binding->order);
}
- }
bool handled = false;
