summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@bitmath.org>2011-04-19 11:30:16 +0200
committerHenrik Rydberg <rydberg@bitmath.org>2011-04-19 11:30:16 +0200
commitcb2fa51d091e90172a02a23bb06bbbe7e2ab9a4c (patch)
tree9fff25d8f823a69335191b9f851d90e4d2208456
parentfde70805eecc933ca97cbad90e62a1e97aa54dcd (diff)
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: Henrik Rydberg <rydberg@euromail.se>
-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;