Bug 4576: remove touch/mouse duplication for Wayland
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c
index 08f9d69..6fbf91d 100644
--- a/src/video/wayland/SDL_waylandevents.c
+++ b/src/video/wayland/SDL_waylandevents.c
@@ -407,13 +407,6 @@ touch_handler_down(void *data, struct wl_touch *touch, unsigned int serial,
touch_add(id, x, y, surface);
- if (!window_data->finger_touching) {
- window_data->finger_touching = SDL_TRUE;
- window_data->first_finger = id;
- SDL_SendMouseMotion(window_data->sdlwindow, SDL_TOUCH_MOUSEID, 0, (int) dblx, (int) dbly);
- SDL_SendMouseButton(window_data->sdlwindow, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT);
- }
-
SDL_SendTouch(1, (SDL_FingerID)id, SDL_TRUE, x, y, 1.0f);
}
@@ -424,11 +417,6 @@ touch_handler_up(void *data, struct wl_touch *touch, unsigned int serial,
SDL_WindowData *window_data = (SDL_WindowData *)wl_surface_get_user_data(touch_surface(id));
float x = 0, y = 0;
- if ((window_data->finger_touching) && (window_data->first_finger == id)) {
- SDL_SendMouseButton(window_data->sdlwindow, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT);
- window_data->finger_touching = SDL_FALSE;
- }
-
touch_del(id, &x, &y);
SDL_SendTouch(1, (SDL_FingerID)id, SDL_FALSE, x, y, 0.0f);
}
@@ -443,10 +431,6 @@ touch_handler_motion(void *data, struct wl_touch *touch, unsigned int timestamp,
const float x = dblx / window_data->sdlwindow->w;
const float y = dbly / window_data->sdlwindow->h;
- if ((window_data->finger_touching) && (window_data->first_finger == id)) {
- SDL_SendMouseMotion(window_data->sdlwindow, SDL_TOUCH_MOUSEID, 0, (int) dblx, (int) dbly);
- }
-
touch_update(id, x, y);
SDL_SendTouchMotion(1, (SDL_FingerID)id, x, y, 1.0f);
}
diff --git a/src/video/wayland/SDL_waylandwindow.h b/src/video/wayland/SDL_waylandwindow.h
index d894216..935b405 100644
--- a/src/video/wayland/SDL_waylandwindow.h
+++ b/src/video/wayland/SDL_waylandwindow.h
@@ -76,8 +76,6 @@ typedef struct {
int width, height;
} resize;
- SDL_bool finger_touching; /* for mapping touch events to mice */
- SDL_FingerID first_finger;
} SDL_WindowData;
extern void Wayland_ShowWindow(_THIS, SDL_Window *window);