aboutsummaryrefslogtreecommitdiff
path: root/sway/commands
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands')
-rw-r--r--sway/commands/input.c11
-rw-r--r--sway/commands/input/events.c2
2 files changed, 5 insertions, 8 deletions
diff --git a/sway/commands/input.c b/sway/commands/input.c
index 23a6644f..d95c4baf 100644
--- a/sway/commands/input.c
+++ b/sway/commands/input.c
@@ -88,9 +88,10 @@ struct cmd_results *cmd_input(int argc, char **argv) {
if (!res || res->status == CMD_SUCCESS) {
char *error = NULL;
- struct xkb_keymap *keymap = sway_keyboard_compile_keymap(
- config->handler_context.input_config, &error);
- if (!keymap) {
+ struct input_config *ic =
+ store_input_config(config->handler_context.input_config, &error);
+ if (!ic) {
+ free_input_config(config->handler_context.input_config);
if (res) {
free_cmd_results(res);
}
@@ -99,10 +100,6 @@ struct cmd_results *cmd_input(int argc, char **argv) {
free(error);
return res;
}
- xkb_keymap_unref(keymap);
-
- struct input_config *ic =
- store_input_config(config->handler_context.input_config);
input_manager_apply_input_config(ic);
retranslate_keysyms(ic);
diff --git a/sway/commands/input/events.c b/sway/commands/input/events.c
index 44bc9e74..cd2985ee 100644
--- a/sway/commands/input/events.c
+++ b/sway/commands/input/events.c
@@ -101,7 +101,7 @@ static void toggle_wildcard_send_events(int argc, char **argv) {
} else {
toggle_supported_send_events_for_device(ic, input_device);
}
- store_input_config(ic);
+ store_input_config(ic, NULL);
}
}