diff options
author | Ran Benita <ran234@gmail.com> | 2013-03-03 21:35:43 +0200 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2013-03-18 22:20:04 +0000 |
commit | 71eb033eefe2f0f2a2d3fc7c54ebd5f0d4c2d3f5 (patch) | |
tree | 0bb26279c1b680a1e0cb8b8d946f85b3edaaf235 /src/keymap.h | |
parent | 82c3e3936078e2f8ea738615d2fdb0812a2f521b (diff) | |
download | xorg-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.h | 16 |
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, |