Merge remote-tracking branch 'whot/for-keith'
This commit is contained in:
		
						commit
						a22486f848
					
				
							
								
								
									
										72
									
								
								Xi/chgdctl.c
								
								
								
								
							
							
						
						
									
										72
									
								
								Xi/chgdctl.c
								
								
								
								
							| 
						 | 
					@ -76,8 +76,6 @@ SProcXChangeDeviceControl(ClientPtr client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    char n;
 | 
					    char n;
 | 
				
			||||||
    xDeviceCtl *ctl;
 | 
					    xDeviceCtl *ctl;
 | 
				
			||||||
    xDeviceAbsCalibCtl *calib;
 | 
					 | 
				
			||||||
    xDeviceAbsAreaCtl *area;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    REQUEST(xChangeDeviceControlReq);
 | 
					    REQUEST(xChangeDeviceControlReq);
 | 
				
			||||||
    swaps(&stuff->length, n);
 | 
					    swaps(&stuff->length, n);
 | 
				
			||||||
| 
						 | 
					@ -88,26 +86,7 @@ SProcXChangeDeviceControl(ClientPtr client)
 | 
				
			||||||
    swaps(&ctl->length, n);
 | 
					    swaps(&ctl->length, n);
 | 
				
			||||||
    switch(stuff->control) {
 | 
					    switch(stuff->control) {
 | 
				
			||||||
        case DEVICE_ABS_CALIB:
 | 
					        case DEVICE_ABS_CALIB:
 | 
				
			||||||
            calib = (xDeviceAbsCalibCtl*)ctl;
 | 
					 | 
				
			||||||
            swaps(&calib->length, n);
 | 
					 | 
				
			||||||
            swapl(&calib->min_x, n);
 | 
					 | 
				
			||||||
            swapl(&calib->max_x, n);
 | 
					 | 
				
			||||||
            swapl(&calib->min_y, n);
 | 
					 | 
				
			||||||
            swapl(&calib->max_y, n);
 | 
					 | 
				
			||||||
            swapl(&calib->flip_x, n);
 | 
					 | 
				
			||||||
            swapl(&calib->flip_y, n);
 | 
					 | 
				
			||||||
            swapl(&calib->rotation, n);
 | 
					 | 
				
			||||||
            swapl(&calib->button_threshold, n);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case DEVICE_ABS_AREA:
 | 
					        case DEVICE_ABS_AREA:
 | 
				
			||||||
            area = (xDeviceAbsAreaCtl*)ctl;
 | 
					 | 
				
			||||||
            swapl(&area->offset_x, n);
 | 
					 | 
				
			||||||
            swapl(&area->offset_y, n);
 | 
					 | 
				
			||||||
            swapl(&area->width, n);
 | 
					 | 
				
			||||||
            swapl(&area->height, n);
 | 
					 | 
				
			||||||
            swapl(&area->screen, n);
 | 
					 | 
				
			||||||
            swapl(&area->following, n);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case DEVICE_CORE:
 | 
					        case DEVICE_CORE:
 | 
				
			||||||
        case DEVICE_ENABLE:
 | 
					        case DEVICE_ENABLE:
 | 
				
			||||||
        case DEVICE_RESOLUTION:
 | 
					        case DEVICE_RESOLUTION:
 | 
				
			||||||
| 
						 | 
					@ -134,8 +113,6 @@ ProcXChangeDeviceControl(ClientPtr client)
 | 
				
			||||||
    xChangeDeviceControlReply rep;
 | 
					    xChangeDeviceControlReply rep;
 | 
				
			||||||
    AxisInfoPtr a;
 | 
					    AxisInfoPtr a;
 | 
				
			||||||
    CARD32 *resolution;
 | 
					    CARD32 *resolution;
 | 
				
			||||||
    xDeviceAbsCalibCtl *calib;
 | 
					 | 
				
			||||||
    xDeviceAbsAreaCtl *area;
 | 
					 | 
				
			||||||
    xDeviceEnableCtl *e;
 | 
					    xDeviceEnableCtl *e;
 | 
				
			||||||
    devicePresenceNotify dpn;
 | 
					    devicePresenceNotify dpn;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -193,53 +170,10 @@ ProcXChangeDeviceControl(ClientPtr client)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					    case DEVICE_ABS_CALIB:
 | 
				
			||||||
        calib = (xDeviceAbsCalibCtl *)&stuff[1];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (calib->button_threshold < 0 || calib->button_threshold > 255) {
 | 
					 | 
				
			||||||
            ret = BadValue;
 | 
					 | 
				
			||||||
            goto out;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (status == Success) {
 | 
					 | 
				
			||||||
            dev->absolute->min_x = calib->min_x;
 | 
					 | 
				
			||||||
            dev->absolute->max_x = calib->max_x;
 | 
					 | 
				
			||||||
            dev->absolute->min_y = calib->min_y;
 | 
					 | 
				
			||||||
            dev->absolute->max_y = calib->max_y;
 | 
					 | 
				
			||||||
            dev->absolute->flip_x = calib->flip_x;
 | 
					 | 
				
			||||||
            dev->absolute->flip_y = calib->flip_y;
 | 
					 | 
				
			||||||
            dev->absolute->rotation = calib->rotation;
 | 
					 | 
				
			||||||
            dev->absolute->button_threshold = calib->button_threshold;
 | 
					 | 
				
			||||||
            ret = Success;
 | 
					 | 
				
			||||||
        } else if (status == DeviceBusy || status == BadValue) {
 | 
					 | 
				
			||||||
            rep.status = status;
 | 
					 | 
				
			||||||
            ret = Success;
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            ret = BadMatch;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        break;
 | 
					 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					    case DEVICE_ABS_AREA:
 | 
				
			||||||
        area = (xDeviceAbsAreaCtl *)&stuff[1];
 | 
					        /* Calibration is now done through properties, and never had any effect
 | 
				
			||||||
 | 
					         * on anything (in the open-source world). Thus, be honest. */
 | 
				
			||||||
        status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area);
 | 
					        ret = BadMatch;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (status == Success) {
 | 
					 | 
				
			||||||
            dev->absolute->offset_x = area->offset_x;
 | 
					 | 
				
			||||||
            dev->absolute->offset_y = area->offset_y;
 | 
					 | 
				
			||||||
            dev->absolute->width = area->width;
 | 
					 | 
				
			||||||
            dev->absolute->height = area->height;
 | 
					 | 
				
			||||||
            dev->absolute->screen = area->screen;
 | 
					 | 
				
			||||||
            dev->absolute->following = area->following;
 | 
					 | 
				
			||||||
            ret = Success;
 | 
					 | 
				
			||||||
        } else if (status == DeviceBusy || status == BadValue) {
 | 
					 | 
				
			||||||
            rep.status = status;
 | 
					 | 
				
			||||||
            ret = Success;
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            ret = Success;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    case DEVICE_CORE:
 | 
					    case DEVICE_CORE:
 | 
				
			||||||
        /* Sorry, no device core switching no more. If you want a device to
 | 
					        /* Sorry, no device core switching no more. If you want a device to
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -626,30 +626,6 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
 | 
				
			||||||
        classes->proximity = to->proximity;
 | 
					        classes->proximity = to->proximity;
 | 
				
			||||||
        to->proximity      = NULL;
 | 
					        to->proximity      = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (from->absolute)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        if (!to->absolute)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            classes = to->unused_classes;
 | 
					 | 
				
			||||||
            to->absolute = classes->absolute;
 | 
					 | 
				
			||||||
            if (!to->absolute)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                to->absolute = calloc(1, sizeof(AbsoluteClassRec));
 | 
					 | 
				
			||||||
                if (!to->absolute)
 | 
					 | 
				
			||||||
                    FatalError("[Xi] no memory for class shift.\n");
 | 
					 | 
				
			||||||
            } else
 | 
					 | 
				
			||||||
                classes->absolute = NULL;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        memcpy(to->absolute, from->absolute, sizeof(AbsoluteClassRec));
 | 
					 | 
				
			||||||
        to->absolute->sourceid = from->id;
 | 
					 | 
				
			||||||
    } else if (to->absolute)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        ClassesPtr classes;
 | 
					 | 
				
			||||||
        classes = to->unused_classes;
 | 
					 | 
				
			||||||
        classes->absolute = to->absolute;
 | 
					 | 
				
			||||||
        to->absolute      = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										73
									
								
								Xi/getdctl.c
								
								
								
								
							
							
						
						
									
										73
									
								
								Xi/getdctl.c
								
								
								
								
							| 
						 | 
					@ -118,64 +118,6 @@ CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts,
 | 
					 | 
				
			||||||
                                char *buf)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    char n;
 | 
					 | 
				
			||||||
    xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    calib->control = DEVICE_ABS_CALIB;
 | 
					 | 
				
			||||||
    calib->length = sizeof(xDeviceAbsCalibState);
 | 
					 | 
				
			||||||
    calib->min_x = dts->min_x;
 | 
					 | 
				
			||||||
    calib->max_x = dts->max_x;
 | 
					 | 
				
			||||||
    calib->min_y = dts->min_y;
 | 
					 | 
				
			||||||
    calib->max_y = dts->max_y;
 | 
					 | 
				
			||||||
    calib->flip_x = dts->flip_x;
 | 
					 | 
				
			||||||
    calib->flip_y = dts->flip_y;
 | 
					 | 
				
			||||||
    calib->rotation = dts->rotation;
 | 
					 | 
				
			||||||
    calib->button_threshold = dts->button_threshold;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (client->swapped) {
 | 
					 | 
				
			||||||
        swaps(&calib->control, n);
 | 
					 | 
				
			||||||
        swaps(&calib->length, n);
 | 
					 | 
				
			||||||
        swapl(&calib->min_x, n);
 | 
					 | 
				
			||||||
        swapl(&calib->max_x, n);
 | 
					 | 
				
			||||||
        swapl(&calib->min_y, n);
 | 
					 | 
				
			||||||
        swapl(&calib->max_y, n);
 | 
					 | 
				
			||||||
        swapl(&calib->flip_x, n);
 | 
					 | 
				
			||||||
        swapl(&calib->flip_y, n);
 | 
					 | 
				
			||||||
        swapl(&calib->rotation, n);
 | 
					 | 
				
			||||||
        swapl(&calib->button_threshold, n);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts,
 | 
					 | 
				
			||||||
                                char *buf)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    char n;
 | 
					 | 
				
			||||||
    xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    area->control = DEVICE_ABS_AREA;
 | 
					 | 
				
			||||||
    area->length = sizeof(xDeviceAbsAreaState);
 | 
					 | 
				
			||||||
    area->offset_x = dts->offset_x;
 | 
					 | 
				
			||||||
    area->offset_y = dts->offset_y;
 | 
					 | 
				
			||||||
    area->width = dts->width;
 | 
					 | 
				
			||||||
    area->height = dts->height;
 | 
					 | 
				
			||||||
    area->screen = dts->screen;
 | 
					 | 
				
			||||||
    area->following = dts->following;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (client->swapped) {
 | 
					 | 
				
			||||||
        swaps(&area->control, n);
 | 
					 | 
				
			||||||
        swaps(&area->length, n);
 | 
					 | 
				
			||||||
        swapl(&area->offset_x, n);
 | 
					 | 
				
			||||||
        swapl(&area->offset_y, n);
 | 
					 | 
				
			||||||
        swapl(&area->width, n);
 | 
					 | 
				
			||||||
        swapl(&area->height, n);
 | 
					 | 
				
			||||||
        swapl(&area->screen, n);
 | 
					 | 
				
			||||||
        swapl(&area->following, n);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf)
 | 
					static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    char n;
 | 
					    char n;
 | 
				
			||||||
| 
						 | 
					@ -260,17 +202,8 @@ ProcXGetDeviceControl(ClientPtr client)
 | 
				
			||||||
	    (3 * sizeof(int) * dev->valuator->numAxes);
 | 
						    (3 * sizeof(int) * dev->valuator->numAxes);
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					    case DEVICE_ABS_CALIB:
 | 
				
			||||||
        if (!dev->absolute)
 | 
					 | 
				
			||||||
	    return BadMatch;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        total_length = sizeof(xDeviceAbsCalibState);
 | 
					 | 
				
			||||||
        break;
 | 
					 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					    case DEVICE_ABS_AREA:
 | 
				
			||||||
        if (!dev->absolute)
 | 
					 | 
				
			||||||
        return BadMatch;
 | 
					        return BadMatch;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        total_length = sizeof(xDeviceAbsAreaState);
 | 
					 | 
				
			||||||
        break;
 | 
					 | 
				
			||||||
    case DEVICE_CORE:
 | 
					    case DEVICE_CORE:
 | 
				
			||||||
        total_length = sizeof(xDeviceCoreState);
 | 
					        total_length = sizeof(xDeviceCoreState);
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
| 
						 | 
					@ -290,12 +223,6 @@ ProcXGetDeviceControl(ClientPtr client)
 | 
				
			||||||
    case DEVICE_RESOLUTION:
 | 
					    case DEVICE_RESOLUTION:
 | 
				
			||||||
	CopySwapDeviceResolution(client, dev->valuator, buf, total_length);
 | 
						CopySwapDeviceResolution(client, dev->valuator, buf, total_length);
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					 | 
				
			||||||
        CopySwapDeviceAbsCalib(client, dev->absolute, buf);
 | 
					 | 
				
			||||||
        break;
 | 
					 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					 | 
				
			||||||
        CopySwapDeviceAbsArea(client, dev->absolute, buf);
 | 
					 | 
				
			||||||
        break;
 | 
					 | 
				
			||||||
    case DEVICE_CORE:
 | 
					    case DEVICE_CORE:
 | 
				
			||||||
        CopySwapDeviceCore(client, dev, buf);
 | 
					        CopySwapDeviceCore(client, dev, buf);
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								Xi/stubs.c
								
								
								
								
							
							
						
						
									
										10
									
								
								Xi/stubs.c
								
								
								
								
							| 
						 | 
					@ -115,17 +115,7 @@ int
 | 
				
			||||||
ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev,
 | 
					ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev,
 | 
				
			||||||
		    xDeviceCtl * control)
 | 
							    xDeviceCtl * control)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    switch (control->control) {
 | 
					 | 
				
			||||||
    case DEVICE_RESOLUTION:
 | 
					 | 
				
			||||||
    return BadMatch;
 | 
					    return BadMatch;
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					 | 
				
			||||||
        return BadMatch;
 | 
					 | 
				
			||||||
    case DEVICE_CORE:
 | 
					 | 
				
			||||||
        return BadMatch;
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
	return BadMatch;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -255,6 +255,10 @@ wakeup_handler(pointer data, int err, pointer read_mask)
 | 
				
			||||||
                device_added(udev_device);
 | 
					                device_added(udev_device);
 | 
				
			||||||
            else if (!strcmp(action, "remove"))
 | 
					            else if (!strcmp(action, "remove"))
 | 
				
			||||||
                device_removed(udev_device);
 | 
					                device_removed(udev_device);
 | 
				
			||||||
 | 
					            else if (!strcmp(action, "change")) {
 | 
				
			||||||
 | 
					                device_removed(udev_device);
 | 
				
			||||||
 | 
					                device_added(udev_device);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        udev_device_unref(udev_device);
 | 
					        udev_device_unref(udev_device);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1336,34 +1336,10 @@ InitPointerAccelerationScheme(DeviceIntPtr dev,
 | 
				
			||||||
Bool
 | 
					Bool
 | 
				
			||||||
InitAbsoluteClassDeviceStruct(DeviceIntPtr dev)
 | 
					InitAbsoluteClassDeviceStruct(DeviceIntPtr dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    AbsoluteClassPtr abs;
 | 
					    /* This is an API-preserving noop. Instructions: Kill when no more drivers
 | 
				
			||||||
 | 
					     * call it. The infrastructure behind hasn't really been used, so any calls
 | 
				
			||||||
    abs = malloc(sizeof(AbsoluteClassRec));
 | 
					     * are likely just a declaration that the device is absolute. */
 | 
				
			||||||
    if (!abs)
 | 
					 | 
				
			||||||
    return FALSE;
 | 
					    return FALSE;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* we don't do anything sensible with these, but should */
 | 
					 | 
				
			||||||
    abs->min_x = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->min_y = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->max_x = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->max_y = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->flip_x = 0;
 | 
					 | 
				
			||||||
    abs->flip_y = 0;
 | 
					 | 
				
			||||||
    abs->rotation = 0;
 | 
					 | 
				
			||||||
    abs->button_threshold = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    abs->offset_x = 0;
 | 
					 | 
				
			||||||
    abs->offset_y = 0;
 | 
					 | 
				
			||||||
    abs->width = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->height = NO_AXIS_LIMITS;
 | 
					 | 
				
			||||||
    abs->following = 0;
 | 
					 | 
				
			||||||
    abs->screen = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    abs->sourceid = dev->id;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dev->absolute = abs;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return TRUE;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Bool
 | 
					Bool
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -477,7 +477,6 @@ KdPointerProc(DeviceIntPtr pDevice, int onoff)
 | 
				
			||||||
        free(axes_labels);
 | 
					        free(axes_labels);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (pi->inputClass == KD_TOUCHSCREEN) {
 | 
					        if (pi->inputClass == KD_TOUCHSCREEN) {
 | 
				
			||||||
            InitAbsoluteClassDeviceStruct(pDevice);
 | 
					 | 
				
			||||||
            xiclass = AtomFromName(XI_TOUCHSCREEN);
 | 
					            xiclass = AtomFromName(XI_TOUCHSCREEN);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else {
 | 
					        else {
 | 
				
			||||||
| 
						 | 
					@ -2204,8 +2203,6 @@ ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					    case DEVICE_ABS_CALIB:
 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					    case DEVICE_ABS_AREA:
 | 
				
			||||||
        return Success;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    case DEVICE_CORE:
 | 
					    case DEVICE_CORE:
 | 
				
			||||||
        return BadMatch;
 | 
					        return BadMatch;
 | 
				
			||||||
    case DEVICE_ENABLE:
 | 
					    case DEVICE_ENABLE:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -405,10 +405,10 @@ ChangeDeviceControl (ClientPtr client, DeviceIntPtr dev, xDeviceCtl *control)
 | 
				
			||||||
  if (!pInfo->control_proc) {
 | 
					  if (!pInfo->control_proc) {
 | 
				
			||||||
      switch (control->control) {
 | 
					      switch (control->control) {
 | 
				
			||||||
      case DEVICE_CORE:
 | 
					      case DEVICE_CORE:
 | 
				
			||||||
          return BadMatch;
 | 
					 | 
				
			||||||
      case DEVICE_RESOLUTION:
 | 
					 | 
				
			||||||
      case DEVICE_ABS_CALIB:
 | 
					      case DEVICE_ABS_CALIB:
 | 
				
			||||||
      case DEVICE_ABS_AREA:
 | 
					      case DEVICE_ABS_AREA:
 | 
				
			||||||
 | 
					          return BadMatch;
 | 
				
			||||||
 | 
					      case DEVICE_RESOLUTION:
 | 
				
			||||||
      case DEVICE_ENABLE:
 | 
					      case DEVICE_ENABLE:
 | 
				
			||||||
        return Success;
 | 
					        return Success;
 | 
				
			||||||
      default:
 | 
					      default:
 | 
				
			||||||
| 
						 | 
					@ -775,6 +775,8 @@ xf86NewInputDevice(InputInfoPtr pInfo, DeviceIntPtr *pdev, BOOL enable)
 | 
				
			||||||
        goto unwind;
 | 
					        goto unwind;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    xf86Msg(X_INFO, "Using input driver '%s' for '%s'\n", drv->driverName, pInfo->name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!drv->PreInit) {
 | 
					    if (!drv->PreInit) {
 | 
				
			||||||
        xf86Msg(X_ERROR,
 | 
					        xf86Msg(X_ERROR,
 | 
				
			||||||
                "Input driver `%s' has no PreInit function (ignoring)\n",
 | 
					                "Input driver `%s' has no PreInit function (ignoring)\n",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -314,7 +314,6 @@ static int DarwinMouseProc(DeviceIntPtr pPointer, int what) {
 | 
				
			||||||
                                    (PtrCtrlProcPtr)NoopDDA,
 | 
					                                    (PtrCtrlProcPtr)NoopDDA,
 | 
				
			||||||
                                    GetMotionHistorySize(), NAXES,
 | 
					                                    GetMotionHistorySize(), NAXES,
 | 
				
			||||||
                                    axes_labels);
 | 
					                                    axes_labels);
 | 
				
			||||||
            InitAbsoluteClassDeviceStruct(pPointer);
 | 
					 | 
				
			||||||
//            InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
					//            InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
				
			||||||
//            InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
					//            InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
| 
						 | 
					@ -362,7 +361,6 @@ static int DarwinTabletProc(DeviceIntPtr pPointer, int what) {
 | 
				
			||||||
                                    GetMotionHistorySize(), NAXES,
 | 
					                                    GetMotionHistorySize(), NAXES,
 | 
				
			||||||
                                    axes_labels);
 | 
					                                    axes_labels);
 | 
				
			||||||
            InitProximityClassDeviceStruct(pPointer);
 | 
					            InitProximityClassDeviceStruct(pPointer);
 | 
				
			||||||
			InitAbsoluteClassDeviceStruct(pPointer);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            InitValuatorAxisStruct(pPointer, 0, axes_labels[0], 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
					            InitValuatorAxisStruct(pPointer, 0, axes_labels[0], 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
				
			||||||
            InitValuatorAxisStruct(pPointer, 1, axes_labels[1], 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
					            InitValuatorAxisStruct(pPointer, 1, axes_labels[1], 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -117,17 +117,7 @@ ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  DEBUG_LOG("ChangeDeviceControl(%p, %p, %p)\n", client, dev, control);
 | 
					  DEBUG_LOG("ChangeDeviceControl(%p, %p, %p)\n", client, dev, control);
 | 
				
			||||||
    switch (control->control) {
 | 
					 | 
				
			||||||
    case DEVICE_RESOLUTION:
 | 
					 | 
				
			||||||
  return BadMatch;
 | 
					  return BadMatch;
 | 
				
			||||||
    case DEVICE_ABS_CALIB:
 | 
					 | 
				
			||||||
    case DEVICE_ABS_AREA:
 | 
					 | 
				
			||||||
        return BadMatch;
 | 
					 | 
				
			||||||
    case DEVICE_CORE:
 | 
					 | 
				
			||||||
        return BadMatch;
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
	return BadMatch;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -311,7 +311,10 @@ extern _X_EXPORT Bool InitPointerAccelerationScheme(
 | 
				
			||||||
    DeviceIntPtr /*dev*/,
 | 
					    DeviceIntPtr /*dev*/,
 | 
				
			||||||
    int /*scheme*/);
 | 
					    int /*scheme*/);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern _X_EXPORT Bool InitAbsoluteClassDeviceStruct(
 | 
					/**
 | 
				
			||||||
 | 
					 * This is not implemented and just returns FALSE.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					extern _X_EXPORT _X_DEPRECATED Bool InitAbsoluteClassDeviceStruct(
 | 
				
			||||||
    DeviceIntPtr /*device*/);
 | 
					    DeviceIntPtr /*device*/);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern _X_EXPORT Bool InitFocusClassDeviceStruct(
 | 
					extern _X_EXPORT Bool InitFocusClassDeviceStruct(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -317,27 +317,6 @@ typedef struct _ProximityClassRec {
 | 
				
			||||||
    char	in_proximity;
 | 
					    char	in_proximity;
 | 
				
			||||||
} ProximityClassRec, *ProximityClassPtr;
 | 
					} ProximityClassRec, *ProximityClassPtr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct _AbsoluteClassRec {
 | 
					 | 
				
			||||||
    int         sourceid;
 | 
					 | 
				
			||||||
    /* Calibration. */
 | 
					 | 
				
			||||||
    int         min_x;
 | 
					 | 
				
			||||||
    int         max_x;
 | 
					 | 
				
			||||||
    int         min_y;
 | 
					 | 
				
			||||||
    int         max_y;
 | 
					 | 
				
			||||||
    int         flip_x;
 | 
					 | 
				
			||||||
    int         flip_y;
 | 
					 | 
				
			||||||
    int		rotation;
 | 
					 | 
				
			||||||
    int         button_threshold;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Area. */
 | 
					 | 
				
			||||||
    int         offset_x;
 | 
					 | 
				
			||||||
    int         offset_y;
 | 
					 | 
				
			||||||
    int         width;
 | 
					 | 
				
			||||||
    int         height;
 | 
					 | 
				
			||||||
    int         screen;
 | 
					 | 
				
			||||||
    XID		following;
 | 
					 | 
				
			||||||
} AbsoluteClassRec, *AbsoluteClassPtr;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr;
 | 
					typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr;
 | 
				
			||||||
typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr;
 | 
					typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr;
 | 
				
			||||||
typedef struct _IntegerFeedbackClassRec *IntegerFeedbackPtr;
 | 
					typedef struct _IntegerFeedbackClassRec *IntegerFeedbackPtr;
 | 
				
			||||||
| 
						 | 
					@ -392,7 +371,7 @@ typedef struct _ClassesRec {
 | 
				
			||||||
    ButtonClassPtr	button;
 | 
					    ButtonClassPtr	button;
 | 
				
			||||||
    FocusClassPtr	focus;
 | 
					    FocusClassPtr	focus;
 | 
				
			||||||
    ProximityClassPtr	proximity;
 | 
					    ProximityClassPtr	proximity;
 | 
				
			||||||
    AbsoluteClassPtr    absolute;
 | 
					    void*               _pad0; /* keep ABI during AbsoluteClass removal */
 | 
				
			||||||
    KbdFeedbackPtr	kbdfeed;
 | 
					    KbdFeedbackPtr	kbdfeed;
 | 
				
			||||||
    PtrFeedbackPtr	ptrfeed;
 | 
					    PtrFeedbackPtr	ptrfeed;
 | 
				
			||||||
    IntegerFeedbackPtr	intfeed;
 | 
					    IntegerFeedbackPtr	intfeed;
 | 
				
			||||||
| 
						 | 
					@ -517,7 +496,7 @@ typedef struct _DeviceIntRec {
 | 
				
			||||||
    ButtonClassPtr	button;
 | 
					    ButtonClassPtr	button;
 | 
				
			||||||
    FocusClassPtr	focus;
 | 
					    FocusClassPtr	focus;
 | 
				
			||||||
    ProximityClassPtr	proximity;
 | 
					    ProximityClassPtr	proximity;
 | 
				
			||||||
    AbsoluteClassPtr    absolute;
 | 
					    void*               _pad0;          /* keep ABI, was pointer to abs class */
 | 
				
			||||||
    KbdFeedbackPtr	kbdfeed;
 | 
					    KbdFeedbackPtr	kbdfeed;
 | 
				
			||||||
    PtrFeedbackPtr	ptrfeed;
 | 
					    PtrFeedbackPtr	ptrfeed;
 | 
				
			||||||
    IntegerFeedbackPtr	intfeed;
 | 
					    IntegerFeedbackPtr	intfeed;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,10 +2,10 @@ if ENABLE_UNIT_TESTS
 | 
				
			||||||
if HAVE_GLIB
 | 
					if HAVE_GLIB
 | 
				
			||||||
if HAVE_LD_WRAP
 | 
					if HAVE_LD_WRAP
 | 
				
			||||||
SUBDIRS= . xi2
 | 
					SUBDIRS= . xi2
 | 
				
			||||||
check_PROGRAMS = xkb input xtest list
 | 
					noinst_PROGRAMS = xkb input xtest list
 | 
				
			||||||
check_LTLIBRARIES = libxservertest.la
 | 
					check_LTLIBRARIES = libxservertest.la
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TESTS=$(check_PROGRAMS)
 | 
					TESTS=$(noinst_PROGRAMS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
 | 
					AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
 | 
				
			||||||
INCLUDES = @XORG_INCS@
 | 
					INCLUDES = @XORG_INCS@
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
if ENABLE_UNIT_TESTS
 | 
					if ENABLE_UNIT_TESTS
 | 
				
			||||||
if HAVE_GLIB
 | 
					if HAVE_GLIB
 | 
				
			||||||
if HAVE_LD_WRAP
 | 
					if HAVE_LD_WRAP
 | 
				
			||||||
check_PROGRAMS =  \
 | 
					noinst_PROGRAMS =  \
 | 
				
			||||||
	protocol-xiqueryversion \
 | 
						protocol-xiqueryversion \
 | 
				
			||||||
	protocol-xiquerydevice \
 | 
						protocol-xiquerydevice \
 | 
				
			||||||
	protocol-xiselectevents \
 | 
						protocol-xiselectevents \
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,7 @@ check_PROGRAMS =  \
 | 
				
			||||||
        protocol-xiwarppointer \
 | 
					        protocol-xiwarppointer \
 | 
				
			||||||
        protocol-eventconvert
 | 
					        protocol-eventconvert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TESTS=$(check_PROGRAMS)
 | 
					TESTS=$(noinst_PROGRAMS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
 | 
					AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
 | 
				
			||||||
INCLUDES = @XORG_INCS@
 | 
					INCLUDES = @XORG_INCS@
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue