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);