KeyNameText(key->name), XkbKeyGetKeycode(keymap, key));
}
- for (i = 0; i < XkbNumIndicators; i++) {
+ for (i = 0; i < XKB_NUM_INDICATORS; i++) {
if (keymap->indicators[i].name == XKB_ATOM_NONE)
continue;
write_buf(buf, "\t\tindicator %d = \"%s\";\n", i + 1,
write_buf(buf, "\t\t};\n");
}
- for (i = 0; i < XkbNumIndicators; i++) {
+ for (i = 0; i < XKB_NUM_INDICATORS; i++) {
struct xkb_indicator_map *map = &keymap->indicators[i];
if (map->which_groups == 0 && map->groups == 0 &&
map->which_mods == 0 && map->mods.mods == 0 &&
xkb_led_index_t ret = 0;
xkb_led_index_t i;
- for (i = 0; i < XkbNumIndicators; i++)
+ for (i = 0; i < XKB_NUM_INDICATORS; i++)
if (keymap->indicators[i].which_groups ||
keymap->indicators[i].which_mods ||
keymap->indicators[i].ctrls)
state->leds = 0;
- for (led = 0; led < XkbNumIndicators; led++) {
+ for (led = 0; led < XKB_NUM_INDICATORS; led++) {
struct xkb_indicator_map *map = &state->keymap->indicators[led];
xkb_mod_mask_t mod_mask = 0;
uint32_t group_mask = 0;
#define XKB_LEVEL_INVALID 0xffffffff
#define XKB_KEY_NAME_LENGTH 4
+
+/* These should all be dynamic. */
#define XKB_NUM_GROUPS 4
+#define XKB_NUM_INDICATORS 32
struct xkb_context {
int refcnt;
xkb_group_index_t num_groups;
xkb_atom_t group_names[XKB_NUM_GROUPS];
- struct xkb_indicator_map indicators[XkbNumIndicators];
+ struct xkb_indicator_map indicators[XKB_NUM_INDICATORS];
char *keycodes_section_name;
char *symbols_section_name;
* After all of the xkb_compat sections have been compiled, the following
* members of struct xkb_keymap are finalized:
* darray(struct xkb_sym_interpret) sym_interpret;
- * struct xkb_indicator_map indicators[XkbNumIndicators];
+ * struct xkb_indicator_map indicators[XKB_NUM_INDICATORS];
* char *compat_section_name;
* TODO: virtual modifiers.
*/
* Find the indicator with the given name, if it was already
* declared in keycodes.
*/
- for (i = 0; i < XkbNumIndicators; i++)
+ for (i = 0; i < XKB_NUM_INDICATORS; i++)
if (keymap->indicators[i].name == led->im.name)
break;
/* Not previously declared; create it with next free index. */
- if (i >= XkbNumIndicators) {
+ if (i >= XKB_NUM_INDICATORS) {
log_dbg(keymap->ctx,
"Indicator name \"%s\" was not declared in the keycodes section; "
"Adding new indicator\n",
xkb_atom_text(keymap->ctx, led->im.name));
- for (i = 0; i < XkbNumIndicators; i++)
+ for (i = 0; i < XKB_NUM_INDICATORS; i++)
if (keymap->indicators[i].name == XKB_ATOM_NONE)
break;
/* Not place to put it; ignore. */
- if (i >= XkbNumIndicators) {
+ if (i >= XKB_NUM_INDICATORS) {
log_err(keymap->ctx,
"Too many indicators (maximum is %d); "
"Indicator name \"%s\" ignored\n",
- XkbNumIndicators,
+ XKB_NUM_INDICATORS,
xkb_atom_text(keymap->ctx, led->im.name));
continue;
}
* indicator 3 = "Scroll Lock";
*
* Assigns a name the indicator (i.e. keyboard LED) with the given index.
- * The amount of possible indicators is predetermined (XkbNumIndicators).
+ * The amount of possible indicators is predetermined (XKB_NUM_INDICATORS).
* The indicator may be referred by this name later in the compat section
* and by the user.
*
* darray(struct xkb_key_alias) key_aliases;
* char *keycodes_section_name;
* The 'name' field of indicators declared in xkb_keycodes:
- * struct xkb_indicator_map indicators[XkbNumIndicators];
+ * struct xkb_indicator_map indicators[XKB_NUM_INDICATORS];
* Further, the array of keys:
* darray(struct xkb_key) keys;
* had been resized to its final size (i.e. all of the xkb_key objects are
xkb_keycode_t explicitMax;
darray(unsigned long) names;
darray(unsigned int) files;
- IndicatorNameInfo indicator_names[XkbNumIndicators];
+ IndicatorNameInfo indicator_names[XKB_NUM_INDICATORS];
darray(AliasInfo) aliases;
struct xkb_context *ctx;
{
xkb_led_index_t idx;
- for (idx = 0; idx < XkbNumIndicators; idx++) {
+ for (idx = 0; idx < XKB_NUM_INDICATORS; idx++) {
if (info->indicator_names[idx].name == name) {
*idx_out = idx;
return &info->indicator_names[idx];
into->errorCount++;
}
- for (idx = 0; idx < XkbNumIndicators; idx++) {
+ for (idx = 0; idx < XKB_NUM_INDICATORS; idx++) {
IndicatorNameInfo *led = &from->indicator_names[idx];
if (led->name == XKB_ATOM_NONE)
continue;
IndicatorNameInfo ii;
xkb_atom_t name;
- if (def->ndx < 1 || def->ndx > XkbNumIndicators) {
+ if (def->ndx < 1 || def->ndx > XKB_NUM_INDICATORS) {
info->errorCount++;
log_err(info->ctx,
"Name specified for illegal indicator index %d\n; Ignored\n",
keymap->keycodes_section_name = strdup_safe(info->name);
- for (idx = 0; idx < XkbNumIndicators; idx++) {
+ for (idx = 0; idx < XKB_NUM_INDICATORS; idx++) {
IndicatorNameInfo *led = &info->indicator_names[idx];
if (led->name == XKB_ATOM_NONE)
continue;
}
/* Update vmod -> indicator maps. */
- for (led = 0; led < XkbNumIndicators; led++)
+ for (led = 0; led < XKB_NUM_INDICATORS; led++)
ComputeEffectiveMask(keymap, &keymap->indicators[led].mods);
/* Find maximum number of groups out of all keys in the keymap. */