mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-27 21:22:26 +00:00
Xi: expose Enable/DisableDevice through XI_PROP_ENABLED property.
This commit is contained in:
parent
c9eb0e870c
commit
5bcc45e07e
5 changed files with 93 additions and 0 deletions
|
|
@ -123,6 +123,7 @@ SOFTWARE.
|
|||
#include "warpdevp.h"
|
||||
#include "xiselev.h"
|
||||
#include "xiproperty.c"
|
||||
#include "xiproperty.h"
|
||||
|
||||
|
||||
static Mask lastExtEventMask = 1;
|
||||
|
|
@ -1140,6 +1141,7 @@ XInputExtensionInit(void)
|
|||
IEventBase = extEntry->eventBase;
|
||||
AllExtensionVersions[IReqCode - 128] = thisversion;
|
||||
MakeDeviceTypeAtoms();
|
||||
XIInitKnownProperties();
|
||||
RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone);
|
||||
RegisterResourceName(RT_INPUTCLIENT, "INPUTCLIENT");
|
||||
FixExtensionEvents(extEntry);
|
||||
|
|
|
|||
|
|
@ -39,8 +39,54 @@
|
|||
|
||||
#include "xiproperty.h"
|
||||
|
||||
/**
|
||||
* Properties used or alloced from inside the server.
|
||||
*/
|
||||
static struct dev_properties
|
||||
{
|
||||
Atom type;
|
||||
char *name;
|
||||
} dev_properties[] = {
|
||||
{0, XI_PROP_ENABLED}
|
||||
};
|
||||
|
||||
static long XIPropHandlerID = 1;
|
||||
|
||||
/**
|
||||
* Return the type assigned to the specified atom or 0 if the atom isn't known
|
||||
* to the DIX.
|
||||
*/
|
||||
_X_EXPORT Atom
|
||||
XIGetKnownProperty(char *name)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++)
|
||||
{
|
||||
if (strcmp(name, dev_properties[i].name) == 0)
|
||||
return dev_properties[i].type;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Init those properties that are allocated by the server and most likely used
|
||||
* by the DIX or the DDX.
|
||||
*/
|
||||
void
|
||||
XIInitKnownProperties(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++)
|
||||
{
|
||||
dev_properties[i].type =
|
||||
MakeAtom(dev_properties[i].name,
|
||||
strlen(dev_properties[i].name),
|
||||
TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Registers a new property handler on the given device and returns a unique
|
||||
* identifier for this handler. This identifier is required to unregister the
|
||||
* property handler again.
|
||||
|
|
|
|||
|
|
@ -40,4 +40,6 @@ int SProcXChangeDeviceProperty (ClientPtr client);
|
|||
int SProcXDeleteDeviceProperty (ClientPtr client);
|
||||
int SProcXGetDeviceProperty (ClientPtr client);
|
||||
|
||||
void XIInitKnownProperties(void);
|
||||
|
||||
#endif /* XIPROPERTY_C */
|
||||
|
|
|
|||
Loading…
Reference in a new issue