forked from enlightenment/efl
elput: Add API to set pointer acceleration speed
Small patch to add an API which can be called to set pointer acceleration speed under Wayland. ref T4736 @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
9ac1cb4fad
commit
d798eca247
|
@ -434,6 +434,18 @@ EAPI void elput_input_keyboard_group_set(Elput_Manager *manager, int group);
|
||||||
*/
|
*/
|
||||||
EAPI void elput_input_pointer_accel_profile_set(Elput_Manager *manager, const char *seat, uint32_t profile);
|
EAPI void elput_input_pointer_accel_profile_set(Elput_Manager *manager, const char *seat, uint32_t profile);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the pointer acceleration speed
|
||||||
|
*
|
||||||
|
* @param manager
|
||||||
|
* @param seat
|
||||||
|
* @param speed
|
||||||
|
*
|
||||||
|
* @ingroup Elput_Input_Group
|
||||||
|
* @since 1.21
|
||||||
|
*/
|
||||||
|
EAPI void elput_input_pointer_accel_speed_set(Elput_Manager *manager, const char *seat, double speed);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup Elput_Touch_Group Configuration of touch devices
|
* @defgroup Elput_Touch_Group Configuration of touch devices
|
||||||
*
|
*
|
||||||
|
|
|
@ -775,6 +775,41 @@ elput_input_pointer_accel_profile_set(Elput_Manager *manager, const char *seat,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elput_input_pointer_accel_speed_set(Elput_Manager *manager, const char *seat, double speed)
|
||||||
|
{
|
||||||
|
Elput_Seat *eseat;
|
||||||
|
Elput_Device *edev;
|
||||||
|
Eina_List *l, *ll;
|
||||||
|
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN(manager);
|
||||||
|
|
||||||
|
/* if no seat name is passed in, just use default seat name */
|
||||||
|
if (!seat) seat = "seat0";
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH(manager->input.seats, l, eseat)
|
||||||
|
{
|
||||||
|
if ((eseat->name) && (strcmp(eseat->name, seat)))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH(eseat->devices, ll, edev)
|
||||||
|
{
|
||||||
|
if (!libinput_device_has_capability(edev->device,
|
||||||
|
LIBINPUT_DEVICE_CAP_POINTER))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (libinput_device_config_accel_set_speed(edev->device,
|
||||||
|
speed) !=
|
||||||
|
LIBINPUT_CONFIG_STATUS_SUCCESS)
|
||||||
|
{
|
||||||
|
WRN("Failed to set acceleration speed for device: %s",
|
||||||
|
libinput_device_get_name(edev->device));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI Elput_Seat *
|
EAPI Elput_Seat *
|
||||||
elput_device_seat_get(const Elput_Device *dev)
|
elput_device_seat_get(const Elput_Device *dev)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue