From 3734c2c5dc65f41aa727d9d69201d604eab6e77d Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Thu, 6 Nov 2008 16:00:08 +0100 Subject: event loop works, buffer works, now look at synched event Signed-off-by: Henrik Rydberg --- src/mtouch.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/mtouch.c') diff --git a/src/mtouch.c b/src/mtouch.c index a74a1f6..e469d2e 100644 --- a/src/mtouch.c +++ b/src/mtouch.c @@ -1,5 +1,4 @@ #include "mtouch.h" -#include /******************************************************/ @@ -17,6 +16,8 @@ int configure_mtouch(struct MTouch *mt, int fd) int open_mtouch(struct MTouch *mt, int fd) { int rc; + init_iobuf(&mt->buf); + init_hwdata(&mt->hw); if (mt->grabbed) return 0; SYSCALL(rc = ioctl(fd, EVIOCGRAB, (pointer)1)); @@ -34,7 +35,7 @@ void close_mtouch(struct MTouch *mt, int fd) { int rc; if (!mt->grabbed) - return 0; + return; SYSCALL(rc = ioctl(fd, EVIOCGRAB, (pointer)0)); if (rc < 0) xf86Msg(X_WARNING, "multitouch: cannot ungrab device\n"); @@ -42,3 +43,14 @@ void close_mtouch(struct MTouch *mt, int fd) } /******************************************************/ + +bool read_synchronized_event(struct MTouch *mt, int fd) +{ + const struct input_event* ev; + while(ev = get_iobuf_event(&mt->buf, fd)) + if (read_hwdata(&mt->hw, ev)) + return 1; + return 0; +} + +/******************************************************/ -- cgit v1.2.3