From 71eb033eefe2f0f2a2d3fc7c54ebd5f0d4c2d3f5 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Sun, 3 Mar 2013 21:35:43 +0200 Subject: Move a couple of general keymap functions from keycodes.c To get a key by name and resolve an alias - this makes sense for everyone. Signed-off-by: Ran Benita --- src/keymap.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/keymap.h') diff --git a/src/keymap.h b/src/keymap.h index 30733bf..f4b80eb 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -403,6 +403,11 @@ struct xkb_keymap { char *compat_section_name; }; +#define xkb_foreach_key(iter, keymap) \ + for (iter = keymap->keys + keymap->min_key_code; \ + iter <= keymap->keys + keymap->max_key_code; \ + iter++) + static inline const struct xkb_key * XkbKey(struct xkb_keymap *keymap, xkb_keycode_t kc) { @@ -411,17 +416,18 @@ XkbKey(struct xkb_keymap *keymap, xkb_keycode_t kc) return &keymap->keys[kc]; } -#define xkb_foreach_key(iter, keymap) \ - for (iter = keymap->keys + keymap->min_key_code; \ - iter <= keymap->keys + keymap->max_key_code; \ - iter++) - static inline xkb_level_index_t XkbKeyGroupWidth(const struct xkb_key *key, xkb_layout_index_t layout) { return key->groups[layout].type->num_levels; } +struct xkb_key * +XkbKeyByName(struct xkb_keymap *keymap, xkb_atom_t name, bool use_aliases); + +xkb_atom_t +XkbResolveKeyAlias(struct xkb_keymap *keymap, xkb_atom_t name); + xkb_layout_index_t wrap_group_into_range(int32_t group, xkb_layout_index_t num_groups, -- cgit v1.2.1