2007-03-19 18:08:38 -07:00
|
|
|
#include "e.h"
|
2012-06-20 23:19:43 -07:00
|
|
|
|
2007-03-19 18:08:38 -07:00
|
|
|
EAPI int
|
2010-11-22 07:21:32 -08:00
|
|
|
e_mouse_update(void)
|
2007-03-19 18:08:38 -07:00
|
|
|
{
|
2012-04-02 13:30:01 -07:00
|
|
|
unsigned char map[256] = { 0 };
|
2008-09-19 19:23:51 -07:00
|
|
|
int n;
|
|
|
|
|
2014-03-11 04:24:41 -07:00
|
|
|
#ifndef HAVE_WAYLAND_ONLY
|
2014-03-18 13:14:04 -07:00
|
|
|
if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
|
|
|
|
{
|
|
|
|
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;
|
|
|
|
}
|
2014-03-11 04:24:41 -07:00
|
|
|
#endif
|
2008-09-19 19:23:51 -07:00
|
|
|
|
2012-04-02 13:30:01 -07:00
|
|
|
for (n = 0; n < 256; n++)
|
2008-09-19 19:23:51 -07:00
|
|
|
{
|
2012-04-02 13:30:01 -07:00
|
|
|
if (!map[n]) break;
|
2008-09-19 19:23:51 -07:00
|
|
|
}
|
2012-04-02 13:30:01 -07:00
|
|
|
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
|
|
|
|
2014-03-11 04:24:41 -07:00
|
|
|
#ifndef HAVE_WAYLAND_ONLY
|
2014-03-18 13:14:04 -07:00
|
|
|
if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
|
|
|
|
if (!ecore_x_pointer_mapping_set(map, n)) return 0;
|
2014-03-11 04:24:41 -07:00
|
|
|
#endif
|
2008-09-19 19:23:51 -07:00
|
|
|
|
2007-03-19 18:08:38 -07:00
|
|
|
return 1;
|
|
|
|
}
|
2013-01-11 02:34:29 -08:00
|
|
|
|