summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-03-14 12:12:05 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-03-30 15:10:14 +1000
commitf6677ecebfb48516ce63fae08fe991b4a99e722b (patch)
tree9fff25d8f823a69335191b9f851d90e4d2208456
parent821730528d329f08b9a2bda54752a4715740691f (diff)
evemu: skip devices with EV_ABS and min/max of 0/0
The kernel doesn't like those devices and initialization will fail. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/evemu.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/evemu.c b/src/evemu.c
index df6b250..52307a6 100644
--- a/src/evemu.c
+++ b/src/evemu.c
@@ -454,6 +454,12 @@ static int set_mask(const struct evemu_device *dev, int type, int fd)
for (i = 0; i < bits; i++) {
if (!evemu_has_event(dev, type, i))
continue;
+
+ /* kernel doesn't like those */
+ if (type == EV_ABS &&
+ dev->abs[i].maximum == 0 && dev->abs[i].minimum == 0)
+ continue;
+
ret = set_event_bit(fd, type, i);
if (ret < 0)
return ret;