mirror of
https://github.com/swaywm/sway.git
synced 2024-11-13 14:04:11 +01:00
Remove almost-always redundant loop in key handling
This commit is contained in:
parent
705230a26c
commit
f2fe93d171
@ -229,33 +229,29 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// identify which binding should be executed.
|
// identify which binding should be executed.
|
||||||
struct sway_binding *binding =
|
struct sway_binding *binding = check_shortcut_model(
|
||||||
check_shortcut_model(&keyboard->state_keycodes,
|
&keyboard->state_keycodes,
|
||||||
config->current_mode->keycode_bindings,
|
config->current_mode->keycode_bindings,
|
||||||
code_modifiers, input_inhibited);
|
code_modifiers, input_inhibited);
|
||||||
for (size_t i=0;i<translated_keysyms_len;i++) {
|
struct sway_binding *translated_binding = check_shortcut_model(
|
||||||
struct sway_binding *translated_binding =
|
&keyboard->state_keysyms_translated,
|
||||||
check_shortcut_model(&keyboard->state_keysyms_translated,
|
config->current_mode->keysym_bindings,
|
||||||
config->current_mode->keysym_bindings,
|
translated_modifiers, input_inhibited);
|
||||||
translated_modifiers, input_inhibited);
|
if (translated_binding && !binding) {
|
||||||
if (translated_binding && !binding) {
|
binding = translated_binding;
|
||||||
binding = translated_binding;
|
} else if (binding && translated_binding && binding != translated_binding) {
|
||||||
} else if (binding && translated_binding && binding != translated_binding) {
|
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
|
||||||
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
|
binding->order, translated_binding->order);
|
||||||
binding->order, translated_binding->order);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for (size_t i=0;i<raw_keysyms_len;i++) {
|
struct sway_binding *raw_binding = check_shortcut_model(
|
||||||
struct sway_binding *raw_binding =
|
&keyboard->state_keysyms_raw,
|
||||||
check_shortcut_model(&keyboard->state_keysyms_raw,
|
config->current_mode->keysym_bindings,
|
||||||
config->current_mode->keysym_bindings,
|
raw_modifiers, input_inhibited);
|
||||||
raw_modifiers, input_inhibited);
|
if (raw_binding && !binding) {
|
||||||
if (raw_binding && !binding) {
|
binding = raw_binding;
|
||||||
binding = raw_binding;
|
} else if (binding && raw_binding && binding != raw_binding) {
|
||||||
} else if (binding && raw_binding && binding != raw_binding) {
|
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
|
||||||
wlr_log(L_DEBUG, "encountered duplicate bindings %d and %d",
|
binding->order, raw_binding->order);
|
||||||
binding->order, raw_binding->order);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool handled = false;
|
bool handled = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user