From 5f78e8929de0d94885804fdb2117048a1af84e12 Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 11 May 2023 17:30:49 +0900 Subject: [PATCH 1/1] e_input: add checking TOUCH capability in e_input_device_pointer_xy_get() 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_input_device.c b/src/bin/e_input_device.c index 9833e7a..a3f8828 100644 --- a/src/bin/e_input_device.c +++ b/src/bin/e_input_device.c @@ -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; -- 2.7.4