[gtk+] wayland: Create and expose an xkb_state on the keymap object
- From: Rob Bradford <rbradford src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] wayland: Create and expose an xkb_state on the keymap object
- Date: Mon, 16 Jul 2012 19:14:08 +0000 (UTC)
commit a4c80bd9cbd3d4e74fffa95a51b1336a38b9a548
Author: Josà Dapena Paz <jdapena igalia com>
Date: Mon Jul 16 19:16:48 2012 +0100
wayland: Create and expose an xkb_state on the keymap object
This is then logically associated with the input device since each (keyboard)
input device has its own keymap.
Signed-off-by: Rob Bradford <rob linux intel com>
gdk/wayland/gdkkeys-wayland.c | 7 +++++--
gdk/wayland/gdkprivate-wayland.h | 1 +
2 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
index 08b0b82..5de6408 100644
--- a/gdk/wayland/gdkkeys-wayland.c
+++ b/gdk/wayland/gdkkeys-wayland.c
@@ -49,6 +49,7 @@ struct _GdkWaylandKeymap
GdkKeymap parent_instance;
struct xkb_keymap *xkb_keymap;
+ struct xkb_state *xkb_state;
};
struct _GdkWaylandKeymapClass
@@ -656,6 +657,7 @@ _gdk_wayland_keymap_new ()
names.variant = "";
names.options = "";
keymap->xkb_keymap = xkb_map_new_from_names(context, &names, XKB_MAP_COMPILE_PLACEHOLDER);
+ keymap->xkb_state = xkb_state_new (keymap->xkb_keymap);
xkb_context_unref (context);
return GDK_KEYMAP (keymap);
@@ -682,6 +684,7 @@ _gdk_wayland_keymap_new_from_fd (uint32_t format,
keymap->xkb_keymap = xkb_map_new_from_string (context, map_str, format, XKB_MAP_COMPILE_PLACEHOLDER);
munmap (map_str, size);
close (fd);
+ keymap->xkb_state = xkb_state_new (keymap->xkb_keymap);
xkb_context_unref (context);
return GDK_KEYMAP (keymap);
@@ -692,7 +695,7 @@ struct xkb_keymap *_gdk_wayland_keymap_get_xkb_keymap (GdkKeymap *keymap)
return GDK_WAYLAND_KEYMAP (keymap)->xkb_keymap;
}
-struct xkb_desc *_gdk_wayland_keymap_get_xkb_desc (GdkKeymap *keymap)
+struct xkb_state *_gdk_wayland_keymap_get_xkb_state (GdkKeymap *keymap)
{
- return GDK_WAYLAND_KEYMAP (keymap)->xkb;
+ return GDK_WAYLAND_KEYMAP (keymap)->xkb_state;
}
diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
index cfa9bd8..5354d75 100644
--- a/gdk/wayland/gdkprivate-wayland.h
+++ b/gdk/wayland/gdkprivate-wayland.h
@@ -52,6 +52,7 @@ GdkKeymap *_gdk_wayland_keymap_new (void);
GdkKeymap *_gdk_wayland_keymap_new_from_fd (uint32_t format,
uint32_t fd, uint32_t size);
struct xkb_desc *_gdk_wayland_keymap_get_xkb_desc (GdkKeymap *keymap);
+struct xkb_state *_gdk_wayland_keymap_get_xkb_state (GdkKeymap *keymap);
GdkCursor *_gdk_wayland_display_get_cursor_for_type (GdkDisplay *display,
GdkCursorType cursor_type);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]