diff options
Diffstat (limited to 'sway/ipc-json.c')
-rw-r--r-- | sway/ipc-json.c | 12 |
1 files changed, 12 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); |