Lines Matching refs:xkb
36 _XkbReadKeyTypes(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep)
43 if (xkb->map->num_types >= n)
44 n = xkb->map->num_types;
45 else if (XkbAllocClientMap(xkb, XkbKeyTypesMask, n) != Success)
48 type = &xkb->map->types[rep->firstType];
54 if (ndx >= xkb->map->num_types)
55 xkb->map->num_types = ndx + 1;
140 _XkbReadKeySyms(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep)
144 int size = xkb->max_key_code + 1;
149 map = xkb->map;
224 newSyms = XkbResizeKeySyms(xkb, i + rep->firstKeySym, tmp);
305 _XkbReadKeyBehaviors(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep)
310 int size = xkb->max_key_code + 1;
314 if (xkb->server->behaviors == NULL) {
315 xkb->server->behaviors = _XkbTypedCalloc(size, XkbBehavior);
316 if (xkb->server->behaviors == NULL)
320 bzero(&xkb->server->behaviors[rep->firstKeyBehavior],
330 xkb->server->behaviors[wire->key].type = wire->type;
331 xkb->server->behaviors[wire->key].data = wire->data;
338 _XkbReadVirtualMods(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep)
354 xkb->server->vmods[i] = *data++;
364 XkbDescPtr xkb,
371 int size = xkb->max_key_code + 1;
375 if (xkb->server->explicit == NULL) {
376 xkb->server->explicit = _XkbTypedCalloc(size, unsigned char);
378 if (xkb->server->explicit == NULL)
382 bzero(&xkb->server->explicit[rep->firstKeyExplicit],
390 if (wire[0] > xkb->max_key_code || wire[1] > xkb->max_key_code)
392 xkb->server->explicit[wire[0]] = wire[1];
399 _XkbReadModifierMap(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep)
406 (xkb->max_key_code + 1))
408 if ((xkb->map->modmap == NULL) &&
409 (XkbAllocClientMap(xkb, XkbModifierMapMask, 0) != Success)) {
413 bzero(&xkb->map->modmap[rep->firstModMapKey], rep->nModMapKeys);
420 if (wire[0] > xkb->max_key_code || wire[1] > xkb->max_key_code)
422 xkb->map->modmap[wire[0]] = wire[1];
430 XkbDescPtr xkb,
439 > xkb->max_key_code + 1)
441 if (((xkb->server == NULL) || (xkb->server->vmodmap == NULL)) &&
442 (XkbAllocServerMap(xkb, XkbVirtualModMapMask, 0) != Success)) {
446 srv = xkb->server;
452 srv = xkb->server;
458 if ((wire->key >= xkb->min_key_code) &&
459 (wire->key <= xkb->max_key_code))
467 _XkbGetGetMapReq(Display *dpy, XkbDescPtr xkb)
474 req->deviceSpec = xkb->device_spec;
490 XkbDescPtr xkb,
496 if (xkb->device_spec == XkbUseCoreKbd)
497 xkb->device_spec = rep->deviceID;
500 xkb->min_key_code = rep->minKeyCode;
501 xkb->max_key_code = rep->maxKeyCode;
503 if (!xkb->map) {
505 if (mask && (XkbAllocClientMap(xkb, mask, rep->nTypes) != Success))
508 if (!xkb->server) {
510 if (mask && (XkbAllocServerMap(xkb, mask, rep->totalActs) != Success))
525 status = _XkbReadKeyTypes(&buf, xkb, rep);
527 status = _XkbReadKeySyms(&buf, xkb, rep);
529 status = _XkbReadKeyActions(&buf, xkb, rep);
531 status = _XkbReadKeyBehaviors(&buf, xkb, rep);
533 status = _XkbReadVirtualMods(&buf, xkb, rep);
535 status = _XkbReadExplicitComponents(&buf, xkb, rep);
537 status = _XkbReadModifierMap(&buf, xkb, rep);
539 status = _XkbReadVirtualModMap(&buf, xkb, rep);
553 _XkbHandleGetMapReply(Display *dpy, XkbDescPtr xkb)
562 return _XkbReadGetMapReply(dpy, &rep, xkb, NULL);
566 XkbGetUpdatedMap(Display *dpy, unsigned which, XkbDescPtr xkb)
577 req = _XkbGetGetMapReq(dpy, xkb);
579 status = _XkbHandleGetMapReply(dpy, xkb);
591 XkbDescPtr xkb;
593 xkb = _XkbTypedCalloc(1, XkbDescRec);
594 if (xkb) {
595 xkb->device_spec = deviceSpec;
596 xkb->map = _XkbTypedCalloc(1, XkbClientMapRec);
597 if ((xkb->map == NULL) ||
598 ((which) && (XkbGetUpdatedMap(dpy, which, xkb) != Success))) {
599 if (xkb->map) {
600 Xfree(xkb->map);
601 xkb->map = NULL;
603 Xfree(xkb);
606 xkb->dpy = dpy;
608 return xkb;
612 XkbGetKeyTypes(Display *dpy, unsigned first, unsigned num, XkbDescPtr xkb)
625 req = _XkbGetGetMapReq(dpy, xkb);
628 status = _XkbHandleGetMapReply(dpy, xkb);
636 XkbGetKeyActions(Display *dpy, unsigned first, unsigned num, XkbDescPtr xkb)
650 req = _XkbGetGetMapReq(dpy, xkb);
653 status = _XkbHandleGetMapReply(dpy, xkb);
661 XkbGetKeySyms(Display *dpy, unsigned first, unsigned num, XkbDescPtr xkb)
675 req = _XkbGetGetMapReq(dpy, xkb);
678 status = _XkbHandleGetMapReply(dpy, xkb);
687 XkbGetKeyBehaviors(Display *dpy, unsigned first, unsigned num, XkbDescPtr xkb)
701 req = _XkbGetGetMapReq(dpy, xkb);
704 status = _XkbHandleGetMapReply(dpy, xkb);
712 XkbGetVirtualMods(Display *dpy, unsigned which, XkbDescPtr xkb)
723 req = _XkbGetGetMapReq(dpy, xkb);
725 status = _XkbHandleGetMapReply(dpy, xkb);
736 XkbDescPtr xkb)
750 req = _XkbGetGetMapReq(dpy, xkb);
753 if ((xkb != NULL) && (xkb->server != NULL) &&
754 (xkb->server->explicit != NULL)) {
755 if ((num > 0) && (first >= xkb->min_key_code) &&
756 (first + num <= xkb->max_key_code))
757 bzero(&xkb->server->explicit[first], num);
759 if (xkb)
760 status = _XkbHandleGetMapReply(dpy, xkb);
773 XkbDescPtr xkb)
787 req = _XkbGetGetMapReq(dpy, xkb);
790 if ((xkb != NULL) && (xkb->map != NULL) && (xkb->map->modmap != NULL)) {
791 if ((num > 0) && (first >= xkb->min_key_code) &&
792 (first + num <= xkb->max_key_code))
793 bzero(&xkb->map->modmap[first], num);
795 if (xkb)
796 status = _XkbHandleGetMapReply(dpy, xkb);
807 XkbDescPtr xkb)
821 req = _XkbGetGetMapReq(dpy, xkb);
824 if ((xkb != NULL) && (xkb->map != NULL) && (xkb->map->modmap != NULL)) {
825 if ((num > 0) && (first >= xkb->min_key_code) &&
826 (first + num <= xkb->max_key_code))
827 bzero(&xkb->server->vmodmap[first], num * sizeof(unsigned short));
830 if (xkb)
831 status = _XkbHandleGetMapReply(dpy, xkb);
841 XkbGetMapChanges(Display *dpy, XkbDescPtr xkb, XkbMapChangesPtr changes)
852 req = _XkbGetGetMapReq(dpy, xkb);
870 status = _XkbHandleGetMapReply(dpy, xkb);