Lines Matching refs:xkb
48 XkbKeyTypesForCoreSymbols( XkbDescPtr xkb,
65 if ((protected&(1<<i))&&(types_inout[i]<xkb->map->num_types)) {
66 nSyms[i]= xkb->map->types[types_inout[i]].num_levels;
231 allOneLevel= (xkb->map->types[types_inout[0]].num_levels==1);
235 allOneLevel= (xkb->map->types[types_inout[i]].num_levels==1);
271 _XkbFindMatchingInterp( XkbDescPtr xkb,
281 interp= xkb->compat->sym_interpret;
282 for (i=0;i<xkb->compat->num_si;i++,interp++) {
338 _XkbSetActionKeyMods(XkbDescPtr xkb,XkbAction *act,unsigned mods)
347 XkbVirtualModsToReal(xkb,tmp,&tmp);
355 XkbVirtualModsToReal(xkb,tmp,&tmp);
366 XkbApplyCompatMapToKey(XkbDescPtr xkb,KeyCode key,XkbChangesPtr changes)
374 if ((!xkb)||(!xkb->map)||(!xkb->map->key_sym_map)||
375 (!xkb->compat)||(!xkb->compat->sym_interpret)||
376 (key<xkb->min_key_code)||(key>xkb->max_key_code)) {
379 if (((!xkb->server)||(!xkb->server->key_acts))&&
380 (XkbAllocServerMap(xkb,XkbAllServerInfoMask,0)!=Success)) {
384 explicit= xkb->server->explicit[key];
387 mods= (xkb->map->modmap?xkb->map->modmap[key]:0);
388 nSyms= XkbKeyNumSyms(xkb,key);
389 syms= XkbKeySymsPtr(xkb,key);
402 unsigned level= (n%XkbKeyGroupsWidth(xkb,key));
405 interps[n]= _XkbFindMatchingInterp(xkb,syms[n],mods,level);
413 if (xkb->server->key_acts[key]!=0) {
414 xkb->server->key_acts[key]= 0;
422 pActs= XkbResizeKeyActions(xkb,key,nSyms);
440 _XkbSetActionKeyMods(xkb,&pActs[n],effMods);
445 (xkb->server->vmodmap[key]!=new_vmodmask)) {
447 xkb->server->vmodmap[key]= new_vmodmask;
452 xkb->server->behaviors[key].type= XkbKB_Lock;
455 if (((explicit&XkbExplicitAutoRepeatMask)==0)&&(xkb->ctrls)) {
457 old= BitIsOn(xkb->ctrls->per_key_repeat, key);
459 SetBit(xkb->ctrls->per_key_repeat, key);
461 ClearBit(xkb->ctrls->per_key_repeat, key);
462 if (changes && old != BitIsOn(xkb->ctrls->per_key_repeat, key))
468 if (((explicit&XkbExplicitAutoRepeatMask)==0)&&(xkb->ctrls)) {
470 old = BitIsOn(xkb->ctrls->per_key_repeat, key);
471 SetBit(xkb->ctrls->per_key_repeat, key);
472 if (changes && (old != BitIsOn(xkb->ctrls->per_key_repeat, key)))
476 (xkb->server->behaviors[key].type==XkbKB_Lock)) {
477 xkb->server->behaviors[key].type= XkbKB_Default;
516 XkbChangeTypesOfKey( XkbDescPtr xkb,
527 if ((!xkb) || (!XkbKeycodeInRange(xkb,key)) || (!xkb->map) ||
528 (!xkb->map->types)||(!newTypesIn)||((groups&XkbAllGroupsMask)==0)||
534 xkb->map->key_sym_map[key].kt_index[i]= XkbOneLevelIndex;
536 i= xkb->map->key_sym_map[key].group_info;
538 xkb->map->key_sym_map[key].group_info= i;
539 XkbResizeKeySyms(xkb,key,0);
543 nOldGroups= XkbKeyNumGroups(xkb,key);
544 oldWidth= XkbKeyGroupsWidth(xkb,key);
549 newTypes[i]= XkbKeyKeyTypeIndex(xkb,key,i);
551 newTypes[i]= XkbKeyKeyTypeIndex(xkb,key,XkbGroup1Index);
553 if (newTypes[i]>xkb->map->num_types)
555 pNewType= &xkb->map->types[newTypes[i]];
559 if ((xkb->ctrls)&&(nGroups>xkb->ctrls->num_groups))
560 xkb->ctrls->num_groups= nGroups;
566 pSyms= XkbResizeKeySyms(xkb,key,width*nGroups);
568 i= xkb->map->key_sym_map[key].group_info;
570 xkb->map->key_sym_map[key].group_info= i;
571 xkb->map->key_sym_map[key].width= width;
573 xkb->map->key_sym_map[key].kt_index[i]= newTypes[i];
579 pSyms= XkbKeySymsPtr(xkb,key);
580 memcpy(oldSyms,pSyms,XkbKeyNumSyms(xkb,key)*sizeof(KeySym));
581 pSyms= XkbResizeKeySyms(xkb,key,width*nGroups);
586 pOldType= XkbKeyKeyType(xkb,key,i);
587 pNewType= &xkb->map->types[newTypes[i]];
593 if (XkbKeyHasActions(xkb,key)) {
595 pActs= XkbKeyActionsPtr(xkb,key);
596 memcpy(oldActs,pActs,XkbKeyNumSyms(xkb,key)*sizeof(XkbAction));
597 pActs= XkbResizeKeyActions(xkb,key,width*nGroups);
602 pOldType= XkbKeyKeyType(xkb,key,i);
603 pNewType= &xkb->map->types[newTypes[i]];
611 i= xkb->map->key_sym_map[key].group_info;
613 xkb->map->key_sym_map[key].group_info= i;
614 xkb->map->key_sym_map[key].width= width;
618 xkb->map->key_sym_map[key].kt_index[i]= newTypes[i];
619 if (xkb->map->types[newTypes[i]].num_levels>width)
620 width= xkb->map->types[newTypes[i]].num_levels;
622 xkb->map->key_sym_map[key].width= width;
640 XkbVirtualModsToReal(XkbDescPtr xkb,unsigned virtual_mask,unsigned *mask_rtrn)
645 if (xkb==NULL)
651 if (xkb->server==NULL)
655 mask|= xkb->server->vmods[i];
664 XkbUpdateActionVirtualMods(XkbDescPtr xkb,XkbAction *act,unsigned changed)
671 XkbVirtualModsToReal(xkb,tmp,&tmp);
679 XkbVirtualModsToReal(xkb,tmp,&tmp);
690 XkbUpdateKeyTypeVirtualMods( XkbDescPtr xkb,
698 XkbVirtualModsToReal(xkb,type->mods.vmods,&mask);
704 XkbVirtualModsToReal(xkb,entry->mods.vmods,&mask);
714 type_ndx= type-xkb->map->types;
715 if ((type_ndx<0)||(type_ndx>xkb->map->num_types))
738 XkbApplyVirtualModChanges(XkbDescPtr xkb,unsigned changed,XkbChangesPtr changes)
743 if ((!xkb) || (!xkb->map) || (changed==0))
745 for (i=0;i<xkb->map->num_types;i++) {
746 if (xkb->map->types[i].mods.vmods & changed)
747 XkbUpdateKeyTypeVirtualMods(xkb,&xkb->map->types[i],changed,changes);
749 if (changed&xkb->ctrls->internal.vmods) {
751 XkbVirtualModsToReal(xkb,xkb->ctrls->internal.vmods,&newMask);
752 newMask|= xkb->ctrls->internal.real_mods;
753 if (xkb->ctrls->internal.mask!=newMask) {
754 xkb->ctrls->internal.mask= newMask;
761 if (changed&xkb->ctrls->ignore_lock.vmods) {
763 XkbVirtualModsToReal(xkb,xkb->ctrls->ignore_lock.vmods,&newMask);
764 newMask|= xkb->ctrls->ignore_lock.real_mods;
765 if (xkb->ctrls->ignore_lock.mask!=newMask) {
766 xkb->ctrls->ignore_lock.mask= newMask;
773 if (xkb->indicators!=NULL) {
775 map= &xkb->indicators->maps[0];
779 XkbVirtualModsToReal(xkb,map->mods.vmods,&newMask);
791 if (xkb->compat!=NULL) {
793 compat= xkb->compat;
796 XkbVirtualModsToReal(xkb,compat->groups[i].vmods,&newMask);
807 if (xkb->map && xkb->server) {
809 for (i=xkb->min_key_code;i<=xkb->max_key_code;i++) {
810 if (XkbKeyHasActions(xkb,i)) {
814 pAct= XkbKeyActionsPtr(xkb,i);
815 for (n=XkbKeyNumActions(xkb,i);n>0;n--,pAct++) {
817 XkbUpdateActionVirtualMods(xkb,pAct,changed)) {