[PATCH 04/11] evdev: Add evdev_any_button_down helper function
Hans de Goede
hdegoede at redhat.com
Thu Nov 6 07:37:33 PST 2014
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
src/evdev.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/src/evdev.c b/src/evdev.c
index b39b484..2821cc6 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -580,6 +580,19 @@ evdev_process_absolute(struct evdev_device *device,
}
static inline bool
+evdev_any_button_down(struct evdev_device *device)
+{
+ unsigned int button;
+
+ for (button = BTN_LEFT; button < BTN_JOYSTICK; button++) {
+ if (libevdev_has_event_code(device->evdev, EV_KEY, button) &&
+ hw_is_key_down(device, button))
+ return true;
+ }
+ return false;
+}
+
+static inline bool
evdev_need_touch_frame(struct evdev_device *device)
{
if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
@@ -773,16 +786,11 @@ evdev_left_handed_has(struct libinput_device *device)
static void
evdev_change_to_left_handed(struct evdev_device *device)
{
- unsigned int button;
-
if (device->buttons.want_left_handed == device->buttons.left_handed)
return;
- for (button = BTN_LEFT; button < BTN_JOYSTICK; button++) {
- if (libevdev_has_event_code(device->evdev, EV_KEY, button) &&
- hw_is_key_down(device, button))
- return;
- }
+ if (evdev_any_button_down(device))
+ return;
device->buttons.left_handed = device->buttons.want_left_handed;
}
--
2.1.0
More information about the wayland-devel
mailing list