summaryrefslogtreecommitdiff
path: root/src/keymap.h
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2014-04-22 13:15:21 +0300
committerRan Benita <ran234@gmail.com>2014-04-22 14:58:42 +0300
commit9014cf8cd850b8685571590fe060a8a4239c03e8 (patch)
tree367907ffaa5397df3c4c2e9b1483eaf2d50a7f86 /src/keymap.h
parent787faf36654ed75672613c560286caddadce3ec5 (diff)
downloadxorg-lib-libxkbcommon-9014cf8cd850b8685571590fe060a8a4239c03e8.tar.gz
keymap, keycodes, compat: don't use darray for LEDs
Use a static array of size XKB_MAX_LEDS instead, as in xkb_mod_set. Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keymap.h')
-rw-r--r--src/keymap.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/keymap.h b/src/keymap.h
index 91f271a..d56c2c4 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -390,7 +390,8 @@ struct xkb_keymap {
xkb_layout_index_t num_group_names;
xkb_atom_t *group_names;
- darray(struct xkb_led) leds;
+ struct xkb_led leds[XKB_MAX_LEDS];
+ unsigned int num_leds;
char *keycodes_section_name;
char *symbols_section_name;
@@ -413,6 +414,16 @@ struct xkb_keymap {
(idx) < (mods_)->num_mods; \
(idx)++, (iter)++)
+#define xkb_leds_foreach(iter, keymap) \
+ for ((iter) = (keymap)->leds; \
+ (iter) < (keymap)->leds + (keymap)->num_leds; \
+ (iter)++)
+
+#define xkb_leds_enumerate(idx, iter, keymap) \
+ for ((idx) = 0, (iter) = (keymap)->leds; \
+ (idx) < (keymap)->num_leds; \
+ (idx)++, (iter)++)
+
static inline const struct xkb_key *
XkbKey(struct xkb_keymap *keymap, xkb_keycode_t kc)
{