evdev: Use -1 to represent touch events slots from single touch devices
authorJonas Ådahl <jadahl@gmail.com>
Wed, 12 Feb 2014 19:56:06 +0000 (20:56 +0100)
committerJonas Ådahl <jadahl@gmail.com>
Mon, 17 Feb 2014 19:12:19 +0000 (20:12 +0100)
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
src/evdev.c
src/libinput.h

index d8dff65..3fe28e4 100644 (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");
index b5e881a..30b6011 100644 (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