evdev: Use -1 to represent touch events slots from single touch devices

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
Jonas Ådahl 2014-02-12 20:56:06 +01:00
parent e108e8ddba
commit 803f254343
2 changed files with 8 additions and 3 deletions

View file

@ -163,7 +163,7 @@ evdev_flush_pending_event(struct evdev_device *device, uint32_t time)
transform_absolute(device, &cx, &cy);
touch_notify_touch(base,
time,
slot,
-1,
li_fixed_from_int(cx),
li_fixed_from_int(cy),
LIBINPUT_TOUCH_TYPE_DOWN);
@ -173,7 +173,7 @@ evdev_flush_pending_event(struct evdev_device *device, uint32_t time)
if (device->seat_caps & EVDEV_DEVICE_TOUCH) {
touch_notify_touch(base,
time,
slot,
-1,
li_fixed_from_int(cx),
li_fixed_from_int(cy),
LIBINPUT_TOUCH_TYPE_DOWN);
@ -190,7 +190,9 @@ evdev_flush_pending_event(struct evdev_device *device, uint32_t time)
touch_notify_touch(base,
time,
0, 0, 0, LIBINPUT_TOUCH_TYPE_UP);
-1,
0, 0,
LIBINPUT_TOUCH_TYPE_UP);
break;
default:
assert(0 && "Unknown pending event type");

View file

@ -558,6 +558,9 @@ libinput_event_touch_get_time(struct libinput_event_touch *event);
* Get the slot of this touch event. See the kernel's multitouch
* protocol B documentation for more information.
*
* If the touch event has no assigned slot, for example if it is from a
* single touch device, this function returns -1.
*
* @note this function should not be called for LIBINPUT_EVENT_TOUCH_FRAME.
*
* @return The slot of this touch event