[PATCH libinput] Allow for a 0 button on button scrolling

Peter Hutterer peter.hutterer at who-t.net
Tue Nov 18 22:34:38 PST 2014


This effectively disables the button scrolling, but since 0 is the default
button for most devices, we should allow setting the default button.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/libinput.c | 2 +-
 src/libinput.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libinput.c b/src/libinput.c
index 202c239..3f5370f 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 1536b97..3b39c96 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
  *
-- 
2.1.0



More information about the wayland-devel mailing list