From: Peter Hutterer Date: Sat, 22 Jun 2013 09:45:39 +0000 (+1000) Subject: Slots are now definitely zero-indexed, see recent kernel patch X-Git-Tag: libevdev-0.2~92 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b10444f82ffc0a843ab693913b830ed73e08fcbb;p=platform%2Fupstream%2Flibevdev.git Slots are now definitely zero-indexed, see recent kernel patch doc: specify that ABS_MT_SLOT must have a minimum of 0 Signed-off-by: Peter Hutterer --- diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index 5c5a2fa..d92c81f 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -243,7 +243,7 @@ libevdev_set_fd(struct libevdev* dev, int fd) dev->abs_info[i] = abs_info; if (i == ABS_MT_SLOT) { - dev->num_slots = abs_info.maximum + 1; /* FIXME: non-zero min? */ + dev->num_slots = abs_info.maximum + 1; dev->current_slot = abs_info.value; } diff --git a/libevdev/libevdev.h b/libevdev/libevdev.h index 9d2991e..613d930 100644 --- a/libevdev/libevdev.h +++ b/libevdev/libevdev.h @@ -533,11 +533,11 @@ int libevdev_fetch_slot_value(const struct libevdev *dev, unsigned int slot, uns * * Get the number of slots supported by this device. * - * Note that the slot offset may be non-zero, use libevdev_get_abs_min() or - * libevdev_get_abs_info() to get the minimum slot number. - * * @return The number of slots supported, or -1 if the device does not provide * any slots + * + * @note A device may provide ABS_MT_SLOT but a total number of 0 slots. Hence + * the return value of -1 for "device does not provide slots at all" */ int libevdev_get_num_slots(const struct libevdev *dev);