Lines Matching refs:interp
90 const struct xkb_sym_interpret *interp = &keymap->sym_interprets[i]; in FindInterpForKey() local
95 if ((num_syms > 1 || interp->sym != syms[0]) && in FindInterpForKey()
96 interp->sym != XKB_KEY_NoSymbol) in FindInterpForKey()
99 if (interp->level_one_only && level != 0) in FindInterpForKey()
104 switch (interp->match) { in FindInterpForKey()
106 found = !(interp->mods & mods); in FindInterpForKey()
109 found = (!mods || (interp->mods & mods)); in FindInterpForKey()
112 found = (interp->mods & mods); in FindInterpForKey()
115 found = ((interp->mods & mods) == interp->mods); in FindInterpForKey()
118 found = (interp->mods == mods); in FindInterpForKey()
123 return interp; in FindInterpForKey()
142 const struct xkb_sym_interpret *interp; in ApplyInterpsToKey() local
144 interp = FindInterpForKey(keymap, key, group, level); in ApplyInterpsToKey()
145 if (!interp) in ApplyInterpsToKey()
150 if (!(key->explicit & EXPLICIT_REPEAT) && interp->repeat) in ApplyInterpsToKey()
153 if ((group == 0 && level == 0) || !interp->level_one_only) in ApplyInterpsToKey()
154 if (interp->virtual_mod != XKB_MOD_INVALID) in ApplyInterpsToKey()
155 vmodmap |= (1u << interp->virtual_mod); in ApplyInterpsToKey()
157 if (interp->action.type != ACTION_TYPE_NONE) in ApplyInterpsToKey()
158 key->groups[group].levels[level].action = interp->action; in ApplyInterpsToKey()