summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libinput.c2
-rw-r--r--src/libinput.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/libinput.c b/src/libinput.c
index 202c239a..3f5370fa 100644
--- a/src/libinput.c
+++ b/src/libinput.c
@@ -1591,7 +1591,7 @@ libinput_device_config_scroll_set_button(struct libinput_device *device,
LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN) == 0)
return LIBINPUT_CONFIG_STATUS_UNSUPPORTED;
- if (!libinput_device_has_button(device, button))
+ if (button && !libinput_device_has_button(device, button))
return LIBINPUT_CONFIG_STATUS_INVALID;
return device->config.scroll_mode->set_button(device, button);
diff --git a/src/libinput.h b/src/libinput.h
index 1536b97c..3b39c964 100644
--- a/src/libinput.h
+++ b/src/libinput.h
@@ -2169,6 +2169,8 @@ libinput_device_config_scroll_get_default_mode(struct libinput_device *device);
* @note Setting the button does not change the scroll mode. To change the
* scroll mode call libinput_device_config_scroll_set_mode().
*
+ * If the button is 0, button scrolling is effectively disabled.
+ *
* @param device The device to configure
* @param button The button which when pressed switches to sending scroll events
*