}
switch (key->out_of_range_group_action) {
- case XkbClampIntoRange:
+ case RANGE_SATURATE:
write_buf(buf, "\n\t\t\tgroupsClamp,");
break;
- case XkbRedirectIntoRange:
+ case RANGE_REDIRECT:
write_buf(buf, "\n\t\t\tgroupsRedirect= Group%u,",
key->out_of_range_group_number + 1);
break;
+
+ default:
+ break;
}
if (key->explicit & XkbExplicitInterpretMask)
return ret;
switch (key->out_of_range_group_action) {
- case XkbRedirectIntoRange:
+ case RANGE_REDIRECT:
ret = key->out_of_range_group_number;
if (ret >= key->num_groups)
ret = 0;
break;
- case XkbClampIntoRange:
+ case RANGE_SATURATE:
ret = key->num_groups - 1;
break;
- case XkbWrapIntoRange:
+ case RANGE_WRAP:
default:
ret %= key->num_groups;
break;
unsigned int axt_ctrls_values;
};
+/* Such an awkward name. Oh well. */
+enum xkb_range_exceed_type {
+ RANGE_SATURATE,
+ RANGE_WRAP,
+ RANGE_REDIRECT,
+};
+
struct xkb_key {
char name[XKB_KEY_NAME_LENGTH];
/* How many levels the largest group has. */
xkb_level_index_t width;
- uint8_t out_of_range_group_action;
+ enum xkb_range_exceed_type out_of_range_group_action;
xkb_group_index_t out_of_range_group_number;
/* per level/group index into 'syms' */
xkb_mod_mask_t vmodmap;
xkb_atom_t dfltType;
- uint8_t out_of_range_group_action;
+ enum xkb_range_exceed_type out_of_range_group_action;
xkb_group_index_t out_of_range_group_number;
} KeyInfo;
keyi->dfltType = XKB_ATOM_NONE;
keyi->vmodmap = 0;
keyi->repeat = KEY_REPEAT_UNDEFINED;
- keyi->out_of_range_group_action = 0;
+ keyi->out_of_range_group_action = RANGE_WRAP;
keyi->out_of_range_group_number = 0;
}
}
if (set)
- keyi->out_of_range_group_action = XkbWrapIntoRange;
+ keyi->out_of_range_group_action = RANGE_WRAP;
else
- keyi->out_of_range_group_action = XkbClampIntoRange;
+ keyi->out_of_range_group_action = RANGE_SATURATE;
keyi->defined |= KEY_FIELD_GROUPINFO;
}
}
if (set)
- keyi->out_of_range_group_action = XkbClampIntoRange;
+ keyi->out_of_range_group_action = RANGE_SATURATE;
else
- keyi->out_of_range_group_action = XkbWrapIntoRange;
+ keyi->out_of_range_group_action = RANGE_WRAP;
keyi->defined |= KEY_FIELD_GROUPINFO;
}
return false;
}
- keyi->out_of_range_group_action = XkbRedirectIntoRange;
+ keyi->out_of_range_group_action = RANGE_REDIRECT;
keyi->out_of_range_group_number = grp - 1;
keyi->defined |= KEY_FIELD_GROUPINFO;
}
key->explicit |= XkbExplicitInterpretMask;
}
- if (keyi->defined & KEY_FIELD_GROUPINFO) {
- key->out_of_range_group_number = keyi->out_of_range_group_number;
- key->out_of_range_group_action = keyi->out_of_range_group_action;
- }
+ key->out_of_range_group_number = keyi->out_of_range_group_number;
+ key->out_of_range_group_action = keyi->out_of_range_group_action;
for (i = 0; i < nGroups; i++) {
/* assign kt_index[i] to the index of the type in map->types.