e_input: add checking TOUCH capability in e_input_device_pointer_xy_get() 94/292694/1
authorduna.oh <duna.oh@samsung.com>
Thu, 11 May 2023 08:30:49 +0000 (17:30 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 11 May 2023 09:42:32 +0000 (18:42 +0900)
seat->ptr.x/y could be updated by TOUCH or POINTER device.
This patch fixes the bug that if no POINTER device is attached, user couldn't
get the right values of ptr.x/y.

Change-Id: I9a8c7b708882a30a81a02db6ad6f4d2a4a87aed8

src/bin/e_input_device.c

index 9833e7a..a3f8828 100644 (file)
@@ -300,8 +300,8 @@ e_input_device_pointer_xy_get(E_Input_Device *dev, int *x, int *y)
      {
         EINA_LIST_FOREACH(seat->devices, ll, edev)
           {
-             if (!libinput_device_has_capability(edev->device,
-                                                 LIBINPUT_DEVICE_CAP_POINTER))
+             if (!(edev->caps & E_INPUT_SEAT_POINTER ||
+                   edev->caps & E_INPUT_SEAT_TOUCH))
                continue;
 
              if (x) *x = seat->ptr.dx;