2007-03-19 18:08:38 -07:00
|
|
|
#include "e.h"
|
2016-03-23 14:55:09 -07:00
|
|
|
#ifdef HAVE_WL_DRM
|
|
|
|
#include <Ecore_Drm.h>
|
|
|
|
#endif
|
2012-06-20 23:19:43 -07:00
|
|
|
|
2015-05-07 12:13:10 -07:00
|
|
|
E_API int
|
2010-11-22 07:21:32 -08:00
|
|
|
e_mouse_update(void)
|
2007-03-19 18:08:38 -07:00
|
|
|
{
|
2014-03-11 04:24:41 -07:00
|
|
|
#ifndef HAVE_WAYLAND_ONLY
|
2015-01-23 04:44:43 -08:00
|
|
|
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
2014-03-18 13:14:04 -07:00
|
|
|
{
|
2015-12-16 13:40:01 -08:00
|
|
|
unsigned char map[256] = { 0 };
|
|
|
|
int n;
|
|
|
|
|
2014-03-18 13:14:04 -07:00
|
|
|
if (!ecore_x_pointer_control_set(e_config->mouse_accel_numerator,
|
|
|
|
e_config->mouse_accel_denominator,
|
|
|
|
e_config->mouse_accel_threshold))
|
|
|
|
return 0;
|
2008-09-19 19:23:51 -07:00
|
|
|
|
2014-03-18 13:14:04 -07:00
|
|
|
if (!ecore_x_pointer_mapping_get(map, 256)) return 0;
|
2008-09-19 19:23:51 -07:00
|
|
|
|
2015-12-16 13:40:01 -08:00
|
|
|
for (n = 0; n < 256; n++)
|
|
|
|
{
|
|
|
|
if (!map[n]) break;
|
|
|
|
}
|
|
|
|
if (n < 3)
|
|
|
|
{
|
|
|
|
map[0] = 1;
|
|
|
|
map[1] = 2;
|
|
|
|
map[2] = 3;
|
|
|
|
n = 3;
|
|
|
|
}
|
|
|
|
if (e_config->mouse_hand == E_MOUSE_HAND_RIGHT)
|
|
|
|
{
|
|
|
|
map[0] = 1;
|
|
|
|
map[2] = 3;
|
|
|
|
}
|
|
|
|
else if (e_config->mouse_hand == E_MOUSE_HAND_LEFT)
|
|
|
|
{
|
|
|
|
map[0] = 3;
|
|
|
|
map[2] = 1;
|
|
|
|
}
|
2012-04-16 14:56:30 -07:00
|
|
|
|
2015-12-16 13:40:01 -08:00
|
|
|
if (!ecore_x_pointer_mapping_set(map, n)) return 0;
|
|
|
|
}
|
2014-03-11 04:24:41 -07:00
|
|
|
#endif
|
2016-03-23 14:55:09 -07:00
|
|
|
#ifdef HAVE_WL_DRM
|
|
|
|
if (strstr(ecore_evas_engine_name_get(e_comp->ee), "drm"))
|
|
|
|
{
|
|
|
|
const Eina_List *list, *l;
|
|
|
|
Ecore_Drm_Device *dev;
|
2008-09-19 19:23:51 -07:00
|
|
|
|
2016-03-23 14:55:09 -07:00
|
|
|
list = ecore_drm_devices_get();
|
|
|
|
EINA_LIST_FOREACH(list, l, dev)
|
|
|
|
{
|
|
|
|
ecore_drm_device_pointer_left_handed_set(dev, (Eina_Bool)!e_config->mouse_hand);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
2007-03-19 18:08:38 -07:00
|
|
|
return 1;
|
|
|
|
}
|