From 164c62a97591d4c9b649460e7442977ea82ac02b Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 29 May 2013 07:17:41 +1000 Subject: Use libevdev as backend Removes the need to ioctl manually and check bits, with all the dangers that come with that. libevdev is much better prepared for invalid values, OOB checks, etc. Plus, we get almost free SYN_DROPPED handling as well which we didn't have before. Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson --- src/evdev.h | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src/evdev.h') diff --git a/src/evdev.h b/src/evdev.h index 4742b43..563d108 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -47,6 +47,8 @@ #include #endif +#include + #ifndef EV_CNT /* linux 2.6.23 kernels and earlier lack _CNT defines */ #define EV_CNT (EV_MAX+1) #endif @@ -150,8 +152,7 @@ typedef struct { } EventQueueRec, *EventQueuePtr; typedef struct { - unsigned short id_vendor; - unsigned short id_product; + struct libevdev *dev; char *device; int grabDevice; /* grab the event device? */ @@ -234,13 +235,6 @@ typedef struct { int reopen_left; /* number of attempts left to re-open the device */ OsTimerPtr reopen_timer; - /* Cached info from device. */ - unsigned long bitmask[NLONGS(EV_CNT)]; - unsigned long key_bitmask[NLONGS(KEY_CNT)]; - unsigned long rel_bitmask[NLONGS(REL_CNT)]; - unsigned long abs_bitmask[NLONGS(ABS_CNT)]; - struct input_absinfo absinfo[ABS_CNT]; - /* minor/major number */ dev_t min_maj; -- cgit v1.2.3