summaryrefslogtreecommitdiff
path: root/src/keymap.h
diff options
context:
space:
mode:
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)
{