diff options
Diffstat (limited to 'sway/commands/input.c')
-rw-r--r-- | sway/commands/input.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/sway/commands/input.c b/sway/commands/input.c index 903d574f..2de07de6 100644 --- a/sway/commands/input.c +++ b/sway/commands/input.c @@ -43,24 +43,17 @@ static struct cmd_handler input_config_handlers[] = { * Re-translate keysyms if a change in the input config could affect them. */ static void retranslate_keysyms(struct input_config *input_config) { - bool matched = false; for (int i = 0; i < config->input_configs->length; ++i) { struct input_config *ic = config->input_configs->items[i]; - matched |= ic->identifier == input_config->identifier; - - // the first configured xkb_layout if (ic->xkb_layout) { - if (matched) { + // this is the first config with xkb_layout + if (ic->identifier == input_config->identifier) { translate_keysyms(ic->xkb_layout); } - // nothing has changed return; } } - - // no xkb_layout has been set, restore the default - translate_keysyms(getenv("XKB_DEFAULT_LAYOUT")); } struct cmd_results *cmd_input(int argc, char **argv) { |