|
@@ -547,6 +547,42 @@ void qemu_input_queue_abs(QemuConsole *src, InputAxis axis, int value,
|
|
|
qemu_input_event_send(src, &evt);
|
|
|
}
|
|
|
|
|
|
+void qemu_input_queue_mtt(QemuConsole *src, InputMultiTouchType type,
|
|
|
+ int slot, int tracking_id)
|
|
|
+{
|
|
|
+ InputMultiTouchEvent mtt = {
|
|
|
+ .type = type,
|
|
|
+ .slot = slot,
|
|
|
+ .tracking_id = tracking_id,
|
|
|
+ };
|
|
|
+ InputEvent evt = {
|
|
|
+ .type = INPUT_EVENT_KIND_MTT,
|
|
|
+ .u.mtt.data = &mtt,
|
|
|
+ };
|
|
|
+
|
|
|
+ qemu_input_event_send(src, &evt);
|
|
|
+}
|
|
|
+
|
|
|
+void qemu_input_queue_mtt_abs(QemuConsole *src, InputAxis axis, int value,
|
|
|
+ int min_in, int max_in, int slot, int tracking_id)
|
|
|
+{
|
|
|
+ InputMultiTouchEvent mtt = {
|
|
|
+ .type = INPUT_MULTI_TOUCH_TYPE_DATA,
|
|
|
+ .slot = slot,
|
|
|
+ .tracking_id = tracking_id,
|
|
|
+ .axis = axis,
|
|
|
+ .value = qemu_input_scale_axis(value, min_in, max_in,
|
|
|
+ INPUT_EVENT_ABS_MIN,
|
|
|
+ INPUT_EVENT_ABS_MAX),
|
|
|
+ };
|
|
|
+ InputEvent evt = {
|
|
|
+ .type = INPUT_EVENT_KIND_MTT,
|
|
|
+ .u.mtt.data = &mtt,
|
|
|
+ };
|
|
|
+
|
|
|
+ qemu_input_event_send(src, &evt);
|
|
|
+}
|
|
|
+
|
|
|
void qemu_input_check_mode_change(void)
|
|
|
{
|
|
|
static int current_is_absolute;
|