Lines Matching defs:mdefs

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