Commit b086edc9158f8c3bbdce5dcdf72ee918569768f2

Sylvain Becker 2019-04-02T17:10:29

Bug 4576: remove touch/mouse duplication for Emscripten

diff --git a/src/video/emscripten/SDL_emscriptenevents.c b/src/video/emscripten/SDL_emscriptenevents.c
index 9f99828..82fef9e 100644
--- a/src/video/emscripten/SDL_emscriptenevents.c
+++ b/src/video/emscripten/SDL_emscriptenevents.c
@@ -446,7 +446,6 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo
     for (i = 0; i < touchEvent->numTouches; i++) {
         SDL_FingerID id;
         float x, y;
-        int mx, my;
 
         if (!touchEvent->touches[i].isChanged)
             continue;
@@ -455,16 +454,7 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo
         x = touchEvent->touches[i].canvasX / client_w;
         y = touchEvent->touches[i].canvasY / client_h;
 
-        mx = x * window_data->window->w;
-        my = y * window_data->window->h;
-
         if (eventType == EMSCRIPTEN_EVENT_TOUCHSTART) {
-            if (!window_data->finger_touching) {
-                window_data->finger_touching = SDL_TRUE;
-                window_data->first_finger = id;
-                SDL_SendMouseMotion(window_data->window, SDL_TOUCH_MOUSEID, 0, mx, my);
-                SDL_SendMouseButton(window_data->window, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT);
-            }
             SDL_SendTouch(deviceId, id, SDL_TRUE, x, y, 1.0f);
 
             /* disable browser scrolling/pinch-to-zoom if app handles touch events */
@@ -472,15 +462,8 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo
                 preventDefault = 1;
             }
         } else if (eventType == EMSCRIPTEN_EVENT_TOUCHMOVE) {
-            if ((window_data->finger_touching) && (window_data->first_finger == id)) {
-                SDL_SendMouseMotion(window_data->window, SDL_TOUCH_MOUSEID, 0, mx, my);
-            }
             SDL_SendTouchMotion(deviceId, id, x, y, 1.0f);
         } else {
-            if ((window_data->finger_touching) && (window_data->first_finger == id)) {
-                SDL_SendMouseButton(window_data->window, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT);
-                window_data->finger_touching = SDL_FALSE;
-            }
             SDL_SendTouch(deviceId, id, SDL_FALSE, x, y, 1.0f);
 
             /* block browser's simulated mousedown/mouseup on touchscreen devices */
diff --git a/src/video/emscripten/SDL_emscriptenvideo.h b/src/video/emscripten/SDL_emscriptenvideo.h
index 31565fb..feca1ba 100644
--- a/src/video/emscripten/SDL_emscriptenvideo.h
+++ b/src/video/emscripten/SDL_emscriptenvideo.h
@@ -47,9 +47,6 @@ typedef struct SDL_WindowData
     int requested_fullscreen_mode;
     SDL_bool fullscreen_resize;
 
-    SDL_bool finger_touching;  /* for mapping touch events to mice */
-    SDL_FingerID first_finger;
-
     SDL_bool has_pointer_lock;
 } SDL_WindowData;