Lines Matching refs:xkb
162 ReadXkmVirtualMods(FILE * file, XkbDescPtr xkb, XkbChangesPtr changes) in ReadXkmVirtualMods() argument
168 if (XkbAllocServerMap(xkb, XkbVirtualModsMask, 0) != Success) { in ReadXkmVirtualMods()
176 xkb->server->vmods[i] = XkmGetCARD8(file, &nRead); in ReadXkmVirtualMods()
184 if (XkbAllocNames(xkb, XkbVirtualModNamesMask, 0, 0) != Success) { in ReadXkmVirtualMods()
193 xkb->names->vmods[i] = XkbInternAtom(name, FALSE); in ReadXkmVirtualMods()
205 ReadXkmKeycodes(FILE * file, XkbDescPtr xkb, XkbChangesPtr changes) in ReadXkmKeycodes() argument
217 if (xkb->min_key_code == 0) { in ReadXkmKeycodes()
218 xkb->min_key_code = minKC; in ReadXkmKeycodes()
219 xkb->max_key_code = maxKC; in ReadXkmKeycodes()
222 if (minKC < xkb->min_key_code) in ReadXkmKeycodes()
223 xkb->min_key_code = minKC; in ReadXkmKeycodes()
224 if (maxKC > xkb->max_key_code) { in ReadXkmKeycodes()
233 if (XkbAllocNames(xkb, WANTED, 0, nAl) != Success) { in ReadXkmKeycodes()
238 xkb->names->keycodes = XkbInternAtom(name, FALSE); in ReadXkmKeycodes()
241 for (pN = &xkb->names->keys[minKC], i = minKC; i <= (int) maxKC; i++, pN++) { in ReadXkmKeycodes()
251 for (pAl = xkb->names->key_aliases, i = 0; i < nAl; i++, pAl++) { in ReadXkmKeycodes()
272 ReadXkmKeyTypes(FILE * file, XkbDescPtr xkb, XkbChangesPtr changes) in ReadXkmKeyTypes() argument
290 if (XkbAllocNames(xkb, XkbTypesNameMask, 0, 0) != Success) { in ReadXkmKeyTypes()
294 xkb->names->types = XkbInternAtom(buf, FALSE); in ReadXkmKeyTypes()
300 if (XkbAllocClientMap(xkb, XkbKeyTypesMask, num_types) != Success) { in ReadXkmKeyTypes()
304 xkb->map->num_types = num_types; in ReadXkmKeyTypes()
309 type = xkb->map->types; in ReadXkmKeyTypes()
406 changes->map.num_types = xkb->map->num_types; in ReadXkmKeyTypes()
414 ReadXkmCompatMap(FILE * file, XkbDescPtr xkb, XkbChangesPtr changes) in ReadXkmCompatMap() argument
432 if (XkbAllocNames(xkb, XkbCompatNameMask, 0, 0) != Success) { in ReadXkmCompatMap()
436 xkb->names->compat = XkbInternAtom(name, FALSE); in ReadXkmCompatMap()
441 if (XkbAllocCompatMap(xkb, XkbAllCompatMask, num_si) != Success) in ReadXkmCompatMap()
443 compat = xkb->compat; in ReadXkmCompatMap()
589 xkb->compat->groups[i].real_mods = md.realMods; in ReadXkmCompatMap()
590 xkb->compat->groups[i].vmods = md.virtualMods; in ReadXkmCompatMap()
594 if (XkbVirtualModsToReal(xkb, md.virtualMods, &mask)) in ReadXkmCompatMap()
595 xkb->compat->groups[i].mask = md.realMods | mask; in ReadXkmCompatMap()
598 xkb->compat->groups[i].mask = md.realMods; in ReadXkmCompatMap()
608 ReadXkmIndicators(FILE * file, XkbDescPtr xkb, XkbChangesPtr changes) in ReadXkmIndicators() argument
616 if ((xkb->indicators == NULL) && (XkbAllocIndicatorMaps(xkb) != Success)) { in ReadXkmIndicators()
620 if (XkbAllocNames(xkb, XkbIndicatorNamesMask, 0, 0) != Success) { in ReadXkmIndicators()
626 xkb->indicators->phys_indicators = XkmGetCARD32(file, &nRead); in ReadXkmIndicators()
645 if (xkb->names) { in ReadXkmIndicators()
646 xkb->names->indicators[wire.indicator - 1] = name; in ReadXkmIndicators()
651 map = &xkb->indicators->maps[wire.indicator - 1]; in ReadXkmIndicators()
665 FindTypeForKey(XkbDescPtr xkb, Atom name, unsigned width, KeySym * syms) in FindTypeForKey() argument
667 if ((!xkb) || (!xkb->map)) in FindTypeForKey()
672 for (i = 0; i < xkb->map->num_types; i++) { in FindTypeForKey()
673 if (xkb->map->types[i].name == name) { in FindTypeForKey()
674 if (xkb->map->types[i].num_levels != width) in FindTypeForKey()
676 return &xkb->map->types[i]; in FindTypeForKey()
681 return &xkb->map->types[XkbOneLevelIndex]; in FindTypeForKey()
684 return &xkb->map->types[XkbAlphabeticIndex]; in FindTypeForKey()
686 return &xkb->map->types[XkbKeypadIndex]; in FindTypeForKey()
688 return &xkb->map->types[XkbTwoLevelIndex]; in FindTypeForKey()
692 ReadXkmSymbols(FILE * file, XkbDescPtr xkb) in ReadXkmSymbols() argument
707 if (XkbAllocNames(xkb, in ReadXkmSymbols()
713 if ((buf[0] != '\0') && (xkb->names)) { in ReadXkmSymbols()
717 xkb->names->symbols = name; in ReadXkmSymbols()
718 xkb->names->phys_symbols = name; in ReadXkmSymbols()
726 if (!xkb->names) in ReadXkmSymbols()
733 xkb->names->groups[i] = name; in ReadXkmSymbols()
736 xkb->names->groups[i] = None; in ReadXkmSymbols()
739 if (XkbAllocServerMap(xkb, XkbAllServerInfoMask, 0) != Success) { in ReadXkmSymbols()
743 if (XkbAllocClientMap(xkb, XkbAllClientInfoMask, 0) != Success) { in ReadXkmSymbols()
747 if (XkbAllocControls(xkb, XkbAllControlsMask) != Success) { in ReadXkmSymbols()
751 if ((xkb->map == NULL) || (xkb->server == NULL)) in ReadXkmSymbols()
753 if (xkb->min_key_code < 8) in ReadXkmSymbols()
754 xkb->min_key_code = minKC; in ReadXkmSymbols()
755 if (xkb->max_key_code < 8) in ReadXkmSymbols()
756 xkb->max_key_code = maxKC; in ReadXkmSymbols()
757 if ((minKC >= 8) && (minKC < xkb->min_key_code)) in ReadXkmSymbols()
758 xkb->min_key_code = minKC; in ReadXkmSymbols()
759 if ((maxKC >= 8) && (maxKC > xkb->max_key_code)) { in ReadXkmSymbols()
781 type[g] = FindTypeForKey(xkb, typeName[g], wireMap.width, NULL); in ReadXkmSymbols()
787 xkb->server->explicit[i] |= (1 << g); in ReadXkmSymbols()
791 xkb->ctrls->per_key_repeat[i / 8] |= (1 << (i % 8)); in ReadXkmSymbols()
792 xkb->server->explicit[i] |= XkbExplicitAutoRepeatMask; in ReadXkmSymbols()
795 xkb->ctrls->per_key_repeat[i / 8] &= ~(1 << (i % 8)); in ReadXkmSymbols()
796 xkb->server->explicit[i] |= XkbExplicitAutoRepeatMask; in ReadXkmSymbols()
798 xkb->map->modmap[i] = wireMap.modifier_map; in ReadXkmSymbols()
803 if (XkbNumGroups(wireMap.num_groups) > xkb->ctrls->num_groups) in ReadXkmSymbols()
804 xkb->ctrls->num_groups = wireMap.num_groups; in ReadXkmSymbols()
806 sym = XkbResizeKeySyms(xkb, i, nSyms); in ReadXkmSymbols()
815 act = XkbResizeKeyActions(xkb, i, nSyms); in ReadXkmSymbols()
820 xkb->server->explicit[i] |= XkbExplicitInterpretMask; in ReadXkmSymbols()
824 if (((xkb->server->explicit[i] & (1 << g)) == 0) || in ReadXkmSymbols()
828 tmpSyms = XkbKeySymsPtr(xkb, i) + (wireMap.width * g); in ReadXkmSymbols()
829 type[g] = FindTypeForKey(xkb, None, wireMap.width, tmpSyms); in ReadXkmSymbols()
831 xkb->map->key_sym_map[i].kt_index[g] = in ReadXkmSymbols()
832 type[g] - (&xkb->map->types[0]); in ReadXkmSymbols()
834 xkb->map->key_sym_map[i].group_info = wireMap.num_groups; in ReadXkmSymbols()
835 xkb->map->key_sym_map[i].width = wireMap.width; in ReadXkmSymbols()
841 xkb->server->behaviors[i].type = b.type; in ReadXkmSymbols()
842 xkb->server->behaviors[i].data = b.data; in ReadXkmSymbols()
843 xkb->server->explicit[i] |= XkbExplicitBehaviorMask; in ReadXkmSymbols()
853 xkb->server->vmodmap[v.key] = v.vmods; in ReadXkmSymbols()
1035 ReadXkmGeometry(FILE * file, XkbDescPtr xkb) in ReadXkmGeometry() argument
1055 if (XkbAllocGeometry(xkb, &sizes) != Success) { in ReadXkmGeometry()
1059 geom = xkb->geom; in ReadXkmGeometry()
1226 XkmReadFile(FILE * file, unsigned need, unsigned want, XkbDescPtr *xkb) in XkmReadFile() argument
1241 if (*xkb == NULL) in XkmReadFile()
1242 *xkb = XkbAllocKeyboard(); in XkmReadFile()
1256 tmp = ReadXkmVirtualMods(file, *xkb, NULL); in XkmReadFile()
1259 tmp = ReadXkmKeyTypes(file, *xkb, NULL); in XkmReadFile()
1262 tmp = ReadXkmCompatMap(file, *xkb, NULL); in XkmReadFile()
1265 tmp = ReadXkmKeycodes(file, *xkb, NULL); in XkmReadFile()
1268 tmp = ReadXkmIndicators(file, *xkb, NULL); in XkmReadFile()
1271 tmp = ReadXkmSymbols(file, *xkb); in XkmReadFile()
1274 tmp = ReadXkmGeometry(file, *xkb); in XkmReadFile()
1285 (*xkb)->defined |= (1 << toc[i].type); in XkmReadFile()