Move keymaps to weston_seat

In practice this doesn't mean much right now, since they all just take
an extra reference on the global keymap.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
diff --git a/src/compositor.h b/src/compositor.h
index af6af24..f0dbddc 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -162,6 +162,16 @@
 	void (*set_dpms)(struct weston_output *output, enum dpms_enum level);
 };
 
+struct weston_xkb_info {
+	struct xkb_keymap *keymap;
+	xkb_mod_index_t ctrl_mod;
+	xkb_mod_index_t alt_mod;
+	xkb_mod_index_t super_mod;
+	xkb_led_index_t num_led;
+	xkb_led_index_t caps_led;
+	xkb_led_index_t scroll_led;
+};
+
 struct weston_seat {
 	struct wl_seat seat;
 	struct wl_pointer pointer;
@@ -192,6 +202,7 @@
 
 	void (*led_update)(struct weston_seat *ws, enum weston_led leds);
 
+	struct weston_xkb_info xkb_info;
 	struct {
 		struct xkb_state *state;
 		uint32_t mods_depressed;
@@ -241,16 +252,6 @@
 	struct wl_list link;
 };
 
-struct weston_xkb_info {
-	struct xkb_keymap *keymap;
-	xkb_mod_index_t ctrl_mod;
-	xkb_mod_index_t alt_mod;
-	xkb_mod_index_t super_mod;
-	xkb_led_index_t num_led;
-	xkb_led_index_t caps_led;
-	xkb_led_index_t scroll_led;
-};
-
 struct weston_compositor {
 	struct wl_shm *shm;
 	struct wl_signal destroy_signal;