Lines Matching refs:sli

60     XkbSrvLedInfoPtr sli;  in XkbIndicatorsToUpdate()  local
62 sli = XkbFindSrvLedInfo(dev, XkbDfltXIClass, XkbDfltXIId, 0); in XkbIndicatorsToUpdate()
64 if (!sli) in XkbIndicatorsToUpdate()
68 update |= sli->usesEffective; in XkbIndicatorsToUpdate()
70 update |= sli->usesBase; in XkbIndicatorsToUpdate()
72 update |= sli->usesLatched; in XkbIndicatorsToUpdate()
74 update |= sli->usesLocked; in XkbIndicatorsToUpdate()
76 update |= sli->usesCompat; in XkbIndicatorsToUpdate()
78 update |= sli->usesControls; in XkbIndicatorsToUpdate()
232 XkbSrvLedInfoPtr sli, in XkbUpdateLedAutoState() argument
246 if ((maps_to_check == 0) || (sli->maps == NULL) || (sli->mapsPresent == 0)) in XkbUpdateLedAutoState()
257 oldState = sli->effectiveState; in XkbUpdateLedAutoState()
258 sli->autoState &= ~affected; in XkbUpdateLedAutoState()
263 map = &sli->maps[i]; in XkbUpdateLedAutoState()
266 sli->autoState |= bit; in XkbUpdateLedAutoState()
268 sli->effectiveState = (sli->autoState | sli->explicitState); in XkbUpdateLedAutoState()
269 affected = sli->effectiveState ^ oldState; in XkbUpdateLedAutoState()
278 ((ed->ledClass != sli->class) || (ed->ledID != sli->id))) { in XkbUpdateLedAutoState()
279 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbUpdateLedAutoState()
282 if ((kbd == dev) && (sli->flags & XkbSLI_IsDefault)) { in XkbUpdateLedAutoState()
291 ed->ledClass = sli->class; in XkbUpdateLedAutoState()
292 ed->ledID = sli->id; in XkbUpdateLedAutoState()
293 ed->ledsDefined = sli->namesPresent | sli->mapsPresent; in XkbUpdateLedAutoState()
294 ed->ledState = sli->effectiveState; in XkbUpdateLedAutoState()
303 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbUpdateLedAutoState()
311 XkbSrvLedInfoPtr sli; in XkbUpdateAllDeviceIndicators() local
320 sli = kf->xkb_sli; in XkbUpdateAllDeviceIndicators()
321 XkbUpdateLedAutoState(edev, sli, sli->mapsPresent, NULL, in XkbUpdateAllDeviceIndicators()
332 sli = lf->xkb_sli; in XkbUpdateAllDeviceIndicators()
333 XkbUpdateLedAutoState(edev, sli, sli->mapsPresent, NULL, in XkbUpdateAllDeviceIndicators()
370 XkbSrvLedInfoPtr sli; in XkbSetIndicators() local
377 sli = XkbFindSrvLedInfo(dev, XkbDfltXIClass, XkbDfltXIId, 0); in XkbSetIndicators()
378 sli->explicitState &= ~affect; in XkbSetIndicators()
379 sli->explicitState |= (affect & values); in XkbSetIndicators()
380 XkbApplyLedStateChanges(dev, sli, affect, &ed, &changes, cause); in XkbSetIndicators()
387 side_affected |= sli->usesControls; in XkbSetIndicators()
390 XkbUpdateLedAutoState(dev, sli, side_affected, &ed, &changes, cause); in XkbSetIndicators()
396 XkbFlushLedEvents(dev, dev, sli, &ed, &changes, cause); in XkbSetIndicators()
427 XkbSrvLedInfoPtr sli; in XkbUpdateIndicators() local
429 sli = XkbFindSrvLedInfo(dev, XkbDfltXIClass, XkbDfltXIId, 0); in XkbUpdateIndicators()
430 XkbUpdateLedAutoState(dev, sli, update, NULL, changes, cause); in XkbUpdateIndicators()
452 XkbCheckIndicatorMaps(DeviceIntPtr dev, XkbSrvLedInfoPtr sli, unsigned which) in XkbCheckIndicatorMaps() argument
458 if ((sli->flags & XkbSLI_HasOwnState) == 0) in XkbCheckIndicatorMaps()
461 sli->usesBase &= ~which; in XkbCheckIndicatorMaps()
462 sli->usesLatched &= ~which; in XkbCheckIndicatorMaps()
463 sli->usesLocked &= ~which; in XkbCheckIndicatorMaps()
464 sli->usesEffective &= ~which; in XkbCheckIndicatorMaps()
465 sli->usesCompat &= ~which; in XkbCheckIndicatorMaps()
466 sli->usesControls &= ~which; in XkbCheckIndicatorMaps()
467 sli->mapsPresent &= ~which; in XkbCheckIndicatorMaps()
470 for (i = 0, bit = 1, map = sli->maps; i < XkbNumIndicators; in XkbCheckIndicatorMaps()
477 sli->mapsPresent |= bit; in XkbCheckIndicatorMaps()
481 sli->usesBase |= bit; in XkbCheckIndicatorMaps()
483 sli->usesLatched |= bit; in XkbCheckIndicatorMaps()
485 sli->usesLocked |= bit; in XkbCheckIndicatorMaps()
487 sli->usesEffective |= bit; in XkbCheckIndicatorMaps()
489 sli->usesCompat |= bit; in XkbCheckIndicatorMaps()
491 sli->usesControls |= bit; in XkbCheckIndicatorMaps()
499 sli->usedComponents = 0; in XkbCheckIndicatorMaps()
500 if (sli->usesBase) in XkbCheckIndicatorMaps()
501 sli->usedComponents |= XkbModifierBaseMask | XkbGroupBaseMask; in XkbCheckIndicatorMaps()
502 if (sli->usesLatched) in XkbCheckIndicatorMaps()
503 sli->usedComponents |= XkbModifierLatchMask | XkbGroupLatchMask; in XkbCheckIndicatorMaps()
504 if (sli->usesLocked) in XkbCheckIndicatorMaps()
505 sli->usedComponents |= XkbModifierLockMask | XkbGroupLockMask; in XkbCheckIndicatorMaps()
506 if (sli->usesEffective) in XkbCheckIndicatorMaps()
507 sli->usedComponents |= XkbModifierStateMask | XkbGroupStateMask; in XkbCheckIndicatorMaps()
508 if (sli->usesCompat) in XkbCheckIndicatorMaps()
509 sli->usedComponents |= XkbCompatStateMask; in XkbCheckIndicatorMaps()
529 XkbSrvLedInfoPtr sli; in XkbAllocSrvLedInfo() local
533 sli = NULL; in XkbAllocSrvLedInfo()
536 kf->xkb_sli = sli = calloc(1, sizeof(XkbSrvLedInfoRec)); in XkbAllocSrvLedInfo()
537 if (sli == NULL) in XkbAllocSrvLedInfo()
540 sli->flags = XkbSLI_HasOwnState; in XkbAllocSrvLedInfo()
542 sli->flags = 0; in XkbAllocSrvLedInfo()
543 sli->class = KbdFeedbackClass; in XkbAllocSrvLedInfo()
544 sli->id = kf->ctrl.id; in XkbAllocSrvLedInfo()
545 sli->fb.kf = kf; in XkbAllocSrvLedInfo()
547 sli->autoState = 0; in XkbAllocSrvLedInfo()
548 sli->explicitState = kf->ctrl.leds; in XkbAllocSrvLedInfo()
549 sli->effectiveState = kf->ctrl.leds; in XkbAllocSrvLedInfo()
555 sli->flags |= XkbSLI_IsDefault; in XkbAllocSrvLedInfo()
556 sli->physIndicators = xkb->indicators->phys_indicators; in XkbAllocSrvLedInfo()
557 sli->names = xkb->names->indicators; in XkbAllocSrvLedInfo()
558 sli->maps = xkb->indicators->maps; in XkbAllocSrvLedInfo()
562 sli->physIndicators = XkbAllIndicatorsMask; in XkbAllocSrvLedInfo()
563 sli->names = NULL; in XkbAllocSrvLedInfo()
564 sli->maps = NULL; in XkbAllocSrvLedInfo()
571 sli = kf->xkb_sli; in XkbAllocSrvLedInfo()
572 sli->physIndicators = xkb->indicators->phys_indicators; in XkbAllocSrvLedInfo()
573 if (xkb->names->indicators != sli->names) { in XkbAllocSrvLedInfo()
575 sli->names = xkb->names->indicators; in XkbAllocSrvLedInfo()
577 if (xkb->indicators->maps != sli->maps) { in XkbAllocSrvLedInfo()
579 sli->maps = xkb->indicators->maps; in XkbAllocSrvLedInfo()
583 lf->xkb_sli = sli = calloc(1, sizeof(XkbSrvLedInfoRec)); in XkbAllocSrvLedInfo()
584 if (sli == NULL) in XkbAllocSrvLedInfo()
587 sli->flags = XkbSLI_HasOwnState; in XkbAllocSrvLedInfo()
589 sli->flags = 0; in XkbAllocSrvLedInfo()
590 sli->class = LedFeedbackClass; in XkbAllocSrvLedInfo()
591 sli->id = lf->ctrl.id; in XkbAllocSrvLedInfo()
592 sli->fb.lf = lf; in XkbAllocSrvLedInfo()
594 sli->physIndicators = lf->ctrl.led_mask; in XkbAllocSrvLedInfo()
595 sli->autoState = 0; in XkbAllocSrvLedInfo()
596 sli->explicitState = lf->ctrl.led_values; in XkbAllocSrvLedInfo()
597 sli->effectiveState = lf->ctrl.led_values; in XkbAllocSrvLedInfo()
598 sli->maps = NULL; in XkbAllocSrvLedInfo()
599 sli->names = NULL; in XkbAllocSrvLedInfo()
603 if ((sli->names == NULL) && (needed_parts & XkbXI_IndicatorNamesMask)) in XkbAllocSrvLedInfo()
604 sli->names = calloc(XkbNumIndicators, sizeof(Atom)); in XkbAllocSrvLedInfo()
605 if ((sli->maps == NULL) && (needed_parts & XkbXI_IndicatorMapsMask)) in XkbAllocSrvLedInfo()
606 sli->maps = calloc(XkbNumIndicators, sizeof(XkbIndicatorMapRec)); in XkbAllocSrvLedInfo()
610 sli->namesPresent = 0; in XkbAllocSrvLedInfo()
612 if (sli->names[i] != None) in XkbAllocSrvLedInfo()
613 sli->namesPresent |= bit; in XkbAllocSrvLedInfo()
617 XkbCheckIndicatorMaps(dev, sli, XkbAllIndicatorsMask); in XkbAllocSrvLedInfo()
618 return sli; in XkbAllocSrvLedInfo()
622 XkbFreeSrvLedInfo(XkbSrvLedInfoPtr sli) in XkbFreeSrvLedInfo() argument
624 if ((sli->flags & XkbSLI_IsDefault) == 0) { in XkbFreeSrvLedInfo()
625 free(sli->maps); in XkbFreeSrvLedInfo()
626 free(sli->names); in XkbFreeSrvLedInfo()
628 sli->maps = NULL; in XkbFreeSrvLedInfo()
629 sli->names = NULL; in XkbFreeSrvLedInfo()
630 free(sli); in XkbFreeSrvLedInfo()
689 XkbSrvLedInfoPtr sli; in XkbFindSrvLedInfo() local
700 sli = NULL; in XkbFindSrvLedInfo()
717 sli = kf->xkb_sli; in XkbFindSrvLedInfo()
730 sli = lf->xkb_sli; in XkbFindSrvLedInfo()
735 if (sli) { in XkbFindSrvLedInfo()
736 if ((sli->names == NULL) && (needed_parts & XkbXI_IndicatorNamesMask)) in XkbFindSrvLedInfo()
737 sli->names = calloc(XkbNumIndicators, sizeof(Atom)); in XkbFindSrvLedInfo()
738 if ((sli->maps == NULL) && (needed_parts & XkbXI_IndicatorMapsMask)) in XkbFindSrvLedInfo()
739 sli->maps = calloc(XkbNumIndicators, sizeof(XkbIndicatorMapRec)); in XkbFindSrvLedInfo()
741 return sli; in XkbFindSrvLedInfo()
749 XkbSrvLedInfoPtr sli, in XkbFlushLedEvents() argument
755 XkbDDXUpdateDeviceIndicators(dev, sli, sli->effectiveState); in XkbFlushLedEvents()
761 if (sli->effectiveState) in XkbFlushLedEvents()
771 XkbDDXUpdateDeviceIndicators(dev, sli, sli->effectiveState); in XkbFlushLedEvents()
783 XkbSrvLedInfoPtr sli, in XkbApplyLedNameChanges() argument
804 ((ed->ledClass != sli->class) || (ed->ledID != sli->id))) { in XkbApplyLedNameChanges()
805 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedNameChanges()
808 if ((kbd == dev) && (sli->flags & XkbSLI_IsDefault)) { in XkbApplyLedNameChanges()
818 ed->ledClass = sli->class; in XkbApplyLedNameChanges()
819 ed->ledID = sli->id; in XkbApplyLedNameChanges()
820 ed->ledsDefined = sli->namesPresent | sli->mapsPresent; in XkbApplyLedNameChanges()
821 ed->ledState = sli->effectiveState; in XkbApplyLedNameChanges()
830 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedNameChanges()
863 XkbSrvLedInfoPtr sli, in XkbApplyLedMapChanges() argument
884 ((ed->ledClass != sli->class) || (ed->ledID != sli->id))) { in XkbApplyLedMapChanges()
885 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedMapChanges()
888 if ((kbd == dev) && (sli->flags & XkbSLI_IsDefault)) { in XkbApplyLedMapChanges()
896 XkbCheckIndicatorMaps(dev, sli, changed_maps); in XkbApplyLedMapChanges()
899 ed->ledClass = sli->class; in XkbApplyLedMapChanges()
900 ed->ledID = sli->id; in XkbApplyLedMapChanges()
901 ed->ledsDefined = sli->namesPresent | sli->mapsPresent; in XkbApplyLedMapChanges()
902 ed->ledState = sli->effectiveState; in XkbApplyLedMapChanges()
906 XkbUpdateLedAutoState(dev, sli, changed_maps, ed, changes, cause); in XkbApplyLedMapChanges()
913 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedMapChanges()
921 XkbSrvLedInfoPtr sli, in XkbApplyLedStateChanges() argument
950 oldState = sli->effectiveState; in XkbApplyLedStateChanges()
955 map = &sli->maps[i]; in XkbApplyLedStateChanges()
957 sli->explicitState &= ~bit; in XkbApplyLedStateChanges()
961 Bool on = ((sli->explicitState & bit) != 0); in XkbApplyLedStateChanges()
967 sli->effectiveState = (sli->autoState | sli->explicitState); in XkbApplyLedStateChanges()
968 affected = sli->effectiveState ^ oldState; in XkbApplyLedStateChanges()
975 ((ed->ledClass != sli->class) || (ed->ledID != sli->id))) { in XkbApplyLedStateChanges()
976 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedStateChanges()
979 if ((kbd == dev) && (sli->flags & XkbSLI_IsDefault)) in XkbApplyLedStateChanges()
983 ed->ledClass = sli->class; in XkbApplyLedStateChanges()
984 ed->ledID = sli->id; in XkbApplyLedStateChanges()
985 ed->ledsDefined = sli->namesPresent | sli->mapsPresent; in XkbApplyLedStateChanges()
986 ed->ledState = sli->effectiveState; in XkbApplyLedStateChanges()
993 XkbUpdateLedAutoState(dev, sli, sli->mapsPresent, ed, changes, cause); in XkbApplyLedStateChanges()
1001 XkbFlushLedEvents(dev, kbd, sli, ed, changes, cause); in XkbApplyLedStateChanges()