diff options
author | Ran Benita <ran234@gmail.com> | 2012-10-06 17:21:09 +0200 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2012-10-06 21:42:00 +0200 |
commit | 39232e6dae3f7fcaae49ed05cb0e48117a46616e (patch) | |
tree | 89cb15d90d2b5099c03458ff0b33565ec8967942 /src | |
parent | e6e3bda3934345bce203558df57ade467e62a337 (diff) | |
download | xorg-lib-libxkbcommon-39232e6dae3f7fcaae49ed05cb0e48117a46616e.tar.gz |
Remove now-unneeded mod type annotations
Most of the mod type annotations can now be changed to MOD_BOTH, because
if you pass a mask which can only contain real mods in the first place to
e.g. ModMaskText, then MOD_REAL and MOD_BOTH will give the same result.
In the cases where MOD_BOTH is only ever the argument, we just remove
it. What's left is where it really "matters".
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/keymap-dump.c | 16 | ||||
-rw-r--r-- | src/text.c | 19 | ||||
-rw-r--r-- | src/text.h | 6 | ||||
-rw-r--r-- | src/xkbcomp/compat.c | 2 | ||||
-rw-r--r-- | src/xkbcomp/keymap.c | 4 | ||||
-rw-r--r-- | src/xkbcomp/symbols.c | 14 | ||||
-rw-r--r-- | src/xkbcomp/types.c | 29 |
7 files changed, 40 insertions, 50 deletions
diff --git a/src/keymap-dump.c b/src/keymap-dump.c index 75f2654..920a846 100644 --- a/src/keymap-dump.c +++ b/src/keymap-dump.c @@ -281,7 +281,7 @@ write_types(struct xkb_keymap *keymap, struct buf *buf) write_buf(buf, "\t\ttype \"%s\" {\n", xkb_atom_text(keymap->ctx, type->name)); write_buf(buf, "\t\t\tmodifiers= %s;\n", - ModMaskText(keymap, type->mods.mods, MOD_BOTH)); + ModMaskText(keymap, type->mods.mods)); for (j = 0; j < type->num_entries; j++) { const char *str; @@ -294,7 +294,7 @@ write_types(struct xkb_keymap *keymap, struct buf *buf) if (entry->level == 0 && entry->preserve.mods == 0) continue; - str = ModMaskText(keymap, entry->mods.mods, MOD_BOTH); + str = ModMaskText(keymap, entry->mods.mods); write_buf(buf, "\t\t\tmap[%s]= Level%d;\n", str, entry->level + 1); @@ -303,7 +303,7 @@ write_types(struct xkb_keymap *keymap, struct buf *buf) write_buf(buf, "\t\t\tpreserve[%s]= ", str); write_buf(buf, "%s;\n", - ModMaskText(keymap, entry->preserve.mods, MOD_BOTH)); + ModMaskText(keymap, entry->preserve.mods)); } if (type->level_names) { @@ -344,7 +344,7 @@ write_indicator_map(struct xkb_keymap *keymap, struct buf *buf, int num) get_indicator_state_text(led->which_mods)); } write_buf(buf, "\t\t\tmodifiers= %s;\n", - ModMaskText(keymap, led->mods.mods, MOD_BOTH)); + ModMaskText(keymap, led->mods.mods)); } if (led->ctrls) { @@ -378,7 +378,7 @@ write_action(struct xkb_keymap *keymap, struct buf *buf, if (action->mods.flags & ACTION_MODS_LOOKUP_MODMAP) args = "modMapMods"; else - args = ModMaskText(keymap, action->mods.mods.mods, MOD_BOTH); + args = ModMaskText(keymap, action->mods.mods.mods); write_buf(buf, "%s%s(modifiers=%s%s%s)%s", prefix, type, args, (action->type != ACTION_TYPE_MOD_LOCK && (action->mods.flags & ACTION_LOCK_CLEAR)) ? @@ -524,11 +524,11 @@ write_compat(struct xkb_keymap *keymap, struct buf *buf) write_buf(buf, "\t\tinterpret %s+%s(%s) {\n", keysym_name, SIMatchText(interp->match), - ModMaskText(keymap, interp->mods, MOD_REAL)); + ModMaskText(keymap, interp->mods)); if (interp->virtual_mod != XKB_MOD_INVALID) write_buf(buf, "\t\t\tvirtualModifier= %s;\n", - ModIndexText(keymap, interp->virtual_mod, MOD_VIRT)); + ModIndexText(keymap, interp->virtual_mod)); if (interp->match & MATCH_LEVEL_ONE_ONLY) write_buf(buf, "\t\t\tuseModMapMods=level1;\n"); @@ -668,7 +668,7 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf) if (key->vmodmap && (key->explicit & EXPLICIT_VMODMAP)) write_buf(buf, "\n\t\t\tvirtualMods= %s,", - ModMaskText(keymap, key->vmodmap, MOD_VIRT)); + ModMaskText(keymap, key->vmodmap)); switch (key->out_of_range_group_action) { case RANGE_SATURATE: @@ -232,31 +232,26 @@ GetBuffer(size_t size) } const char * -ModMaskText(const struct xkb_keymap *keymap, xkb_mod_mask_t mask, - enum mod_type type) +ModMaskText(const struct xkb_keymap *keymap, xkb_mod_mask_t mask) { xkb_mod_index_t i; - xkb_mod_mask_t rmask, vmask; size_t len; ssize_t rem; char *str; char buf[BUFFER_SIZE]; const struct xkb_mod *mod; - rmask = (type & MOD_REAL ? mask : 0) & 0xff; - vmask = (type & MOD_VIRT ? mask : 0) & (~0xff); - - if (rmask == 0 && vmask == 0) + if (mask == 0) return "none"; - if (rmask == 0xff && vmask == 0) + if (mask == 0xff) return "all"; str = buf; buf[0] = '\0'; rem = BUFFER_SIZE; darray_enumerate(i, mod, keymap->mods) { - if (!(mod->type & type) || !(mask & (1 << i))) + if (!(mask & (1 << i))) continue; len = snprintf(str, rem, "%s%s", @@ -279,14 +274,12 @@ ModMaskText(const struct xkb_keymap *keymap, xkb_mod_mask_t mask, } const char * -ModIndexText(const struct xkb_keymap *keymap, xkb_mod_index_t ndx, - enum mod_type type) +ModIndexText(const struct xkb_keymap *keymap, xkb_mod_index_t ndx) { if (ndx == XKB_MOD_INVALID) return "none"; - if (ndx >= darray_size(keymap->mods) || - !(darray_item(keymap->mods, ndx).type & type)) + if (ndx >= darray_size(keymap->mods)) return NULL; return xkb_atom_text(keymap->ctx, darray_item(keymap->mods, ndx).name); @@ -48,12 +48,10 @@ extern const LookupEntry actionTypeNames[]; extern const LookupEntry symInterpretMatchMaskNames[]; const char * -ModMaskText(const struct xkb_keymap *keymap, xkb_mod_mask_t mask, - enum mod_type type); +ModMaskText(const struct xkb_keymap *keymap, xkb_mod_mask_t mask); const char * -ModIndexText(const struct xkb_keymap *keymap, xkb_mod_index_t ndx, - enum mod_type type); +ModIndexText(const struct xkb_keymap *keymap, xkb_mod_index_t ndx); xkb_mod_index_t ModNameToIndex(const struct xkb_keymap *keymap, xkb_atom_t name, diff --git a/src/xkbcomp/compat.c b/src/xkbcomp/compat.c index 522389b..5678074 100644 --- a/src/xkbcomp/compat.c +++ b/src/xkbcomp/compat.c @@ -210,7 +210,7 @@ siText(SymInterpInfo *si, CompatInfo *info) snprintf(buf, sizeof(buf), "%s+%s(%s)", KeysymText(si->interp.sym), SIMatchText(si->interp.match), - ModMaskText(info->keymap, si->interp.mods, MOD_REAL)); + ModMaskText(info->keymap, si->interp.mods)); return buf; } diff --git a/src/xkbcomp/keymap.c b/src/xkbcomp/keymap.c index 81e584e..f670a08 100644 --- a/src/xkbcomp/keymap.c +++ b/src/xkbcomp/keymap.c @@ -39,7 +39,7 @@ ComputeEffectiveMask(struct xkb_keymap *keymap, struct xkb_mods *mods) mods->mask = mods->mods & 0xff; darray_enumerate(i, mod, keymap->mods) - if (mod->type == MOD_VIRT && mods->mods & (1 << i)) + if (mods->mods & (1 << i)) mods->mask |= mod->mapping; } @@ -198,7 +198,7 @@ UpdateDerivedKeymapFields(struct xkb_keymap *keymap) /* Update keymap->mods, the virtual -> real mod mapping. */ xkb_foreach_key(key, keymap) darray_enumerate(i, mod, keymap->mods) - if (mod->type == MOD_VIRT && key->vmodmap & (1 << i)) + if (key->vmodmap & (1 << i)) mod->mapping |= key->modmap; /* Now update the level masks for all the types to reflect the vmods. */ diff --git a/src/xkbcomp/symbols.c b/src/xkbcomp/symbols.c index 5c5e6c7..ee4c8c1 100644 --- a/src/xkbcomp/symbols.c +++ b/src/xkbcomp/symbols.c @@ -463,8 +463,8 @@ AddModMapEntry(SymbolsInfo *info, ModMapEntry *new) "%s added to symbol map for multiple modifiers; " "Using %s, ignoring %s.\n", KeysymText(new->u.keySym), - ModIndexText(info->keymap, use, MOD_REAL), - ModIndexText(info->keymap, ignore, MOD_REAL)); + ModIndexText(info->keymap, use), + ModIndexText(info->keymap, ignore)); mm->modifier = use; } return true; @@ -485,8 +485,8 @@ AddModMapEntry(SymbolsInfo *info, ModMapEntry *new) "Key %s added to map for multiple modifiers; " "Using %s, ignoring %s.\n", KeyNameText(info->keymap->ctx, new->u.keyName), - ModIndexText(info->keymap, use, MOD_REAL), - ModIndexText(info->keymap, ignore, MOD_REAL)); + ModIndexText(info->keymap, use), + ModIndexText(info->keymap, ignore)); mm->modifier = use; } return true; @@ -1238,7 +1238,7 @@ HandleModMapDef(SymbolsInfo *info, ModMapDef *def) log_err(info->keymap->ctx, "Modmap entries may contain only key names or keysyms; " "Illegal definition for %s modifier ignored\n", - ModIndexText(info->keymap, tmp.modifier, MOD_REAL)); + ModIndexText(info->keymap, tmp.modifier)); continue; } @@ -1573,7 +1573,7 @@ CopyModMapDef(SymbolsInfo *info, ModMapEntry *entry) "Key %s not found in keycodes; " "Modifier map entry for %s not updated\n", KeyNameText(keymap->ctx, entry->u.keyName), - ModIndexText(info->keymap, entry->modifier, MOD_REAL)); + ModIndexText(info->keymap, entry->modifier)); return false; } } @@ -1584,7 +1584,7 @@ CopyModMapDef(SymbolsInfo *info, ModMapEntry *entry) "Key \"%s\" not found in symbol map; " "Modifier map entry for %s not updated\n", KeysymText(entry->u.keySym), - ModIndexText(info->keymap, entry->modifier, MOD_REAL)); + ModIndexText(info->keymap, entry->modifier)); return false; } } diff --git a/src/xkbcomp/types.c b/src/xkbcomp/types.c index 39a730a..ebfc99d 100644 --- a/src/xkbcomp/types.c +++ b/src/xkbcomp/types.c @@ -168,7 +168,7 @@ typedef struct { static inline const char * MapEntryTxt(KeyTypesInfo *info, struct xkb_kt_map_entry *entry) { - return ModMaskText(info->keymap, entry->mods.mods, MOD_BOTH); + return ModMaskText(info->keymap, entry->mods.mods); } static inline const char * @@ -180,7 +180,7 @@ TypeTxt(KeyTypesInfo *info, KeyTypeInfo *type) static inline const char * TypeMaskTxt(KeyTypesInfo *info, KeyTypeInfo *type) { - return ModMaskText(info->keymap, type->mods, MOD_BOTH); + return ModMaskText(info->keymap, type->mods); } static inline bool @@ -377,7 +377,7 @@ SetModifiers(KeyTypesInfo *info, KeyTypeInfo *type, ExprDef *arrayNdx, "Using %s, ignoring %s\n", xkb_atom_text(info->keymap->ctx, type->name), TypeMaskTxt(info, type), - ModMaskText(info->keymap, mods, MOD_BOTH)); + ModMaskText(info->keymap, mods)); return false; } @@ -456,8 +456,7 @@ SetMapEntry(KeyTypesInfo *info, KeyTypeInfo *type, ExprDef *arrayNdx, "Map entry for unused modifiers in %s; " "Using %s instead of %s\n", TypeTxt(info, type), - ModMaskText(info->keymap, entry.mods.mods & type->mods, - MOD_BOTH), + ModMaskText(info->keymap, entry.mods.mods & type->mods), MapEntryTxt(info, &entry)); entry.mods.mods &= type->mods; } @@ -498,7 +497,7 @@ AddPreserve(KeyTypesInfo *info, KeyTypeInfo *type, log_vrb(info->keymap->ctx, 10, "Identical definitions for preserve[%s] in %s; " "Ignored\n", - ModMaskText(info->keymap, mods, MOD_BOTH), + ModMaskText(info->keymap, mods), TypeTxt(info, type)); return true; } @@ -507,10 +506,10 @@ AddPreserve(KeyTypesInfo *info, KeyTypeInfo *type, log_vrb(info->keymap->ctx, 1, "Multiple definitions for preserve[%s] in %s; " "Using %s, ignoring %s\n", - ModMaskText(info->keymap, mods, MOD_BOTH), + ModMaskText(info->keymap, mods), TypeTxt(info, type), - ModMaskText(info->keymap, preserve_mods, MOD_BOTH), - ModMaskText(info->keymap, entry->preserve.mods, MOD_BOTH)); + ModMaskText(info->keymap, preserve_mods), + ModMaskText(info->keymap, entry->preserve.mods)); entry->preserve.mods = preserve_mods; return true; @@ -544,9 +543,9 @@ SetPreserve(KeyTypesInfo *info, KeyTypeInfo *type, ExprDef *arrayNdx, if (mods & ~type->mods) { const char *before, *after; - before = ModMaskText(info->keymap, mods, MOD_BOTH); + before = ModMaskText(info->keymap, mods); mods &= type->mods; - after = ModMaskText(info->keymap, mods, MOD_BOTH); + after = ModMaskText(info->keymap, mods); log_vrb(info->keymap->ctx, 1, "Preserve for modifiers not used by the %s type; " @@ -558,7 +557,7 @@ SetPreserve(KeyTypesInfo *info, KeyTypeInfo *type, ExprDef *arrayNdx, log_err(info->keymap->ctx, "Preserve value in a key type is not a modifier mask; " "Ignoring preserve[%s] in type %s\n", - ModMaskText(info->keymap, mods, MOD_BOTH), + ModMaskText(info->keymap, mods), TypeTxt(info, type)); return false; } @@ -566,14 +565,14 @@ SetPreserve(KeyTypesInfo *info, KeyTypeInfo *type, ExprDef *arrayNdx, if (preserve_mods & ~mods) { const char *before, *after; - before = ModMaskText(info->keymap, preserve_mods, MOD_BOTH); + before = ModMaskText(info->keymap, preserve_mods); preserve_mods &= mods; - after = ModMaskText(info->keymap, preserve_mods, MOD_BOTH); + after = ModMaskText(info->keymap, preserve_mods); log_vrb(info->keymap->ctx, 1, "Illegal value for preserve[%s] in type %s; " "Converted %s to %s\n", - ModMaskText(info->keymap, mods, MOD_BOTH), + ModMaskText(info->keymap, mods), TypeTxt(info, type), before, after); } |