summaryrefslogtreecommitdiff
path: root/src/keymap.h
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2013-03-03 21:35:43 +0200
committerDaniel Stone <daniel@fooishbar.org>2013-03-18 22:20:04 +0000
commit71eb033eefe2f0f2a2d3fc7c54ebd5f0d4c2d3f5 (patch)
tree0bb26279c1b680a1e0cb8b8d946f85b3edaaf235 /src/keymap.h
parent82c3e3936078e2f8ea738615d2fdb0812a2f521b (diff)
downloadxorg-lib-libxkbcommon-71eb033eefe2f0f2a2d3fc7c54ebd5f0d4c2d3f5.tar.gz
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 <ran234@gmail.com>
Diffstat (limited to 'src/keymap.h')
-rw-r--r--src/keymap.h16
1 files changed, 11 insertions, 5 deletions
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,