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