edev->mt_slot = libinput_event_touch_get_slot(event);
+ if (edev->mt_slot < E_INPUT_MAX_SLOTS)
+ {
+ edev->touch.coords[edev->mt_slot].x = edev->seat->ptr.ix;
+ edev->touch.coords[edev->mt_slot].y = edev->seat->ptr.iy;
+ }
+
_device_handle_touch_motion_send(edev, event);
_device_handle_touch_event_send(edev, event, ECORE_EVENT_MOUSE_BUTTON_DOWN);
}
edev->mt_slot = libinput_event_touch_get_slot(event);
+ if (edev->mt_slot < E_INPUT_MAX_SLOTS)
+ {
+ edev->touch.coords[edev->mt_slot].x = edev->seat->ptr.ix;
+ edev->touch.coords[edev->mt_slot].y = edev->seat->ptr.iy;
+ }
+
_device_handle_touch_motion_send(edev, event);
}
}
edev->mt_slot = libinput_event_touch_get_slot(event);
+
+ if (edev->mt_slot < E_INPUT_MAX_SLOTS)
+ {
+ edev->mouse.dx = edev->seat->ptr.dx = edev->seat->ptr.ix =
+ edev->touch.coords[edev->mt_slot].x;
+ edev->mouse.dy = edev->seat->ptr.dy = edev->seat->ptr.iy =
+ edev->touch.coords[edev->mt_slot].y;
+ }
+
_device_handle_touch_event_send(edev, event, ECORE_EVENT_MOUSE_BUTTON_UP);
}
#define E_INPUT_ENV_LIBINPUT_LOG_DISABLE "E_INPUT_LIBINPUT_LOG_DISABLE"
#define E_INPUT_ENV_LIBINPUT_LOG_EINA_LOG "E_INPUT_LIBINPUT_LOG_EINA_LOG"
+#define E_INPUT_MAX_SLOTS 10
+
struct _E_Input_Seat
{
const char *name;
int x, y;
int w, h;
} transform;
+ struct
+ {
+ int x;
+ int y;
+ } coords[E_INPUT_MAX_SLOTS];
} touch;
};