diff options
author | Erik Reider <35975961+erikreider@users.noreply.github.com> | 2021-05-05 19:23:15 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-05-05 19:50:15 +0200 |
commit | d65e67face1f826ea7dec06a9d56b1a0c46c22b8 (patch) | |
tree | 8ecc1206d930b56521cc2ffc88da17394637d00a /sway | |
parent | d7ec66d563adcc069c3ba09c4cdeaf1281f1670c (diff) |
Added scroll_factor input variable to ipc output
Diffstat (limited to 'sway')
-rw-r--r-- | sway/ipc-json.c | 12 | ||||
-rw-r--r-- | sway/sway-ipc.7.scd | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c index 2c4c52a3..34adfc74 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -1,3 +1,4 @@ +#include <float.h> #include <json.h> #include <libevdev/libevdev.h> #include <stdio.h> @@ -1002,6 +1003,17 @@ json_object *ipc_json_describe_input(struct sway_input_device *device) { } } + if (device->wlr_device->type == WLR_INPUT_DEVICE_POINTER) { + struct input_config *ic = input_device_get_config(device); + float scroll_factor = 1.0f; + if (ic != NULL && !isnan(ic->scroll_factor) && + ic->scroll_factor != FLT_MIN) { + scroll_factor = ic->scroll_factor; + } + json_object_object_add(object, "scroll_factor", + json_object_new_double(scroll_factor)); + } + if (wlr_input_device_is_libinput(device->wlr_device)) { struct libinput_device *libinput_dev; libinput_dev = wlr_libinput_get_device_handle(device->wlr_device); diff --git a/sway/sway-ipc.7.scd b/sway/sway-ipc.7.scd index 1b855959..373e9dce 100644 --- a/sway/sway-ipc.7.scd +++ b/sway/sway-ipc.7.scd @@ -1131,6 +1131,9 @@ following properties: |- xkb_active_layout_index : integer : (Only keyboards) The index of the active keyboard layout in use +|- scroll_factor +: floating +: (Only pointers) Multiplier applied on scroll event values. |- libinput : object : (Only libinput devices) An object describing the current device settings. |