From 7ad14a966087178cee752ac4bb63b14bd64ce5ec Mon Sep 17 00:00:00 2001
From: will <william.calliari@gmail.com>
Date: Sat, 17 Oct 2020 16:18:44 +0200
Subject: Added support for natural scrolling

---
 config.def.h | 1 +
 dwl.c        | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/config.def.h b/config.def.h
index c1ad7d6..2c11fd3 100644
--- a/config.def.h
+++ b/config.def.h
@@ -44,6 +44,7 @@ static const struct xkb_rule_names xkb_rules = {
 
 /* Trackpad */
 int tap_to_click = 1;
+int natural_scrolling = 1;
 
 static const int repeat_rate = 25;
 static const int repeat_delay = 600;
diff --git a/dwl.c b/dwl.c
index 69485ec..5895c65 100644
--- a/dwl.c
+++ b/dwl.c
@@ -607,8 +607,13 @@ createpointer(struct wlr_input_device *device)
 {
 	struct libinput_device *libinput_device =  (struct libinput_device*)
 			wlr_libinput_get_device_handle(device);
+
 	if (tap_to_click && libinput_device_config_tap_get_finger_count(libinput_device))
 		libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED);
+
+	if (libinput_device_config_scroll_has_natural_scroll(libinput_device))
+		libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling);
+
 	/* We don't do anything special with pointers. All of our pointer handling
 	 * is proxied through wlr_cursor. On another compositor, you might take this
 	 * opportunity to do libinput configuration on the device to set
-- 
cgit v1.2.3