test: add event conversion tests for XIDeviceEvents
This commit is contained in:
		
							parent
							
								
									3f2e4b9867
								
							
						
					
					
						commit
						af38f6790c
					
				| 
						 | 
					@ -267,6 +267,366 @@ static void test_convert_XIRawEvent(void)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void test_values_XIDeviceEvent(DeviceEvent *in, xXIDeviceEvent *out,
 | 
				
			||||||
 | 
					                                      BOOL swap)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    int buttons, valuators;
 | 
				
			||||||
 | 
					    int i;
 | 
				
			||||||
 | 
					    unsigned char *ptr;
 | 
				
			||||||
 | 
					    FP3232 *values;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (swap) {
 | 
				
			||||||
 | 
					        char n;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        swaps(&out->sequenceNumber, n);
 | 
				
			||||||
 | 
					        swapl(&out->length, n);
 | 
				
			||||||
 | 
					        swaps(&out->evtype, n);
 | 
				
			||||||
 | 
					        swaps(&out->deviceid, n);
 | 
				
			||||||
 | 
					        swaps(&out->sourceid, n);
 | 
				
			||||||
 | 
					        swapl(&out->time, n);
 | 
				
			||||||
 | 
					        swapl(&out->detail, n);
 | 
				
			||||||
 | 
					        swapl(&out->root, n);
 | 
				
			||||||
 | 
					        swapl(&out->event, n);
 | 
				
			||||||
 | 
					        swapl(&out->child, n);
 | 
				
			||||||
 | 
					        swapl(&out->root_x, n);
 | 
				
			||||||
 | 
					        swapl(&out->root_y, n);
 | 
				
			||||||
 | 
					        swapl(&out->event_x, n);
 | 
				
			||||||
 | 
					        swapl(&out->event_y, n);
 | 
				
			||||||
 | 
					        swaps(&out->buttons_len, n);
 | 
				
			||||||
 | 
					        swaps(&out->valuators_len, n);
 | 
				
			||||||
 | 
					        swapl(&out->mods.base_mods, n);
 | 
				
			||||||
 | 
					        swapl(&out->mods.latched_mods, n);
 | 
				
			||||||
 | 
					        swapl(&out->mods.locked_mods, n);
 | 
				
			||||||
 | 
					        swapl(&out->mods.effective_mods, n);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->extension == 0); /* IReqCode defaults to 0 */
 | 
				
			||||||
 | 
					    g_assert(out->evtype == GetXI2Type((InternalEvent*)in));
 | 
				
			||||||
 | 
					    g_assert(out->time == in->time);
 | 
				
			||||||
 | 
					    g_assert(out->detail == in->detail.button);
 | 
				
			||||||
 | 
					    g_assert(out->length >= 12);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->deviceid == in->deviceid);
 | 
				
			||||||
 | 
					    g_assert(out->sourceid == in->sourceid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->flags == 0); /* FIXME: we don't set the flags yet */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->root == in->root);
 | 
				
			||||||
 | 
					    g_assert(out->event == None); /* set in FixUpEventFromWindow */
 | 
				
			||||||
 | 
					    g_assert(out->child == None); /* set in FixUpEventFromWindow */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->mods.base_mods == in->mods.base);
 | 
				
			||||||
 | 
					    g_assert(out->mods.latched_mods == in->mods.latched);
 | 
				
			||||||
 | 
					    g_assert(out->mods.locked_mods == in->mods.locked);
 | 
				
			||||||
 | 
					    g_assert(out->mods.effective_mods == in->mods.effective);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->group.base_group == in->group.base);
 | 
				
			||||||
 | 
					    g_assert(out->group.latched_group == in->group.latched);
 | 
				
			||||||
 | 
					    g_assert(out->group.locked_group == in->group.locked);
 | 
				
			||||||
 | 
					    g_assert(out->group.effective_group == in->group.effective);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->event_x == 0); /* set in FixUpEventFromWindow */
 | 
				
			||||||
 | 
					    g_assert(out->event_y == 0); /* set in FixUpEventFromWindow */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->root_x == FP1616(in->root_x, in->root_x_frac));
 | 
				
			||||||
 | 
					    g_assert(out->root_y == FP1616(in->root_y, in->root_y_frac));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    buttons = 0;
 | 
				
			||||||
 | 
					    for (i = 0; i < bits_to_bytes(sizeof(in->buttons)); i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (XIMaskIsSet(in->buttons, i))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            g_assert(out->buttons_len >= bytes_to_int32(bits_to_bytes(i)));
 | 
				
			||||||
 | 
					            buttons++;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ptr = (unsigned char*)&out[1];
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in->buttons) * 8; i++)
 | 
				
			||||||
 | 
					        g_assert(XIMaskIsSet(in->buttons, i) == XIMaskIsSet(ptr, i));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    valuators = 0;
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in->valuators.mask) * 8; i++)
 | 
				
			||||||
 | 
					        if (XIMaskIsSet(in->valuators.mask, i))
 | 
				
			||||||
 | 
					            valuators++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_assert(out->valuators_len >= bytes_to_int32(bits_to_bytes(valuators)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ptr += out->buttons_len * 4;
 | 
				
			||||||
 | 
					    values = (FP3232*)(ptr + out->valuators_len * 4);
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in->valuators.mask) * 8 ||
 | 
				
			||||||
 | 
					                i < (out->valuators_len * 4) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (i > sizeof(in->valuators.mask) * 8)
 | 
				
			||||||
 | 
					            g_assert(!XIMaskIsSet(ptr, i));
 | 
				
			||||||
 | 
					        else if (i > out->valuators_len * 4 * 8)
 | 
				
			||||||
 | 
					            g_assert(!XIMaskIsSet(in->valuators.mask, i));
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            g_assert(XIMaskIsSet(in->valuators.mask, i) ==
 | 
				
			||||||
 | 
					                     XIMaskIsSet(ptr, i));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (XIMaskIsSet(ptr, i))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                FP3232 vi, vo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                vi.integral = in->valuators.data[i];
 | 
				
			||||||
 | 
					                vi.frac = in->valuators.data_frac[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                vo = *values;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (swap)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    char n;
 | 
				
			||||||
 | 
					                    swapl(&vo.integral, n);
 | 
				
			||||||
 | 
					                    swapl(&vo.frac, n);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                g_assert(vi.integral == vo.integral);
 | 
				
			||||||
 | 
					                g_assert(vi.frac == vo.frac);
 | 
				
			||||||
 | 
					                values++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void test_XIDeviceEvent(DeviceEvent *in)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    xXIDeviceEvent *out, *swapped;
 | 
				
			||||||
 | 
					    int rc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rc = EventToXI2((InternalEvent*)in, (xEvent**)&out);
 | 
				
			||||||
 | 
					    g_assert(rc == Success);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    test_values_XIDeviceEvent(in, out, FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    swapped = xcalloc(1, sizeof(xEvent) + out->length * 4);
 | 
				
			||||||
 | 
					    XI2EventSwap(out, swapped);
 | 
				
			||||||
 | 
					    test_values_XIDeviceEvent(in, swapped, TRUE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    xfree(out);
 | 
				
			||||||
 | 
					    xfree(swapped);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void test_convert_XIDeviceEvent(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    DeviceEvent in;
 | 
				
			||||||
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    memset(&in, 0, sizeof(in));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_test_message("Testing simple field values");
 | 
				
			||||||
 | 
					    in.header = ET_Internal;
 | 
				
			||||||
 | 
					    in.type = ET_Motion;
 | 
				
			||||||
 | 
					    in.length = sizeof(DeviceEvent);
 | 
				
			||||||
 | 
					    in.time             = 0;
 | 
				
			||||||
 | 
					    in.deviceid         = 1;
 | 
				
			||||||
 | 
					    in.sourceid         = 2;
 | 
				
			||||||
 | 
					    in.root             = 3;
 | 
				
			||||||
 | 
					    in.root_x           = 4;
 | 
				
			||||||
 | 
					    in.root_x_frac      = 5;
 | 
				
			||||||
 | 
					    in.root_y           = 6;
 | 
				
			||||||
 | 
					    in.root_y_frac      = 7;
 | 
				
			||||||
 | 
					    in.detail.button    = 8;
 | 
				
			||||||
 | 
					    in.mods.base        = 9;
 | 
				
			||||||
 | 
					    in.mods.latched     = 10;
 | 
				
			||||||
 | 
					    in.mods.locked      = 11;
 | 
				
			||||||
 | 
					    in.mods.effective   = 11;
 | 
				
			||||||
 | 
					    in.group.base       = 12;
 | 
				
			||||||
 | 
					    in.group.latched    = 13;
 | 
				
			||||||
 | 
					    in.group.locked     = 14;
 | 
				
			||||||
 | 
					    in.group.effective  = 15;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_test_message("Testing field ranges");
 | 
				
			||||||
 | 
					    /* 32 bit */
 | 
				
			||||||
 | 
					    in.detail.button = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.detail.button = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.detail.button = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.detail.button = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.detail.button = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 32 bit */
 | 
				
			||||||
 | 
					    in.time = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.time = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.time = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.time = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.time = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 16 bit */
 | 
				
			||||||
 | 
					    in.deviceid = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.deviceid = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.deviceid = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 16 bit */
 | 
				
			||||||
 | 
					    in.sourceid = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.deviceid = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.deviceid = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 32 bit */
 | 
				
			||||||
 | 
					    in.root = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 16 bit */
 | 
				
			||||||
 | 
					    in.root_x = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_x = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_x = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.root_x_frac = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_x_frac = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_x_frac = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.root_y = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_y = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_y = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.root_y_frac = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_y_frac = 1 << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.root_y_frac = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 32 bit */
 | 
				
			||||||
 | 
					    in.mods.base = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.base = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.base = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.base = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.base = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.mods.latched = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.latched = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.latched = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.latched = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.latched = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.mods.locked = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.locked = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.locked = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.locked = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.locked = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.mods.effective = 1L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.effective = 1L << 8;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.effective = 1L << 16;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.effective = 1L << 24;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.effective = ~0L;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 8 bit */
 | 
				
			||||||
 | 
					    in.group.base = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.group.base = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.group.latched = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.group.latched = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.group.locked = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.group.locked = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in.mods.effective = 1;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    in.mods.effective = ~0 & 0xFF;
 | 
				
			||||||
 | 
					    test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_test_message("Testing button masks");
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in.buttons) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        XISetMask(in.buttons, i);
 | 
				
			||||||
 | 
					        test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					        XIClearMask(in.buttons, i);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in.buttons) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        XISetMask(in.buttons, i);
 | 
				
			||||||
 | 
					        test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_test_message("Testing valuator masks");
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in.valuators.mask) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        XISetMask(in.valuators.mask, i);
 | 
				
			||||||
 | 
					        test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					        XIClearMask(in.valuators.mask, i);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in.valuators.mask) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        XISetMask(in.valuators.mask, i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        in.valuators.data[i] = i;
 | 
				
			||||||
 | 
					        in.valuators.data_frac[i] = i + 20;
 | 
				
			||||||
 | 
					        test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					        XIClearMask(in.valuators.mask, i);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (i = 0; i < sizeof(in.valuators.mask) * 8; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        XISetMask(in.valuators.mask, i);
 | 
				
			||||||
 | 
					        test_XIDeviceEvent(&in);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main(int argc, char** argv)
 | 
					int main(int argc, char** argv)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    g_test_init(&argc, &argv,NULL);
 | 
					    g_test_init(&argc, &argv,NULL);
 | 
				
			||||||
| 
						 | 
					@ -274,6 +634,7 @@ int main(int argc, char** argv)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_test_add_func("/xi2/eventconvert/XIRawEvent", test_convert_XIRawEvent);
 | 
					    g_test_add_func("/xi2/eventconvert/XIRawEvent", test_convert_XIRawEvent);
 | 
				
			||||||
    g_test_add_func("/xi2/eventconvert/XIFocusEvent", test_convert_XIFocusEvent);
 | 
					    g_test_add_func("/xi2/eventconvert/XIFocusEvent", test_convert_XIFocusEvent);
 | 
				
			||||||
 | 
					    g_test_add_func("/xi2/eventconvert/XIDeviceEvent", test_convert_XIDeviceEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return g_test_run();
 | 
					    return g_test_run();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue