diff options
author | Chris Michael <cp.michael@samsung.com> | 2016-12-14 08:59:56 -0500 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2016-12-14 09:18:14 -0500 |
commit | 0f81e32433d1dedf5daf128ece3423f2b2a56098 (patch) | |
tree | 13a273daa23c2c24a80207c00ccce0f331cbb15f /src | |
parent | 68e1c9e0a008497fe42d43c8908b84810bf06a78 (diff) | |
download | efl-0f81e32433d1dedf5daf128ece3423f2b2a56098.tar.gz |
elput: Add API functions to get/set the scroll method for a touchpad
device
This patch adds API functions which can be used to get or set the
scroll method used for a given device. Scroll method defines when to
generate scroll axis events
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/elput/Elput.h | 27 | ||||
-rw-r--r-- | src/lib/elput/elput_touch.c | 20 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index c69e0b4703..40bc2d920b 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -514,6 +514,33 @@ EAPI Eina_Bool elput_touch_dwt_enabled_set(Elput_Device *device, Eina_Bool enabl */ EAPI Eina_Bool elput_touch_dwt_enabled_get(Elput_Device *device); +/** + * Set the scroll method used for this device. The scroll method defines when + * to generate scroll axis events instead of pointer motion events. + * + * @param device + * @param method + * + * @return EINA_TRUE on success, EINA_FALSE otherwise + * + * @ingroup Elput_Touch_Group + * @since 1.19 + */ +EAPI Eina_Bool elput_touch_scroll_method_set(Elput_Device *device, int method); + +/** + * Get the current scroll method set on a device + * + * @param device + * + * @return The current scroll method + * + * @ingroup Elput_Touch_Group + * @since 1.19 + */ +EAPI int elput_touch_scroll_method_get(Elput_Device *device); + + # endif # undef EAPI diff --git a/src/lib/elput/elput_touch.c b/src/lib/elput/elput_touch.c index f26318d3c9..821d33df6f 100644 --- a/src/lib/elput/elput_touch.c +++ b/src/lib/elput/elput_touch.c @@ -98,3 +98,23 @@ elput_touch_dwt_enabled_get(Elput_Device *device) return libinput_device_config_dwt_get_enabled(device->device); } + +EAPI Eina_Bool +elput_touch_scroll_method_set(Elput_Device *device, int method) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE); + + if (libinput_device_config_scroll_set_method(device->device, method) == + LIBINPUT_CONFIG_STATUS_SUCCESS) + return EINA_TRUE; + + return EINA_FALSE; +} + +EAPI int +elput_touch_scroll_method_get(Elput_Device *device) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(device, -1); + + return libinput_device_config_scroll_get_method(device->device); +} |