dix: Change AllocMaster into AllocDevicePair, allow creation of SDs too.
Allocating a slave device is essentially the same as allocating a master device. Hence we rename AllocMaster to AllocDevicePair and provided the ability to indicate if a master or slave device pair is required. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
e2e5932bda
commit
826a5bff01
|
@ -108,7 +108,7 @@ ProcXChangeDeviceHierarchy(ClientPtr client)
|
||||||
strncpy(name, (char*)&c[1], c->namelen);
|
strncpy(name, (char*)&c[1], c->namelen);
|
||||||
|
|
||||||
|
|
||||||
rc = AllocMasterDevice(client, name, &ptr, &keybd);
|
rc = AllocDevicePair(client, name, &ptr, &keybd, TRUE);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
{
|
{
|
||||||
xfree(name);
|
xfree(name);
|
||||||
|
|
|
@ -545,9 +545,9 @@ CorePointerProc(DeviceIntPtr pDev, int what)
|
||||||
void
|
void
|
||||||
InitCoreDevices(void)
|
InitCoreDevices(void)
|
||||||
{
|
{
|
||||||
if (AllocMasterDevice(serverClient, "Virtual core",
|
if (AllocDevicePair(serverClient, "Virtual core",
|
||||||
&inputInfo.pointer,
|
&inputInfo.pointer, &inputInfo.keyboard,
|
||||||
&inputInfo.keyboard) != Success)
|
TRUE) != Success)
|
||||||
FatalError("Failed to allocate core devices");
|
FatalError("Failed to allocate core devices");
|
||||||
|
|
||||||
if (ActivateDevice(inputInfo.pointer) != Success ||
|
if (ActivateDevice(inputInfo.pointer) != Success ||
|
||||||
|
@ -2270,12 +2270,16 @@ GetPairedDevice(DeviceIntPtr dev)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new master device (== one pointer, one keyboard device).
|
* Create a new device pair (== one pointer, one keyboard device).
|
||||||
* Only allocates the devices, you will need to call ActivateDevice() and
|
* Only allocates the devices, you will need to call ActivateDevice() and
|
||||||
* EnableDevice() manually.
|
* EnableDevice() manually.
|
||||||
|
* Either a master or a slave device can be created depending on
|
||||||
|
* the value for master.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
AllocMasterDevice(ClientPtr client, char* name, DeviceIntPtr* ptr, DeviceIntPtr* keybd)
|
AllocDevicePair (ClientPtr client, char* name,
|
||||||
|
DeviceIntPtr* ptr, DeviceIntPtr* keybd,
|
||||||
|
Bool master)
|
||||||
{
|
{
|
||||||
DeviceIntPtr pointer;
|
DeviceIntPtr pointer;
|
||||||
DeviceIntPtr keyboard;
|
DeviceIntPtr keyboard;
|
||||||
|
@ -2299,7 +2303,7 @@ AllocMasterDevice(ClientPtr client, char* name, DeviceIntPtr* ptr, DeviceIntPtr*
|
||||||
pointer->spriteInfo->spriteOwner = TRUE;
|
pointer->spriteInfo->spriteOwner = TRUE;
|
||||||
|
|
||||||
pointer->u.lastSlave = NULL;
|
pointer->u.lastSlave = NULL;
|
||||||
pointer->isMaster = TRUE;
|
pointer->isMaster = master;
|
||||||
|
|
||||||
keyboard = AddInputDevice(client, CoreKeyboardProc, TRUE);
|
keyboard = AddInputDevice(client, CoreKeyboardProc, TRUE);
|
||||||
if (!keyboard)
|
if (!keyboard)
|
||||||
|
@ -2321,7 +2325,7 @@ AllocMasterDevice(ClientPtr client, char* name, DeviceIntPtr* ptr, DeviceIntPtr*
|
||||||
keyboard->spriteInfo->spriteOwner = FALSE;
|
keyboard->spriteInfo->spriteOwner = FALSE;
|
||||||
|
|
||||||
keyboard->u.lastSlave = NULL;
|
keyboard->u.lastSlave = NULL;
|
||||||
keyboard->isMaster = TRUE;
|
keyboard->isMaster = master;
|
||||||
|
|
||||||
|
|
||||||
/* The ClassesRec stores the device classes currently not used. */
|
/* The ClassesRec stores the device classes currently not used. */
|
||||||
|
|
|
@ -468,10 +468,11 @@ extern _X_EXPORT int AttachDevice(ClientPtr client,
|
||||||
|
|
||||||
extern _X_EXPORT DeviceIntPtr GetPairedDevice(DeviceIntPtr kbd);
|
extern _X_EXPORT DeviceIntPtr GetPairedDevice(DeviceIntPtr kbd);
|
||||||
|
|
||||||
extern _X_EXPORT int AllocMasterDevice(ClientPtr client,
|
extern _X_EXPORT int AllocDevicePair(ClientPtr client,
|
||||||
char* name,
|
char* name,
|
||||||
DeviceIntPtr* ptr,
|
DeviceIntPtr* ptr,
|
||||||
DeviceIntPtr* keybd);
|
DeviceIntPtr* keybd,
|
||||||
|
Bool master);
|
||||||
extern _X_EXPORT void DeepCopyDeviceClasses(DeviceIntPtr from,
|
extern _X_EXPORT void DeepCopyDeviceClasses(DeviceIntPtr from,
|
||||||
DeviceIntPtr to);
|
DeviceIntPtr to);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue