From af82bea253b70ce84bc11cd1e93fef5f7d6f89d1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 27 Jan 2011 20:18:17 -0500 Subject: [PATCH] compositor-wayland: Handle keyboard focus too --- compositor/compositor-wayland.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/compositor/compositor-wayland.c b/compositor/compositor-wayland.c index d80cf5f..11320d8 100644 --- a/compositor/compositor-wayland.c +++ b/compositor/compositor-wayland.c @@ -373,7 +373,7 @@ input_handle_pointer_focus(void *data, int32_t x, int32_t y, int32_t sx, int32_t sy) { struct wayland_input *input = data; - struct wayland_output *output = data; + struct wayland_output *output; struct wayland_compositor *c = input->compositor; if (surface) { @@ -392,7 +392,17 @@ input_handle_keyboard_focus(void *data, struct wl_surface *surface, struct wl_array *keys) { - /* FIXME: sth to be done here? */ + struct wayland_input *input = data; + struct wayland_compositor *c = input->compositor; + struct wayland_output *output; + + if (surface) { + output = wl_surface_get_user_data(surface); + notify_keyboard_focus(c->base.input_device, + time, &output->base, keys); + } else { + notify_keyboard_focus(c->base.input_device, time, NULL, NULL); + } } static const struct wl_input_device_listener input_device_listener = { -- 2.7.4