summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/XChgDCtl.c21
-rw-r--r--src/XGetDCtl.c12
2 files changed, 33 insertions, 0 deletions
diff --git a/src/XChgDCtl.c b/src/XChgDCtl.c
index 9e71475..49e3a52 100644
--- a/src/XChgDCtl.c
+++ b/src/XChgDCtl.c
@@ -153,6 +153,27 @@ XChangeDeviceControl(dpy, dev, control, d)
return rep.status;
}
}
+ case DEVICE_ENABLE:
+ {
+ XDeviceEnableControl *E = (XDeviceEnableControl *) d;
+ xDeviceEnableCtl e;
+
+ e.control = DEVICE_ENABLE;
+ e.length = sizeof(e);
+ e.enable = E->enable;
+
+ req->length += (sizeof(e) + 3) >> 2;
+ Data (dpy, (char *) &e, sizeof(e));
+
+ if (!_XReply(dpy, (xReply *) &rep, 0, xTrue)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
+ return NoSuchExtension;
+ }
+ else {
+ return rep.status;
+ }
+ }
default:
{
xDeviceCtl u;
diff --git a/src/XGetDCtl.c b/src/XGetDCtl.c
index 8d034bf..42f1be6 100644
--- a/src/XGetDCtl.c
+++ b/src/XGetDCtl.c
@@ -182,6 +182,18 @@ XGetDeviceControl(dpy, dev, control)
C->control = DEVICE_CORE;
C->length = sizeof(C);
C->status = c->status;
+ C->iscore = c->iscore;
+
+ break;
+ }
+ case DEVICE_ENABLE:
+ {
+ xDeviceEnableState *e = (xDeviceEnableState *) d;
+ XDeviceEnableState *E = (XDeviceEnableState *) Device;
+
+ E->control = DEVICE_ENABLE;
+ E->length = sizeof(E);
+ E->enable = e->enable;
break;
}