Pass SetDeviceValuators down to the driver.

NOTE: This changes the LocalDeviceRec struct, which breaks input drivers.
This commit is contained in:
Zephaniah E. Hull 2006-10-18 04:57:22 -04:00
parent 6dd4fc4652
commit 1b1698af41
2 changed files with 13 additions and 3 deletions

View File

@ -501,7 +501,13 @@ int
SetDeviceValuators (ClientPtr client, DeviceIntPtr dev, int *valuators,
int first_valuator, int num_valuators)
{
return BadMatch;
LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate;
if (local->set_device_valuators)
return (*local->set_device_valuators)(local, valuators, first_valuator,
num_valuators);
return BadMatch;
}

View File

@ -113,7 +113,7 @@ typedef struct _LocalDeviceRec {
struct _LocalDeviceRec *next;
char * name;
int flags;
Bool (*device_control)(DeviceIntPtr device, int what);
void (*read_input)(struct _LocalDeviceRec *local);
int (*control_proc)(struct _LocalDeviceRec *local,
@ -128,7 +128,11 @@ typedef struct _LocalDeviceRec {
Bool (*reverse_conversion_proc)(
struct _LocalDeviceRec *local,
int x, int y, int *valuators);
int (*set_device_valuators)
(struct _LocalDeviceRec *local,
int *valuators, int first_valuator,
int num_valuators);
int fd;
Atom atom;
DeviceIntPtr dev;