Support wl_keyboard::modifiers event

This event lets the compositor inform clients of the canonical keyboard
modifier/group state.  Make sure we send it at appropriate moments from
the compositor, and listen for it in clients as well.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index bbacea4..332e1c2 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -608,10 +608,20 @@
 	notify_key(&c->base.seat->seat, time, key, state);
 }
 
+static void
+input_handle_modifiers(void *data, struct wl_keyboard *keyboard,
+		       uint32_t serial, uint32_t mods_depressed,
+		       uint32_t mods_latched, uint32_t mods_locked,
+		       uint32_t group)
+{
+	/* XXX notify_modifiers(); */
+}
+
 static const struct wl_keyboard_listener keyboard_listener = {
 	input_handle_keyboard_enter,
 	input_handle_keyboard_leave,
 	input_handle_key,
+	input_handle_modifiers,
 };
 
 static void