e_input_evdev: reduce duplicate code for creating mouse event 14/325014/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 19 May 2025 02:35:07 +0000 (11:35 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 30 May 2025 09:35:15 +0000 (18:35 +0900)
Change-Id: I39c87ffb7dd74c190b911436bbea32e0d1cb98fc
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/inputmgr/e_input_evdev.c

index 2296bc8e974dbf3126a97ca12e4344ec760f5ad9..92b38742149793d209f742de886869684df7807c 100644 (file)
@@ -1278,6 +1278,35 @@ _mouse_button_event_create(E_Input_Evdev *evdev, uint32_t timestamp, double radi
    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)
 {
@@ -1340,30 +1369,7 @@ e_input_evdev_handle_button(E_Input_Evdev *evdev, struct libinput_event_pointer
 
    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;
@@ -1756,30 +1762,7 @@ _device_handle_touch_event_send(E_Input_Evdev *evdev, struct libinput_event_touc
 
    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