xkb: note that we allow full xi interaction
We now allow maps to be set (etc) on different keyboards, so stop putting XkbXI_KeyboardsMask in unsupported.
This commit is contained in:
		
							parent
							
								
									1d65429a9e
								
							
						
					
					
						commit
						de5a4c6374
					
				| 
						 | 
					@ -5720,7 +5720,6 @@ char *			str;
 | 
				
			||||||
	wanted&= ~XkbXI_ButtonActionsMask;
 | 
						wanted&= ~XkbXI_ButtonActionsMask;
 | 
				
			||||||
    if ((!dev->kbdfeed)&&(!dev->leds))
 | 
					    if ((!dev->kbdfeed)&&(!dev->leds))
 | 
				
			||||||
	wanted&= ~XkbXI_IndicatorsMask;
 | 
						wanted&= ~XkbXI_IndicatorsMask;
 | 
				
			||||||
    wanted&= ~XkbXI_KeyboardsMask;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    nameLen= XkbSizeCountedString(dev->name);
 | 
					    nameLen= XkbSizeCountedString(dev->name);
 | 
				
			||||||
    bzero((char *)&rep,SIZEOF(xkbGetDeviceInfoReply));
 | 
					    bzero((char *)&rep,SIZEOF(xkbGetDeviceInfoReply));
 | 
				
			||||||
| 
						 | 
					@ -5729,8 +5728,8 @@ char *			str;
 | 
				
			||||||
    rep.sequenceNumber = client->sequence;
 | 
					    rep.sequenceNumber = client->sequence;
 | 
				
			||||||
    rep.length = nameLen/4;
 | 
					    rep.length = nameLen/4;
 | 
				
			||||||
    rep.present = wanted;
 | 
					    rep.present = wanted;
 | 
				
			||||||
    rep.supported = XkbXI_AllDeviceFeaturesMask&(~XkbXI_KeyboardsMask);
 | 
					    rep.supported = XkbXI_AllDeviceFeaturesMask;
 | 
				
			||||||
    rep.unsupported = XkbXI_KeyboardsMask;
 | 
					    rep.unsupported = 0;
 | 
				
			||||||
    rep.firstBtnWanted = rep.nBtnsWanted = 0;
 | 
					    rep.firstBtnWanted = rep.nBtnsWanted = 0;
 | 
				
			||||||
    rep.firstBtnRtrn = rep.nBtnsRtrn = 0;
 | 
					    rep.firstBtnRtrn = rep.nBtnsRtrn = 0;
 | 
				
			||||||
    if (dev->button)
 | 
					    if (dev->button)
 | 
				
			||||||
