return ev;
}
+static void
+_evdev_mouse_event_create(E_Input_Evdev *evdev, uint32_t button, uint32_t timestamp)
+{
+ unsigned int current;
+
+ current = timestamp;
+ evdev->mouse.did_double = EINA_FALSE;
+ evdev->mouse.did_triple = EINA_FALSE;
+
+ if (((current - evdev->mouse.prev) <= evdev->mouse.threshold) &&
+ (button == evdev->mouse.prev_button))
+ {
+ evdev->mouse.did_double = EINA_TRUE;
+ if (((current - evdev->mouse.last) <= (2 * evdev->mouse.threshold)) &&
+ (button == evdev->mouse.last_button))
+ {
+ evdev->mouse.did_triple = EINA_TRUE;
+ evdev->mouse.prev = 0;
+ evdev->mouse.last = 0;
+ current = 0;
+ }
+ }
+
+ evdev->mouse.last = evdev->mouse.prev;
+ evdev->mouse.prev = current;
+ evdev->mouse.last_button = evdev->mouse.prev_button;
+ evdev->mouse.prev_button = button;
+}
+
EINTERN void
e_input_evdev_handle_button(E_Input_Evdev *evdev, struct libinput_event_pointer *event)
{
if (state)
{
- unsigned int current;
-
- current = timestamp;
- evdev->mouse.did_double = EINA_FALSE;
- evdev->mouse.did_triple = EINA_FALSE;
-
- if (((current - evdev->mouse.prev) <= evdev->mouse.threshold) &&
- (button == evdev->mouse.prev_button))
- {
- evdev->mouse.did_double = EINA_TRUE;
- if (((current - evdev->mouse.last) <= (2 * evdev->mouse.threshold)) &&
- (button == evdev->mouse.last_button))
- {
- evdev->mouse.did_triple = EINA_TRUE;
- evdev->mouse.prev = 0;
- evdev->mouse.last = 0;
- current = 0;
- }
- }
-
- evdev->mouse.last = evdev->mouse.prev;
- evdev->mouse.prev = current;
- evdev->mouse.last_button = evdev->mouse.prev_button;
- evdev->mouse.prev_button = button;
+ _evdev_mouse_event_create(evdev, button, timestamp);
}
ev->buttons = button;
if (state == ECORE_EVENT_MOUSE_BUTTON_DOWN)
{
- unsigned int current;
-
- current = timestamp;
- evdev->mouse.did_double = EINA_FALSE;
- evdev->mouse.did_triple = EINA_FALSE;
-
- if (((current - evdev->mouse.prev) <= evdev->mouse.threshold) &&
- (button == evdev->mouse.prev_button))
- {
- evdev->mouse.did_double = EINA_TRUE;
- if (((current - evdev->mouse.last) <= (2 * evdev->mouse.threshold)) &&
- (button == evdev->mouse.last_button))
- {
- evdev->mouse.did_triple = EINA_TRUE;
- evdev->mouse.prev = 0;
- evdev->mouse.last = 0;
- current = 0;
- }
- }
-
- evdev->mouse.last = evdev->mouse.prev;
- evdev->mouse.prev = current;
- evdev->mouse.last_button = evdev->mouse.prev_button;
- evdev->mouse.prev_button = button;
+ _evdev_mouse_event_create(evdev, button, timestamp);
evdev->touch.pressed |= (1 << ev->multi.device);
}
else