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/hwdata.c | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'src/hwdata.c') diff --git a/src/hwdata.c b/src/hwdata.c index 212e860..17b9a46 100644 --- a/src/hwdata.c +++ b/src/hwdata.c @@ -1,17 +1,22 @@ #include "hwdata.h" -#include /******************************************************/ -static int parse_event(struct HWData *hw) +void init_hwdata(struct HWData *hw) +{ + memset(hw, 0, sizeof(struct HWData)); +} + +/******************************************************/ + +bool read_hwdata(struct HWData *hw, const struct input_event* ev) { - const struct input_event *ev = hw->event + hw->at++; bool on = ev->value != 0; switch (ev->type) { case EV_SYN: switch (ev->code) { case SYN_REPORT: - return 0; + return 1; } break; case EV_KEY: @@ -61,28 +66,11 @@ static int parse_event(struct HWData *hw) } break; } - return -EAGAIN; + return 0; } /******************************************************/ -int read_hwdata(struct HWData *hw, int fd) -{ - int n; - do { - while (hw->at < hw->nev) - if (!parse_event(hw)) - return 0; - n = read(fd, hw->event, sizeof(hw->event)); - hw->at = 0; - hw->nev = n / sizeof(struct input_event); - xf86Msg(X_INFO, "multitouch: read: %d %d\n", n, hw->nev); - } while (n > 0); - return -EIO; -}; - -/******************************************************/ - void output_hwdata(const struct HWData *hw) { } -- cgit v1.2.3