Lines Matching defs:mdefs
495 MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
498 memset((char *)mdefs, 0, sizeof(XkbRF_MultiDefsRec));
499 mdefs->model = defs->model;
500 mdefs->options = _XkbDupString(defs->options);
501 if (mdefs->options) squeeze_spaces(mdefs->options);
505 mdefs->layout[0] = defs->layout;
509 mdefs->layout[1] = _XkbDupString(defs->layout);
510 if (mdefs->layout[1] == NULL)
512 squeeze_spaces(mdefs->layout[1]);
513 p = mdefs->layout[1];
517 mdefs->layout[i] = p;
529 mdefs->variant[0] = defs->variant;
533 mdefs->variant[1] = _XkbDupString(defs->variant);
534 if (mdefs->variant[1] == NULL)
536 squeeze_spaces(mdefs->variant[1]);
537 p = mdefs->variant[1];
541 mdefs->variant[i] = p;
613 XkbRF_MultiDefsPtr mdefs,
620 if(mdefs->model == NULL)
626 if (!CheckGroup(rules, rule->model, mdefs->model))
629 if (strcmp(rule->model, mdefs->model) != 0)
635 if (mdefs->options == NULL)
637 if ((!MatchOneOf(rule->option,mdefs->options)))
642 if(mdefs->layout[rule->layout_num] == NULL ||
643 *mdefs->layout[rule->layout_num] == '\0')
650 mdefs->layout[rule->layout_num]))
653 if (strcmp(rule->layout, mdefs->layout[rule->layout_num]) != 0)
659 if (mdefs->variant[rule->variant_num] == NULL ||
660 *mdefs->variant[rule->variant_num] == '\0')
667 mdefs->variant[rule->variant_num]))
671 mdefs->variant[rule->variant_num]) != 0)
711 XkbRF_MultiDefsPtr mdefs,
722 skip = XkbRF_CheckApplyRule(rule, mdefs, names, rules);
734 XkbRF_SubstituteVars(char *name, XkbRF_MultiDefsPtr mdefs)
761 if ((*var=='l') && mdefs->layout[ndx] && *mdefs->layout[ndx])
762 len+= strlen(mdefs->layout[ndx])+extra_len;
763 else if ((*var=='m')&&mdefs->model)
764 len+= strlen(mdefs->model)+extra_len;
765 else if ((*var=='v') && mdefs->variant[ndx] && *mdefs->variant[ndx])
766 len+= strlen(mdefs->variant[ndx])+extra_len;
795 if ((*var=='l') && mdefs->layout[ndx] && *mdefs->layout[ndx]) {
797 strcpy(outstr,mdefs->layout[ndx]);
798 outstr+= strlen(mdefs->layout[ndx]);
801 else if ((*var=='m')&&(mdefs->model)) {
803 strcpy(outstr,mdefs->model);
804 outstr+= strlen(mdefs->model);
807 else if ((*var=='v') && mdefs->variant[ndx] && *mdefs->variant[ndx]) {
809 strcpy(outstr,mdefs->variant[ndx]);
810 outstr+= strlen(mdefs->variant[ndx]);
833 XkbRF_MultiDefsRec mdefs;
835 MakeMultiDefs(&mdefs, defs);
839 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Normal);
841 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Append);
843 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Option);
846 names->keycodes= XkbRF_SubstituteVars(names->keycodes, &mdefs);
848 names->symbols= XkbRF_SubstituteVars(names->symbols, &mdefs);
850 names->types= XkbRF_SubstituteVars(names->types, &mdefs);
852 names->compat= XkbRF_SubstituteVars(names->compat, &mdefs);
854 names->geometry= XkbRF_SubstituteVars(names->geometry, &mdefs);
856 FreeMultiDefs(&mdefs);