ABS_MT_SLOT
if (code == ABS_MT_SLOT)
if (bit_test(evdev->ev_abs_flags, ABS_MT_SLOT))
if (bit_test(evdev->ev_abs_flags, ABS_MT_SLOT) ||
if (axis == ABS_MT_SLOT &&
if (axis == ABS_MT_SLOT)
evdev->ev_absinfo[ABS_MT_SLOT].maximum = absinfo->maximum;
if (code == ABS_MT_SLOT &&
bit_test(evdev->ev_abs_flags, ABS_MT_SLOT))
if (code == ABS_MT_SLOT)
else if (!bit_test(evdev->ev_abs_flags, ABS_MT_SLOT))
case ABS_MT_SLOT:
if (!bit_test(evdev->ev_abs_flags, ABS_MT_SLOT))
evdev_propagate_event(evdev, EV_ABS, ABS_MT_SLOT,
bit_test(evdev->ev_abs_flags, ABS_MT_SLOT))
type_a = !bit_test(evdev->ev_abs_flags, ABS_MT_SLOT);
ABS_MT_SLOT, 0, MAX_MT_SLOTS - 1, 0, 0, 0);
bool type_a = !bit_test(evdev->ev_abs_flags, ABS_MT_SLOT);
evdev_send_event(evdev, EV_ABS, ABS_MT_SLOT, slot);
bool type_a = !bit_test(evdev->ev_abs_flags, ABS_MT_SLOT);
evdev_mt_record_event(evdev, EV_ABS, ABS_MT_SLOT, slot);
if (code == ABS_MT_SLOT) {
#define CURRENT_MT_SLOT(evdev) ((evdev)->ev_absinfo[ABS_MT_SLOT].value)
#define MAXIMAL_MT_SLOT(evdev) ((evdev)->ev_absinfo[ABS_MT_SLOT].maximum)
evdev_push_abs(sc->evdev_a, ABS_MT_SLOT, id);
{ ABS_MT_SLOT, 0, PSM_FINGERS-1, 0},
{ ABS_MT_SLOT, 0, ELANTECH_MAX_FINGERS - 1, 0 },