aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorErik Reider <35975961+erikreider@users.noreply.github.com>2021-05-05 19:23:15 +0200
committerSimon Ser <contact@emersion.fr>2021-05-05 19:50:15 +0200
commitd65e67face1f826ea7dec06a9d56b1a0c46c22b8 (patch)
tree8ecc1206d930b56521cc2ffc88da17394637d00a /sway
parentd7ec66d563adcc069c3ba09c4cdeaf1281f1670c (diff)
Added scroll_factor input variable to ipc output
Diffstat (limited to 'sway')
-rw-r--r--sway/ipc-json.c12
-rw-r--r--sway/sway-ipc.7.scd3
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.