diff options
Diffstat (limited to 'sway/commands/input/map_to_output.c')
-rw-r--r-- | sway/commands/input/map_to_output.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sway/commands/input/map_to_output.c b/sway/commands/input/map_to_output.c index 68439bec..8b16c557 100644 --- a/sway/commands/input/map_to_output.c +++ b/sway/commands/input/map_to_output.c | |||
@@ -11,17 +11,13 @@ struct cmd_results *input_cmd_map_to_output(int argc, char **argv) { | |||
11 | if ((error = checkarg(argc, "map_to_output", EXPECTED_EQUAL_TO, 1))) { | 11 | if ((error = checkarg(argc, "map_to_output", EXPECTED_EQUAL_TO, 1))) { |
12 | return error; | 12 | return error; |
13 | } | 13 | } |
14 | struct input_config *current_input_config = | 14 | struct input_config *ic = config->handler_context.input_config; |
15 | config->handler_context.input_config; | 15 | if (!ic) { |
16 | if (!current_input_config) { | ||
17 | return cmd_results_new(CMD_FAILURE, "map_to_output", | 16 | return cmd_results_new(CMD_FAILURE, "map_to_output", |
18 | "No input device defined."); | 17 | "No input device defined."); |
19 | } | 18 | } |
20 | struct input_config *new_config = | ||
21 | new_input_config(current_input_config->identifier); | ||
22 | 19 | ||
23 | new_config->mapped_to_output = strdup(argv[0]); | 20 | ic->mapped_to_output = strdup(argv[0]); |
24 | apply_input_config(new_config); | ||
25 | 21 | ||
26 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 22 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |
27 | } | 23 | } |