diff --git a/sway/ipc-json.c b/sway/ipc-json.c index 34adfc74b..7291b50bc 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -1006,12 +1006,21 @@ 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; + float sensitivity = 1.0f; + if (ic != NULL) { + if (!isnan(ic->scroll_factor) && ic->scroll_factor != FLT_MIN) { + scroll_factor = ic->scroll_factor; + } + + if (!isnan(ic->sensitivity) && ic->sensitivity != FLT_MIN) { + sensitivity = ic->sensitivity; + } } + json_object_object_add(object, "scroll_factor", json_object_new_double(scroll_factor)); + json_object_object_add(object, "sensitivity", + json_object_new_double(sensitivity)); } if (wlr_input_device_is_libinput(device->wlr_device)) { diff --git a/sway/sway-ipc.7.scd b/sway/sway-ipc.7.scd index 373e9dce1..65bda457e 100644 --- a/sway/sway-ipc.7.scd +++ b/sway/sway-ipc.7.scd @@ -1134,6 +1134,9 @@ following properties: |- scroll_factor : floating : (Only pointers) Multiplier applied on scroll event values. +|- sensitivity +: floating +: (Only pointers) Multiplier applied on relative pointer movements. |- libinput : object : (Only libinput devices) An object describing the current device settings.