[PATCH] [weston] weston.ini: Add natural scroll support to weston.ini

Jiayi Zhao jeff.no.zhao at gmail.com
Fri Oct 21 00:43:18 UTC 2016


This adds support for enabling/disabling natural scrolling
via a boolean in weston.ini:

[libinput]
natural_scroll=true

Signed-off-by: Jiayi Zhao <jeff.no.zhao at gmail.com>
---
 compositor/main.c | 13 +++++++++++++
 weston.ini.in     |  1 +
 2 files changed, 14 insertions(+)

diff --git a/compositor/main.c b/compositor/main.c
index 8028ec3..6cd2a25 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -1095,6 +1095,8 @@ configure_input_device(struct weston_compositor *compositor,
 	struct weston_config *config = wet_get_config(compositor);
 	int enable_tap;
 	int enable_tap_default;
+	int natural_scroll;
+	int natural_scroll_default;
 
 	s = weston_config_get_section(config,
 				      "libinput", NULL, NULL);
@@ -1109,6 +1111,17 @@ configure_input_device(struct weston_compositor *compositor,
 		libinput_device_config_tap_set_enabled(device,
 						       enable_tap);
 	}
+
+	if (libinput_device_config_scroll_has_natural_scroll(device) != 0) {
+		natural_scroll_default =
+			libinput_device_config_scroll_get_default_natural_scroll_enabled(
+				device);
+		weston_config_section_get_bool(s, "natural_scroll",
+					       &natural_scroll,
+					       natural_scroll_default);
+		libinput_device_config_scroll_set_natural_scroll_enabled(device,
+						       natural_scroll);
+	}
 }
 
 static void
diff --git a/weston.ini.in b/weston.ini.in
index 14a4c0c..08f931a 100644
--- a/weston.ini.in
+++ b/weston.ini.in
@@ -59,6 +59,7 @@ path=@libexecdir@/weston-keyboard
 
 #[libinput]
 #enable_tap=true
+#natural_scroll=false
 
 #[touchpad]
 #constant_accel_factor = 50
-- 
2.7.3



More information about the wayland-devel mailing list