_e_comp_wl_send_mouse_move(ec, ev->cur.canvas.x, ev->cur.canvas.y, ev->timestamp);
e_pointer_mouse_move(e_comp->pointer, ev->cur.output.x, ev->cur.output.y);
- if (e_config->use_cursor_timer)
- _e_comp_wl_cursor_move_timer_control(ec);
+ if (!need_send_released) // set cursor's hide_tmr only when mouse button is not pressed
+ {
+ if (e_config->use_cursor_timer)
+ _e_comp_wl_cursor_move_timer_control(ec);
+ }
}
}
}
{
if (e_config->use_cursor_timer)
{
+ if (e_comp_wl->ptr.hide_tmr)
+ {
+ ecore_timer_del(e_comp_wl->ptr.hide_tmr);
+ e_comp_wl->ptr.hide_tmr = NULL;
+ }
+ cursor_timer_ec = NULL;
+
if (e_pointer_is_hidden(e_comp->pointer))
_e_comp_wl_cursor_reload(ec);
}
WL_POINTER_BUTTON_STATE_PRESSED);
e_pointer_mouse_move(e_comp->pointer, ev->output.x, ev->output.y);
- if (e_config->use_cursor_timer)
- _e_comp_wl_cursor_move_timer_control(ec);
}
need_send_released = EINA_TRUE;
_e_comp_wl_evas_handle_mouse_button_to_touch(ec, ev->timestamp, ev->canvas.x, ev->canvas.y, EINA_FALSE);
}
else
- e_comp_wl_evas_handle_mouse_button(ec, ev->timestamp, ev->button,
- WL_POINTER_BUTTON_STATE_RELEASED);
+ {
+ e_comp_wl_evas_handle_mouse_button(ec, ev->timestamp, ev->button,
+ WL_POINTER_BUTTON_STATE_RELEASED);
+
+ if (e_config->use_cursor_timer)
+ _e_comp_wl_cursor_move_timer_control(ec);
+ }
finish:
need_send_released = EINA_FALSE;
if (!eina_list_count(e_comp_wl->ptr.resources))
return;
+ if (e_config->use_cursor_timer)
+ {
+ if (e_pointer_is_hidden(e_comp->pointer))
+ _e_comp_wl_cursor_reload(ec);
+ }
+
_e_comp_wl_device_send_event_device(ec, ev->dev, ev->timestamp);
- _e_comp_wl_mouse_wheel_send(ec, ev->direction, ev->z, ev->timestamp);
+ _e_comp_wl_mouse_wheel_send(ec, ev->direction, ev->z, ev->timestamp);
+
+ if (!need_send_released) // set cursor's hide_tmr only when mouse button is not pressed
+ {
+ if (e_config->use_cursor_timer)
+ _e_comp_wl_cursor_move_timer_control(ec);
+ }
}
static void
if (!time) time = (uint32_t)(ecore_time_get() * 1000);
serial = wl_display_next_serial(e_comp_wl->wl.disp);
+ if (e_config->use_cursor_timer)
+ {
+ if (e_pointer_is_hidden(e_comp->pointer))
+ _e_comp_wl_cursor_reload(ec);
+ }
+
if (dev) _e_comp_wl_send_event_device(wc, time, dev, serial);
else _e_comp_wl_device_send_last_event_device(ec, ECORE_DEVICE_CLASS_MOUSE, time);
_e_comp_wl_mouse_wheel_send(ec, direction, z, time);
+ if (!need_send_released) // set cursor's hide_tmr only when mouse button is not pressed
+ {
+ if (e_config->use_cursor_timer)
+ _e_comp_wl_cursor_move_timer_control(ec);
+ }
+
return EINA_TRUE;
}