| 
						 | 
					@ -6044,7 +6043,7 @@ xkbExtensionDeviceNotify ed;
 | 
				
			||||||
    change= stuff->change;
 | 
					    change= stuff->change;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CHK_ANY_DEVICE(dev,stuff->deviceSpec);
 | 
					    CHK_ANY_DEVICE(dev,stuff->deviceSpec);
 | 
				
			||||||
    CHK_MASK_LEGAL(0x01,change,(XkbXI_AllFeaturesMask&(~XkbXI_KeyboardsMask)));
 | 
					    CHK_MASK_LEGAL(0x01,change,XkbXI_AllFeaturesMask);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wire= (char *)&stuff[1];
 | 
					    wire= (char *)&stuff[1];
 | 
				
			||||||
    if (change&XkbXI_ButtonActionsMask) {
 | 
					    if (change&XkbXI_ButtonActionsMask) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -675,13 +675,13 @@ xkbExtensionDeviceNotify	my_ed;
 | 
				
			||||||
	changes->names.changed_indicators|= changed_names;
 | 
						changes->names.changed_indicators|= changed_names;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ed->reason|=	(XkbXI_IndicatorNamesMask&(~XkbXI_KeyboardsMask));
 | 
					    ed->reason|=	XkbXI_IndicatorNamesMask;
 | 
				
			||||||
    ed->ledClass= 	sli->class;
 | 
					    ed->ledClass= 	sli->class;
 | 
				
			||||||
    ed->ledID=		sli->id;
 | 
					    ed->ledID=		sli->id;
 | 
				
			||||||
    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
					    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
				
			||||||
    ed->ledState=	sli->effectiveState;
 | 
					    ed->ledState=	sli->effectiveState;
 | 
				
			||||||
    ed->unsupported=	XkbXI_KeyboardsMask;
 | 
					    ed->unsupported=	0;
 | 
				
			||||||
    ed->supported=	XkbXI_AllFeaturesMask&(~XkbXI_KeyboardsMask);
 | 
					    ed->supported=	XkbXI_AllFeaturesMask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (changes!=&my_changes)	changes= NULL;
 | 
					    if (changes!=&my_changes)	changes= NULL;
 | 
				
			||||||
    if (ed!=&my_ed)		ed= NULL;
 | 
					    if (ed!=&my_ed)		ed= NULL;
 | 
				
			||||||
| 
						 | 
					@ -753,13 +753,13 @@ xkbExtensionDeviceNotify	my_ed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    XkbCheckIndicatorMaps(dev,sli,changed_maps);
 | 
					    XkbCheckIndicatorMaps(dev,sli,changed_maps);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ed->reason|=	(XkbXI_IndicatorMapsMask&(~XkbXI_KeyboardsMask));
 | 
					    ed->reason|=	XkbXI_IndicatorMapsMask;
 | 
				
			||||||
    ed->ledClass= 	sli->class;
 | 
					    ed->ledClass= 	sli->class;
 | 
				
			||||||
    ed->ledID=		sli->id;
 | 
					    ed->ledID=		sli->id;
 | 
				
			||||||
    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
					    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
				
			||||||
    ed->ledState=	sli->effectiveState;
 | 
					    ed->ledState=	sli->effectiveState;
 | 
				
			||||||
    ed->unsupported|=	XkbXI_KeyboardsMask&XkbXI_IndicatorMapsMask;
 | 
					    ed->unsupported|=	XkbXI_IndicatorMapsMask;
 | 
				
			||||||
    ed->supported=	XkbXI_AllFeaturesMask&(~XkbXI_KeyboardsMask);
 | 
					    ed->supported=	XkbXI_AllFeaturesMask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    XkbUpdateLedAutoState(dev,sli,changed_maps,ed,changes,cause);
 | 
					    XkbUpdateLedAutoState(dev,sli,changed_maps,ed,changes,cause);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -834,13 +834,13 @@ Bool				kb_changed;
 | 
				
			||||||
    if ((kbd==dev)&&(sli->flags&XkbSLI_IsDefault))
 | 
					    if ((kbd==dev)&&(sli->flags&XkbSLI_IsDefault))
 | 
				
			||||||
	changes->indicators.state_changes|= affected;
 | 
						changes->indicators.state_changes|= affected;
 | 
				
			||||||
    if (affected) {
 | 
					    if (affected) {
 | 
				
			||||||
	ed->reason|=		(XkbXI_IndicatorStateMask&(~XkbXI_KeyboardsMask));
 | 
						ed->reason|=		XkbXI_IndicatorStateMask;
 | 
				
			||||||
	ed->ledClass= 		sli->class;
 | 
						ed->ledClass= 		sli->class;
 | 
				
			||||||
	ed->ledID=		sli->id;
 | 
						ed->ledID=		sli->id;
 | 
				
			||||||
	ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
						ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
				
			||||||
	ed->ledState=		sli->effectiveState;
 | 
						ed->ledState=		sli->effectiveState;
 | 
				
			||||||
	ed->unsupported|=	XkbXI_KeyboardsMask&XkbXI_IndicatorStateMask;
 | 
						ed->unsupported|=	XkbXI_IndicatorStateMask;
 | 
				
			||||||
	ed->supported=		XkbXI_AllFeaturesMask&(~XkbXI_KeyboardsMask);
 | 
						ed->supported=		XkbXI_AllFeaturesMask;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (kb_changed) {
 | 
					    if (kb_changed) {
 | 
				
			||||||
| 
						 | 
					@ -918,13 +918,13 @@ unsigned			oldState;
 | 
				
			||||||
	changes->indicators.state_changes|= affected;
 | 
						changes->indicators.state_changes|= affected;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ed->reason|=	(XkbXI_IndicatorStateMask&(~XkbXI_KeyboardsMask));
 | 
					    ed->reason|=	XkbXI_IndicatorStateMask;
 | 
				
			||||||
    ed->ledClass= 	sli->class;
 | 
					    ed->ledClass= 	sli->class;
 | 
				
			||||||
    ed->ledID=		sli->id;
 | 
					    ed->ledID=		sli->id;
 | 
				
			||||||
    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
					    ed->ledsDefined=	sli->namesPresent|sli->mapsPresent;
 | 
				
			||||||
    ed->ledState=	sli->effectiveState;
 | 
					    ed->ledState=	sli->effectiveState;
 | 
				
			||||||
    ed->unsupported|=	XkbXI_KeyboardsMask&XkbXI_IndicatorStateMask;
 | 
					    ed->unsupported|=	XkbXI_IndicatorStateMask;
 | 
				
			||||||
    ed->supported=	XkbXI_AllFeaturesMask&(~XkbXI_KeyboardsMask);
 | 
					    ed->supported=	XkbXI_AllFeaturesMask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (changes!=&my_changes)	changes= NULL;
 | 
					    if (changes!=&my_changes)	changes= NULL;
 | 
				
			||||||
    if (ed!=&my_ed)		ed= NULL;
 | 
					    if (ed!=&my_ed)		ed= NULL;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue