Support axis source, axis discrete, frame and axis stop events

[jonas: only send focus wl_pointer.frame if resource supports it]

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/src/screen-share.c b/src/screen-share.c
index ab649e3..9b5154b 100644
--- a/src/screen-share.c
+++ b/src/screen-share.c
@@ -143,6 +143,7 @@
 	 * always receiving the input in the same coordinates as the output. */
 
 	notify_motion_absolute(&seat->base, time, x, y);
+	notify_pointer_frame(&seat->base);
 }
 
 static void
@@ -153,6 +154,7 @@
 	struct ss_seat *seat = data;
 
 	notify_button(&seat->base, time, button, state);
+	notify_pointer_frame(&seat->base);
 }
 
 static void
@@ -164,8 +166,10 @@
 
 	weston_event.axis = axis;
 	weston_event.value = value;
+	weston_event.has_discrete = false;
 
 	notify_axis(&seat->base, time, &weston_event);
+	notify_pointer_frame(&seat->base);
 }
 
 static const struct wl_pointer_listener ss_seat_pointer_listener = {