Lines Matching defs:mdefs
546 MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
549 bzero((char *) mdefs, sizeof(XkbRF_MultiDefsRec));
550 mdefs->model = defs->model;
551 mdefs->options = _XkbDupString(defs->options);
552 if (mdefs->options)
553 squeeze_spaces(mdefs->options);
557 mdefs->layout[0] = defs->layout;
564 mdefs->layout[1] = _XkbDupString(defs->layout);
565 if (mdefs->layout[1] == NULL)
567 squeeze_spaces(mdefs->layout[1]);
568 p = mdefs->layout[1];
572 mdefs->layout[i] = p;
585 mdefs->variant[0] = defs->variant;
592 mdefs->variant[1] = _XkbDupString(defs->variant);
593 if (mdefs->variant[1] == NULL)
595 squeeze_spaces(mdefs->variant[1]);
596 p = mdefs->variant[1];
600 mdefs->variant[i] = p;
675 XkbRF_MultiDefsPtr mdefs,
682 if (mdefs->model == NULL)
689 if (!CheckGroup(rules, rule->model, mdefs->model))
693 if (strcmp(rule->model, mdefs->model) != 0)
699 if (mdefs->options == NULL)
701 if ((!MatchOneOf(rule->option, mdefs->options)))
706 if (mdefs->layout[rule->layout_num] == NULL ||
707 *mdefs->layout[rule->layout_num] == '\0')
715 mdefs->layout[rule->layout_num]))
719 if (strcmp(rule->layout, mdefs->layout[rule->layout_num]) != 0)
725 if (mdefs->variant[rule->variant_num] == NULL ||
726 *mdefs->variant[rule->variant_num] == '\0')
734 mdefs->variant[rule->variant_num]))
739 mdefs->variant[rule->variant_num]) != 0)
779 XkbRF_MultiDefsPtr mdefs,
790 skip = XkbRF_CheckApplyRule(rule, mdefs, names, rules);
803 XkbRF_SubstituteVars(char *name, XkbRF_MultiDefsPtr mdefs)
831 if ((*var == 'l') && mdefs->layout[ndx] && *mdefs->layout[ndx])
832 len += strlen(mdefs->layout[ndx]) + extra_len;
833 else if ((*var == 'm') && mdefs->model)
834 len += strlen(mdefs->model) + extra_len;
835 else if ((*var == 'v') && mdefs->variant[ndx] && *mdefs->variant[ndx])
836 len += strlen(mdefs->variant[ndx]) + extra_len;
867 if ((*var == 'l') && mdefs->layout[ndx] && *mdefs->layout[ndx]) {
870 strcpy(outstr, mdefs->layout[ndx]);
871 outstr += strlen(mdefs->layout[ndx]);
875 else if ((*var == 'm') && (mdefs->model)) {
878 strcpy(outstr, mdefs->model);
879 outstr += strlen(mdefs->model);
883 else if ((*var == 'v') && mdefs->variant[ndx] &&
884 *mdefs->variant[ndx]) {
887 strcpy(outstr, mdefs->variant[ndx]);
888 outstr += strlen(mdefs->variant[ndx]);
912 XkbRF_MultiDefsRec mdefs;
914 MakeMultiDefs(&mdefs, defs);
918 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Normal);
920 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Append);
922 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Option);
926 names->keycodes = XkbRF_SubstituteVars(names->keycodes, &mdefs);
928 names->symbols = XkbRF_SubstituteVars(names->symbols, &mdefs);
930 names->types = XkbRF_SubstituteVars(names->types, &mdefs);
932 names->compat = XkbRF_SubstituteVars(names->compat, &mdefs);
934 names->geometry = XkbRF_SubstituteVars(names->geometry, &mdefs);
936 names->keymap = XkbRF_SubstituteVars(names->keymap, &mdefs);
938 FreeMultiDefs(&mdefs);