diff options
Diffstat (limited to 'src/keymap.h')
-rw-r--r-- | src/keymap.h | 13 |
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) { |