From 1b9635dfb51f78783d6c11d10773b998236d4ce8 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Sun, 8 Apr 2012 02:08:37 +0300 Subject: [PATCH] Add xkb_state_get_map() This is very useful because it avoids redundent pointers in structs and/or parameter passing in the application. Signed-off-by: Ran Benita --- include/xkbcommon/xkbcommon.h | 6 ++++++ src/state.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/include/xkbcommon/xkbcommon.h b/include/xkbcommon/xkbcommon.h index 185d11b..4eeaaca 100644 --- a/include/xkbcommon/xkbcommon.h +++ b/include/xkbcommon/xkbcommon.h @@ -423,6 +423,12 @@ xkb_state_ref(struct xkb_state *state); void xkb_state_unref(struct xkb_state *state); +/** + * Get the keymap from which the state object was created. + */ +struct xkb_keymap * +xkb_state_get_map(struct xkb_state *state); + enum xkb_key_direction { XKB_KEY_UP, XKB_KEY_DOWN, diff --git a/src/state.c b/src/state.c index 45820b6..8394050 100644 --- a/src/state.c +++ b/src/state.c @@ -494,6 +494,12 @@ xkb_state_unref(struct xkb_state *state) free(state); } +_X_EXPORT struct xkb_keymap * +xkb_state_get_map(struct xkb_state *state) +{ + return state->xkb; +} + /** * Update the LED state to match the rest of the xkb_state. */