commit 266b8ad

Michael Forney  ·  2013-10-22 20:52:36 +0000 UTC
parent e4d437f
evdev: Use new libevdev API
1 files changed,  +12, -5
+12, -5
 1@@ -112,12 +112,19 @@ static int handle_data(int fd, uint32_t mask, void * data)
 2     struct input_event event;
 3     int ret;
 4 
 5-    do
 6+    while (true)
 7     {
 8-        ret = libevdev_next_event(device->dev, LIBEVDEV_READ_NORMAL, &event);
 9+        ret = libevdev_next_event(device->dev, LIBEVDEV_READ_FLAG_NORMAL,
10+                                  &event);
11 
12-        while (ret == 1)
13-            ret = libevdev_next_event(device->dev, LIBEVDEV_READ_SYNC, &event);
14+        if (ret == -EAGAIN)
15+            break;
16+
17+        while (ret == LIBEVDEV_READ_STATUS_SYNC)
18+        {
19+            ret = libevdev_next_event(device->dev, LIBEVDEV_READ_FLAG_SYNC,
20+                                      &event);
21+        }
22 
23         if (!is_motion_event(&event))
24             handle_motion_events(device, timeval_to_msec(&event.time));
25@@ -127,7 +134,7 @@ static int handle_data(int fd, uint32_t mask, void * data)
26         {
27             event_handlers[event.type](device, &event);
28         }
29-    } while (ret != -EAGAIN);
30+    }
31 
32     handle_motion_events(device, timeval_to_msec(&event.time));
33