Lines Matching refs:mdefs

499 MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)  in MakeMultiDefs()  argument
502 memset((char *) mdefs, 0, sizeof(XkbRF_MultiDefsRec)); in MakeMultiDefs()
503 mdefs->model = defs->model; in MakeMultiDefs()
507 mdefs->options = options; in MakeMultiDefs()
511 mdefs->layout[0] = defs->layout; in MakeMultiDefs()
522 mdefs->layout[1] = layout; in MakeMultiDefs()
527 mdefs->layout[i] = p; in MakeMultiDefs()
540 mdefs->variant[0] = defs->variant; in MakeMultiDefs()
551 mdefs->variant[1] = variant; in MakeMultiDefs()
556 mdefs->variant[i] = p; in MakeMultiDefs()
627 XkbRF_MultiDefsPtr mdefs, in XkbRF_CheckApplyRule() argument
633 if (mdefs->model == NULL) in XkbRF_CheckApplyRule()
640 if (!CheckGroup(rules, rule->model, mdefs->model)) in XkbRF_CheckApplyRule()
644 if (strcmp(rule->model, mdefs->model) != 0) in XkbRF_CheckApplyRule()
650 if (mdefs->options == NULL) in XkbRF_CheckApplyRule()
652 if ((!MatchOneOf(rule->option, mdefs->options))) in XkbRF_CheckApplyRule()
657 if (mdefs->layout[rule->layout_num] == NULL || in XkbRF_CheckApplyRule()
658 *mdefs->layout[rule->layout_num] == '\0') in XkbRF_CheckApplyRule()
666 mdefs->layout[rule->layout_num])) in XkbRF_CheckApplyRule()
670 if (strcmp(rule->layout, mdefs->layout[rule->layout_num]) != 0) in XkbRF_CheckApplyRule()
676 if (mdefs->variant[rule->variant_num] == NULL || in XkbRF_CheckApplyRule()
677 *mdefs->variant[rule->variant_num] == '\0') in XkbRF_CheckApplyRule()
685 mdefs->variant[rule->variant_num])) in XkbRF_CheckApplyRule()
690 mdefs->variant[rule->variant_num]) != 0) in XkbRF_CheckApplyRule()
730 XkbRF_MultiDefsPtr mdefs, in XkbRF_CheckApplyRules() argument
740 skip = XkbRF_CheckApplyRule(rule, mdefs, names, rules); in XkbRF_CheckApplyRules()
753 XkbRF_SubstituteVars(char *name, XkbRF_MultiDefsPtr mdefs) in XkbRF_SubstituteVars() argument
781 if ((*var == 'l') && mdefs->layout[ndx] && *mdefs->layout[ndx]) in XkbRF_SubstituteVars()
782 len += strlen(mdefs->layout[ndx]) + extra_len; in XkbRF_SubstituteVars()
783 else if ((*var == 'm') && mdefs->model) in XkbRF_SubstituteVars()
784 len += strlen(mdefs->model) + extra_len; in XkbRF_SubstituteVars()
785 else if ((*var == 'v') && mdefs->variant[ndx] && *mdefs->variant[ndx]) in XkbRF_SubstituteVars()
786 len += strlen(mdefs->variant[ndx]) + extra_len; in XkbRF_SubstituteVars()
817 if ((*var == 'l') && mdefs->layout[ndx] && *mdefs->layout[ndx]) { in XkbRF_SubstituteVars()
820 strcpy(outstr, mdefs->layout[ndx]); in XkbRF_SubstituteVars()
821 outstr += strlen(mdefs->layout[ndx]); in XkbRF_SubstituteVars()
825 else if ((*var == 'm') && (mdefs->model)) { in XkbRF_SubstituteVars()
828 strcpy(outstr, mdefs->model); in XkbRF_SubstituteVars()
829 outstr += strlen(mdefs->model); in XkbRF_SubstituteVars()
833 else if ((*var == 'v') && mdefs->variant[ndx] && in XkbRF_SubstituteVars()
834 *mdefs->variant[ndx]) { in XkbRF_SubstituteVars()
837 strcpy(outstr, mdefs->variant[ndx]); in XkbRF_SubstituteVars()
838 outstr += strlen(mdefs->variant[ndx]); in XkbRF_SubstituteVars()
861 XkbRF_MultiDefsRec mdefs; in XkbRF_GetComponents() local
863 MakeMultiDefs(&mdefs, defs); in XkbRF_GetComponents()
867 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Normal); in XkbRF_GetComponents()
869 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Append); in XkbRF_GetComponents()
871 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Option); in XkbRF_GetComponents()
875 names->keycodes = XkbRF_SubstituteVars(names->keycodes, &mdefs); in XkbRF_GetComponents()
877 names->symbols = XkbRF_SubstituteVars(names->symbols, &mdefs); in XkbRF_GetComponents()
879 names->types = XkbRF_SubstituteVars(names->types, &mdefs); in XkbRF_GetComponents()
881 names->compat = XkbRF_SubstituteVars(names->compat, &mdefs); in XkbRF_GetComponents()
883 names->geometry = XkbRF_SubstituteVars(names->geometry, &mdefs); in XkbRF_GetComponents()
885 FreeMultiDefs(&mdefs); in XkbRF_GetComponents()