Xi: include button state in XIButtonInfo.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
		
							parent
							
								
									01241b4247
								
							
						
					
					
						commit
						d5a15e65b7
					
				|  | @ -686,6 +686,7 @@ XISendDeviceChangedEvent(DeviceIntPtr device, DeviceIntPtr master, DeviceChanged | |||
|     { | ||||
|         len += sizeof(xXIButtonInfo); | ||||
|         len += dce->buttons.num_buttons * sizeof(Atom); /* button names */ | ||||
|         len += ((((dce->buttons.num_buttons + 7)/8) + 3)/4) * 4; | ||||
|     } | ||||
|     if (dce->num_valuators) | ||||
|         len += sizeof(xXIValuatorInfo) * dce->num_valuators; | ||||
|  |  | |||
|  | @ -205,6 +205,7 @@ SizeDeviceClasses(DeviceIntPtr dev) | |||
|     { | ||||
|         len += sizeof(xXIButtonInfo); | ||||
|         len += dev->button->numButtons * sizeof(Atom); | ||||
|         len += ((((dev->button->numButtons + 7)/8) + 3)/4) * 4; | ||||
|     } | ||||
| 
 | ||||
|     if (dev->key) | ||||
|  | @ -228,11 +229,24 @@ SizeDeviceClasses(DeviceIntPtr dev) | |||
| int | ||||
| ListButtonInfo(DeviceIntPtr dev, xXIButtonInfo* info) | ||||
| { | ||||
|     unsigned char *bits; | ||||
|     int mask_len; | ||||
|     int i; | ||||
| 
 | ||||
|     mask_len = (((dev->button->numButtons + 7)/8) + 3)/4; /* 4-byte units*/ | ||||
| 
 | ||||
|     info->type = ButtonClass; | ||||
|     info->num_buttons = dev->button->numButtons; | ||||
|     info->length = 2 + info->num_buttons; | ||||
|     info->length = 2 + mask_len + info->num_buttons; | ||||
|     info->sourceid = dev->button->sourceid; | ||||
| 
 | ||||
|     bits = (unsigned char*)&info[1]; | ||||
|     memset(bits, 0, mask_len * 4); | ||||
| 
 | ||||
|     for (i = 0; dev && dev->button && i < dev->button->numButtons; i++) | ||||
|         if (BitIsOn(dev->button->down, i)) | ||||
|             SetBit(bits, i); | ||||
| 
 | ||||
|     /** XXX: button labels */ | ||||
| 
 | ||||
|     return info->length * 4; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue