Lines Matching +full:multi +full:- +full:led
28 #include <dix-config.h>
62 if (xkb->names != NULL) in WriteXKBVModDecl()
63 vmodNames = xkb->names->vmods; in WriteXKBVModDecl()
75 (xkb->server) && (xkb->server->vmods[i] != XkbNoModifierMask)) { in WriteXKBVModDecl()
78 XkbModMaskText(xkb->server->vmods[i], XkbXKBFile)); in WriteXKBVModDecl()
82 XkbModMaskText(xkb->server->vmods[i], XkbXKBFile)); in WriteXKBVModDecl()
114 if ((!xkb) || (!xkb->names) || (!xkb->names->keys)) { in XkbWriteXKBKeycodes()
118 kcName = xkb->names->keycodes; in XkbWriteXKBKeycodes()
124 fprintf(file, " minimum = %d;\n", xkb->min_key_code); in XkbWriteXKBKeycodes()
125 fprintf(file, " maximum = %d;\n", xkb->max_key_code); in XkbWriteXKBKeycodes()
126 for (i = xkb->min_key_code; i <= xkb->max_key_code; i++) { in XkbWriteXKBKeycodes()
127 if (xkb->names->keys[i].name[0] != '\0') { in XkbWriteXKBKeycodes()
128 if (XkbFindKeycodeByName(xkb, xkb->names->keys[i].name, TRUE) != i) in XkbWriteXKBKeycodes()
133 XkbKeyNameText(xkb->names->keys[i].name, XkbXKBFile), i); in XkbWriteXKBKeycodes()
136 if (xkb->indicators != NULL) { in XkbWriteXKBKeycodes()
140 if (xkb->indicators->phys_indicators & (1 << i)) in XkbWriteXKBKeycodes()
144 if (xkb->names->indicators[i] != None) { in XkbWriteXKBKeycodes()
146 XkbAtomText(xkb->names->indicators[i], XkbXKBFile)); in XkbWriteXKBKeycodes()
150 if (xkb->names->key_aliases != NULL) { in XkbWriteXKBKeycodes()
153 pAl = xkb->names->key_aliases; in XkbWriteXKBKeycodes()
154 for (i = 0; i < xkb->names->num_key_aliases; i++, pAl++) { in XkbWriteXKBKeycodes()
156 XkbKeyNameText(pAl->alias, XkbXKBFile), in XkbWriteXKBKeycodes()
157 XkbKeyNameText(pAl->real, XkbXKBFile)); in XkbWriteXKBKeycodes()
176 if ((!xkb) || (!xkb->map) || (!xkb->map->types)) { in XkbWriteXKBKeyTypes()
180 if (xkb->map->num_types < XkbNumRequiredTypes) { in XkbWriteXKBKeyTypes()
184 if ((xkb->names == NULL) || (xkb->names->types == None)) in XkbWriteXKBKeyTypes()
188 XkbAtomText(xkb->names->types, XkbXKBFile)); in XkbWriteXKBKeyTypes()
192 type = xkb->map->types; in XkbWriteXKBKeyTypes()
193 for (i = 0; i < xkb->map->num_types; i++, type++) { in XkbWriteXKBKeyTypes()
195 XkbAtomText(type->name, XkbXKBFile)); in XkbWriteXKBKeyTypes()
197 XkbVModMaskText(xkb, type->mods.real_mods, type->mods.vmods, in XkbWriteXKBKeyTypes()
199 entry = type->map; in XkbWriteXKBKeyTypes()
200 for (n = 0; n < type->map_count; n++, entry++) { in XkbWriteXKBKeyTypes()
203 str = XkbVModMaskText(xkb, entry->mods.real_mods, entry->mods.vmods, in XkbWriteXKBKeyTypes()
205 fprintf(file, " map[%s]= Level%d;\n", str, entry->level + 1); in XkbWriteXKBKeyTypes()
206 if ((type->preserve) && ((type->preserve[n].real_mods) || in XkbWriteXKBKeyTypes()
207 (type->preserve[n].vmods))) { in XkbWriteXKBKeyTypes()
210 type->preserve[n]. in XkbWriteXKBKeyTypes()
212 type->preserve[n].vmods, in XkbWriteXKBKeyTypes()
216 if (type->level_names != NULL) { in XkbWriteXKBKeyTypes()
217 Atom *name = type->level_names; in XkbWriteXKBKeyTypes()
219 for (n = 0; n < type->num_levels; n++, name++) { in XkbWriteXKBKeyTypes()
238 XkbIndicatorMapPtr led, XkbFileAddOnFunc addOn, void *priv) in WriteXKBIndicatorMap() argument
242 if (led->flags & XkbIM_NoExplicit) in WriteXKBIndicatorMap()
244 if (led->flags & XkbIM_LEDDrivesKB) in WriteXKBIndicatorMap()
246 if (led->which_groups != 0) { in WriteXKBIndicatorMap()
247 if (led->which_groups != XkbIM_UseEffective) { in WriteXKBIndicatorMap()
249 XkbIMWhichStateMaskText(led->which_groups, XkbXKBFile)); in WriteXKBIndicatorMap()
251 fprintf(file, " groups= 0x%02x;\n", led->groups); in WriteXKBIndicatorMap()
253 if (led->which_mods != 0) { in WriteXKBIndicatorMap()
254 if (led->which_mods != XkbIM_UseEffective) { in WriteXKBIndicatorMap()
256 XkbIMWhichStateMaskText(led->which_mods, XkbXKBFile)); in WriteXKBIndicatorMap()
260 led->mods.real_mods, led->mods.vmods, in WriteXKBIndicatorMap()
263 if (led->ctrls != 0) { in WriteXKBIndicatorMap()
265 XkbControlsMaskText(led->ctrls, XkbXKBFile)); in WriteXKBIndicatorMap()
282 if ((!xkb) || (!xkb->compat) || (!xkb->compat->sym_interpret)) { in XkbWriteXKBCompatMap()
286 if ((xkb->names == NULL) || (xkb->names->compat == None)) in XkbWriteXKBCompatMap()
290 XkbAtomText(xkb->names->compat, XkbXKBFile)); in XkbWriteXKBCompatMap()
297 interp = xkb->compat->sym_interpret; in XkbWriteXKBCompatMap()
298 for (i = 0; i < xkb->compat->num_si; i++, interp++) { in XkbWriteXKBCompatMap()
300 ((interp->sym == NoSymbol) ? "Any" : in XkbWriteXKBCompatMap()
301 XkbKeysymText(interp->sym, XkbXKBFile)), in XkbWriteXKBCompatMap()
302 XkbSIMatchText(interp->match, XkbXKBFile), in XkbWriteXKBCompatMap()
303 XkbModMaskText(interp->mods, XkbXKBFile)); in XkbWriteXKBCompatMap()
304 if (interp->virtual_mod != XkbNoModifier) { in XkbWriteXKBCompatMap()
306 XkbVModIndexText(xkb, interp->virtual_mod, XkbXKBFile)); in XkbWriteXKBCompatMap()
308 if (interp->match & XkbSI_LevelOneOnly) in XkbWriteXKBCompatMap()
310 if (interp->flags & XkbSI_LockingKey) in XkbWriteXKBCompatMap()
312 if (interp->flags & XkbSI_AutoRepeat) in XkbWriteXKBCompatMap()
315 WriteXKBAction(file, xkb, &interp->act); in XkbWriteXKBCompatMap()
322 gc = &xkb->compat->groups[i]; in XkbWriteXKBCompatMap()
323 if ((gc->real_mods == 0) && (gc->vmods == 0)) in XkbWriteXKBCompatMap()
326 gc-> in XkbWriteXKBCompatMap()
328 gc->vmods, in XkbWriteXKBCompatMap()
331 if (xkb->indicators) { in XkbWriteXKBCompatMap()
333 XkbIndicatorMapPtr map = &xkb->indicators->maps[i]; in XkbWriteXKBCompatMap()
335 if ((map->flags != 0) || (map->which_groups != 0) || in XkbWriteXKBCompatMap()
336 (map->groups != 0) || (map->which_mods != 0) || in XkbWriteXKBCompatMap()
337 (map->mods.real_mods != 0) || (map->mods.vmods != 0) || in XkbWriteXKBCompatMap()
338 (map->ctrls != 0)) { in XkbWriteXKBCompatMap()
339 WriteXKBIndicatorMap(file, xkb, xkb->names->indicators[i], map, in XkbWriteXKBCompatMap()
366 map = xkb->map; in XkbWriteXKBSymbols()
367 if ((!map) || (!map->syms) || (!map->key_sym_map)) { in XkbWriteXKBSymbols()
371 if ((!xkb->names) || (!xkb->names->keys)) { in XkbWriteXKBSymbols()
375 if ((xkb->names == NULL) || (xkb->names->symbols == None)) in XkbWriteXKBSymbols()
379 XkbAtomText(xkb->names->symbols, XkbXKBFile)); in XkbWriteXKBSymbols()
381 if (xkb->names->groups[i] != None) { in XkbWriteXKBSymbols()
383 XkbAtomText(xkb->names->groups[i], XkbXKBFile)); in XkbWriteXKBSymbols()
389 srv = xkb->server; in XkbWriteXKBSymbols()
390 for (i = xkb->min_key_code; i <= xkb->max_key_code; i++) { in XkbWriteXKBSymbols()
395 if (XkbFindKeycodeByName(xkb, xkb->names->keys[i].name, TRUE) != i) in XkbWriteXKBSymbols()
399 XkbKeyNameText(xkb->names->keys[i].name, XkbXKBFile)); in XkbWriteXKBSymbols()
400 if (srv->explicit) { in XkbWriteXKBSymbols()
401 if (((srv->explicit[i] & XkbExplicitKeyTypesMask) != 0) || in XkbWriteXKBSymbols()
404 Bool multi; in XkbWriteXKBSymbols() local
407 if ((srv->explicit[i] & XkbExplicitKeyTypesMask) == 0) in XkbWriteXKBSymbols()
409 multi = FALSE; in XkbWriteXKBSymbols()
411 for (g = 1; (g < XkbKeyNumGroups(xkb, i)) && (!multi); g++) { in XkbWriteXKBSymbols()
413 multi = TRUE; in XkbWriteXKBSymbols()
415 if (multi) { in XkbWriteXKBSymbols()
418 if (srv->explicit[i] & (1 << g)) { in XkbWriteXKBSymbols()
421 XkbAtomText(map->types[typeNdx].name, in XkbWriteXKBSymbols()
426 g + 1, XkbAtomText(map->types[typeNdx].name, in XkbWriteXKBSymbols()
433 XkbAtomText(map->types[typeNdx].name, XkbXKBFile)); in XkbWriteXKBSymbols()
437 if (((srv->explicit[i] & XkbExplicitAutoRepeatMask) != 0) && in XkbWriteXKBSymbols()
438 (xkb->ctrls != NULL)) { in XkbWriteXKBSymbols()
439 if (xkb->ctrls->per_key_repeat[i / 8] & (1 << (i % 8))) in XkbWriteXKBSymbols()
445 if ((xkb->server != NULL) && (xkb->server->vmodmap != NULL) && in XkbWriteXKBSymbols()
446 (xkb->server->vmodmap[i] != 0)) { in XkbWriteXKBSymbols()
447 if ((srv->explicit[i] & XkbExplicitVModMapMask) != 0) { in XkbWriteXKBSymbols()
450 xkb->server->vmodmap[i], in XkbWriteXKBSymbols()
456 xkb->server->vmodmap[i], in XkbWriteXKBSymbols()
470 if (srv->behaviors != NULL) { in XkbWriteXKBSymbols()
473 type = srv->behaviors[i].type & XkbKB_OpMask; in XkbWriteXKBSymbols()
478 XkbBehaviorText(xkb, &srv->behaviors[i], XkbXKBFile)); in XkbWriteXKBSymbols()
481 if ((srv->explicit == NULL) || showImplicit || in XkbWriteXKBSymbols()
482 ((srv->explicit[i] & XkbExplicitInterpretMask) != 0)) in XkbWriteXKBSymbols()
534 if (map && map->modmap) { in XkbWriteXKBSymbols()
535 for (i = xkb->min_key_code; i <= xkb->max_key_code; i++) { in XkbWriteXKBSymbols()
536 if (map->modmap[i] != 0) { in XkbWriteXKBSymbols()
540 if (map->modmap[i] & bit) { in XkbWriteXKBSymbols()
543 memcpy(buf, xkb->names->keys[i].name, 4); in XkbWriteXKBSymbols()
570 if (outline->corner_radius != lastRadius) { in WriteXKBOutline()
572 XkbGeomFPText(outline->corner_radius, XkbMessage)); in WriteXKBOutline()
578 if (outline == shape->approx) in WriteXKBOutline()
580 else if (outline == shape->primary) in WriteXKBOutline()
584 for (pt = outline->points, i = 0; i < outline->num_points; i++, pt++) { in WriteXKBOutline()
591 fprintf(file, "[ %3s, %3s ]", XkbGeomFPText(pt->x, XkbXKBFile), in WriteXKBOutline()
592 XkbGeomFPText(pt->y, XkbXKBFile)); in WriteXKBOutline()
608 XkbDoodadTypeText(doodad->any.type, XkbMessage), in WriteXKBDoodad()
609 XkbAtomText(doodad->any.name, XkbMessage)); in WriteXKBDoodad()
611 XkbGeomFPText(doodad->any.top, XkbXKBFile)); in WriteXKBDoodad()
613 XkbGeomFPText(doodad->any.left, XkbXKBFile)); in WriteXKBDoodad()
614 fprintf(file, "%s priority= %d;\n", i_str, doodad->any.priority); in WriteXKBDoodad()
615 switch (doodad->any.type) { in WriteXKBDoodad()
618 if (doodad->shape.angle != 0) { in WriteXKBDoodad()
620 XkbGeomFPText(doodad->shape.angle, XkbXKBFile)); in WriteXKBDoodad()
622 if (doodad->shape.color_ndx != 0) { in WriteXKBDoodad()
624 XkbShapeDoodadColor(geom, &doodad->shape)->spec); in WriteXKBDoodad()
626 shape = XkbShapeDoodadShape(geom, &doodad->shape); in WriteXKBDoodad()
628 XkbAtomText(shape->name, XkbXKBFile)); in WriteXKBDoodad()
631 if (doodad->text.angle != 0) { in WriteXKBDoodad()
633 XkbGeomFPText(doodad->text.angle, XkbXKBFile)); in WriteXKBDoodad()
635 if (doodad->text.width != 0) { in WriteXKBDoodad()
637 XkbGeomFPText(doodad->text.width, XkbXKBFile)); in WriteXKBDoodad()
640 if (doodad->text.height != 0) { in WriteXKBDoodad()
642 XkbGeomFPText(doodad->text.height, XkbXKBFile)); in WriteXKBDoodad()
645 if (doodad->text.color_ndx != 0) { in WriteXKBDoodad()
646 color = XkbTextDoodadColor(geom, &doodad->text); in WriteXKBDoodad()
648 XkbStringText(color->spec, XkbXKBFile)); in WriteXKBDoodad()
651 XkbStringText(doodad->text.font, XkbXKBFile)); in WriteXKBDoodad()
653 XkbStringText(doodad->text.text, XkbXKBFile)); in WriteXKBDoodad()
656 shape = XkbIndicatorDoodadShape(geom, &doodad->indicator); in WriteXKBDoodad()
657 color = XkbIndicatorDoodadOnColor(geom, &doodad->indicator); in WriteXKBDoodad()
659 XkbStringText(color->spec, XkbXKBFile)); in WriteXKBDoodad()
660 color = XkbIndicatorDoodadOffColor(geom, &doodad->indicator); in WriteXKBDoodad()
662 XkbStringText(color->spec, XkbXKBFile)); in WriteXKBDoodad()
664 XkbAtomText(shape->name, XkbXKBFile)); in WriteXKBDoodad()
668 XkbStringText(doodad->logo.logo_name, XkbXKBFile)); in WriteXKBDoodad()
669 if (doodad->shape.angle != 0) { in WriteXKBDoodad()
671 XkbGeomFPText(doodad->logo.angle, XkbXKBFile)); in WriteXKBDoodad()
673 if (doodad->shape.color_ndx != 0) { in WriteXKBDoodad()
675 XkbLogoDoodadColor(geom, &doodad->logo)->spec); in WriteXKBDoodad()
677 shape = XkbLogoDoodadShape(geom, &doodad->logo); in WriteXKBDoodad()
679 XkbAtomText(shape->name, XkbXKBFile)); in WriteXKBDoodad()
696 if (ol->name != None) { in WriteXKBOverlay()
698 XkbAtomText(ol->name, XkbMessage)); in WriteXKBOverlay()
702 for (nOut = r = 0, row = ol->rows; r < ol->num_rows; r++, row++) { in WriteXKBOverlay()
703 for (k = 0, key = row->keys; k < row->num_keys; k++, key++) { in WriteXKBOverlay()
706 over = XkbKeyNameText(key->over.name, XkbXKBFile); in WriteXKBOverlay()
707 under = XkbKeyNameText(key->under.name, XkbXKBFile); in WriteXKBOverlay()
728 fprintf(file, " section \"%s\" {\n", XkbAtomText(s->name, XkbXKBFile)); in WriteXKBSection()
729 if (s->rows && (s->rows->num_keys > 0)) { in WriteXKBSection()
730 dfltKeyColor = s->rows->keys[0].color_ndx; in WriteXKBSection()
732 XkbStringText(geom->colors[dfltKeyColor].spec, XkbXKBFile)); in WriteXKBSection()
734 fprintf(file, " priority= %d;\n", s->priority); in WriteXKBSection()
736 XkbGeomFPText(s->top, XkbXKBFile)); in WriteXKBSection()
738 XkbGeomFPText(s->left, XkbXKBFile)); in WriteXKBSection()
740 XkbGeomFPText(s->width, XkbXKBFile)); in WriteXKBSection()
742 XkbGeomFPText(s->height, XkbXKBFile)); in WriteXKBSection()
743 if (s->angle != 0) { in WriteXKBSection()
745 XkbGeomFPText(s->angle, XkbXKBFile)); in WriteXKBSection()
747 for (i = 0, row = s->rows; i < s->num_rows; i++, row++) { in WriteXKBSection()
750 XkbGeomFPText(row->top, XkbXKBFile)); in WriteXKBSection()
752 XkbGeomFPText(row->left, XkbXKBFile)); in WriteXKBSection()
753 if (row->vertical) in WriteXKBSection()
755 if (row->num_keys > 0) { in WriteXKBSection()
762 for (k = 0, key = row->keys; k < row->num_keys; k++, key++) { in WriteXKBSection()
765 if (key->color_ndx != dfltKeyColor) in WriteXKBSection()
781 XkbKeyNameText(key->name.name, XkbXKBFile), in WriteXKBSection()
782 XkbAtomText(shape->name, XkbXKBFile), in WriteXKBSection()
783 XkbGeomFPText(key->gap, XkbXKBFile)); in WriteXKBSection()
784 if (key->color_ndx != dfltKeyColor) { in WriteXKBSection()
786 XkbKeyColor(geom, key)->spec); in WriteXKBSection()
795 if (s->doodads != NULL) { in WriteXKBSection()
798 for (i = 0, doodad = s->doodads; i < s->num_doodads; i++, doodad++) { in WriteXKBSection()
802 if (s->overlays != NULL) { in WriteXKBSection()
805 for (i = 0, ol = s->overlays; i < s->num_overlays; i++, ol++) { in WriteXKBSection()
810 XkbAtomText(s->name, XkbXKBFile)); in WriteXKBSection()
823 if ((!xkb) || (!xkb->geom)) { in XkbWriteXKBGeometry()
827 geom = xkb->geom; in XkbWriteXKBGeometry()
828 if (geom->name == None) in XkbWriteXKBGeometry()
832 XkbAtomText(geom->name, XkbXKBFile)); in XkbWriteXKBGeometry()
834 XkbGeomFPText(geom->width_mm, XkbXKBFile)); in XkbWriteXKBGeometry()
836 XkbGeomFPText(geom->height_mm, XkbXKBFile)); in XkbWriteXKBGeometry()
838 if (geom->key_aliases != NULL) { in XkbWriteXKBGeometry()
841 pAl = geom->key_aliases; in XkbWriteXKBGeometry()
842 for (i = 0; i < geom->num_key_aliases; i++, pAl++) { in XkbWriteXKBGeometry()
844 XkbKeyNameText(pAl->alias, XkbXKBFile), in XkbWriteXKBGeometry()
845 XkbKeyNameText(pAl->real, XkbXKBFile)); in XkbWriteXKBGeometry()
850 if (geom->base_color != NULL) in XkbWriteXKBGeometry()
852 XkbStringText(geom->base_color->spec, XkbXKBFile)); in XkbWriteXKBGeometry()
853 if (geom->label_color != NULL) in XkbWriteXKBGeometry()
855 XkbStringText(geom->label_color->spec, XkbXKBFile)); in XkbWriteXKBGeometry()
856 if (geom->label_font != NULL) in XkbWriteXKBGeometry()
858 XkbStringText(geom->label_font, XkbXKBFile)); in XkbWriteXKBGeometry()
859 if ((geom->num_colors > 0) && (showImplicit)) { in XkbWriteXKBGeometry()
862 for (color = geom->colors, i = 0; i < geom->num_colors; i++, color++) { in XkbWriteXKBGeometry()
864 XkbStringText(color->spec, XkbXKBFile)); in XkbWriteXKBGeometry()
868 if (geom->num_properties > 0) { in XkbWriteXKBGeometry()
871 for (prop = geom->properties, i = 0; i < geom->num_properties; in XkbWriteXKBGeometry()
873 fprintf(file, " %s= \"%s\";\n", prop->name, in XkbWriteXKBGeometry()
874 XkbStringText(prop->value, XkbXKBFile)); in XkbWriteXKBGeometry()
878 if (geom->num_shapes > 0) { in XkbWriteXKBGeometry()
883 for (shape = geom->shapes, i = 0; i < geom->num_shapes; i++, shape++) { in XkbWriteXKBGeometry()
886 XkbAtomText(shape->name, XkbXKBFile)); in XkbWriteXKBGeometry()
887 outline = shape->outlines; in XkbWriteXKBGeometry()
888 if (shape->num_outlines > 1) { in XkbWriteXKBGeometry()
889 for (n = 0; n < shape->num_outlines; n++, outline++) { in XkbWriteXKBGeometry()
895 lastR = outline->corner_radius; in XkbWriteXKBGeometry()
905 if (geom->num_sections > 0) { in XkbWriteXKBGeometry()
908 for (section = geom->sections, i = 0; i < geom->num_sections; in XkbWriteXKBGeometry()
913 if (geom->num_doodads > 0) { in XkbWriteXKBGeometry()
916 for (i = 0, doodad = geom->doodads; i < geom->num_doodads; in XkbWriteXKBGeometry()