diff options
author | Cezary Drożak <cezary@drozak.net> | 2023-06-16 11:28:30 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-06-16 15:30:04 +0200 |
commit | c08762901e9840d8dca008dcc8d0b5602602fd0a (patch) | |
tree | aa275ee79e2e356ffcd6ebcaf54c417dd47494a5 /sway/commands/input | |
parent | 8b4b65d66552d782d2c38a17756baf928b90e670 (diff) |
input/libinput: add scroll_button_lock method
Closes https://github.com/swaywm/sway/issues/6987
Co-authored-by: JJGadgets <git@jjgadgets.tech>
Co-authored-by: DeltaWhy <mike5713@gmail.com>
Diffstat (limited to 'sway/commands/input')
-rw-r--r-- | sway/commands/input/scroll_button_lock.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sway/commands/input/scroll_button_lock.c b/sway/commands/input/scroll_button_lock.c new file mode 100644 index 00000000..f96b6514 --- /dev/null +++ b/sway/commands/input/scroll_button_lock.c @@ -0,0 +1,26 @@ +#include <libinput.h> +#include <string.h> +#include <strings.h> +#include "sway/config.h" +#include "sway/commands.h" +#include "sway/input/input-manager.h" +#include "util.h" + +struct cmd_results *input_cmd_scroll_button_lock(int argc, char **argv) { + struct cmd_results *error = NULL; + if ((error = checkarg(argc, "scroll_button_lock", EXPECTED_AT_LEAST, 1))) { + return error; + } + struct input_config *ic = config->handler_context.input_config; + if (!ic) { + return cmd_results_new(CMD_FAILURE, "No input device defined."); + } + + if (parse_boolean(argv[0], true)) { + ic->scroll_button_lock = LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_ENABLED; + } else { + ic->scroll_button_lock = LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_DISABLED; + } + + return cmd_results_new(CMD_SUCCESS, NULL); +} |