summaryrefslogtreecommitdiff
path: root/Xi/extinit.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-05-04 17:38:02 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-05-06 14:37:33 +1000
commitd220d6907d1d5138d1528c48b739e77f65616225 (patch)
treecaaaa8b401f9de2115f649557afeb74d9917fc87 /Xi/extinit.c
parent1b593ced171d02f1d00034f0f733060706bb6d41 (diff)
Xi: add GrabButton and GrabKeysym code.
We don't do keycode grabs in XI2, they're pointless.
Diffstat (limited to 'Xi/extinit.c')
-rw-r--r--Xi/extinit.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/Xi/extinit.c b/Xi/extinit.c
index fa7031e6c..ea778e62f 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -122,6 +122,7 @@ SOFTWARE.
#include "xiallowev.h"
#include "xiselectev.h"
#include "xigrabdev.h"
+#include "xipassivegrab.h"
#include "xisetdevfocus.h"
#include "xiproperty.h"
@@ -247,7 +248,9 @@ static int (*ProcIVector[])(ClientPtr) = {
ProcXIGetDeviceFocus, /* 50 */
ProcXIGrabDevice, /* 51 */
ProcXIUngrabDevice, /* 52 */
- ProcXIAllowEvents /* 53 */
+ ProcXIAllowEvents, /* 53 */
+ ProcXIPassiveGrabDevice, /* 54 */
+ ProcXIPassiveUngrabDevice /* 55 */
};
/* For swapped clients */
@@ -305,7 +308,9 @@ static int (*SProcIVector[])(ClientPtr) = {
SProcXIGetDeviceFocus, /* 50 */
SProcXIGrabDevice, /* 51 */
SProcXIUngrabDevice, /* 52 */
- SProcXIAllowEvents /* 53 */
+ SProcXIAllowEvents, /* 53 */
+ SProcXIPassiveGrabDevice, /* 54 */
+ SProcXIPassiveUngrabDevice /* 55 */
};
/*****************************************************************
@@ -498,6 +503,8 @@ SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep)
SRepXIQueryDevice(client, len, (xXIQueryDeviceReply*)rep);
else if (rep->RepType == X_XIGrabDevice)
SRepXIGrabDevice(client, len, (xXIGrabDeviceReply *) rep);
+ else if (rep->RepType == X_XIGrabDevice)
+ SRepXIPassiveGrabDevice(client, len, (xXIPassiveGrabDeviceReply *) rep);
else {
FatalError("XINPUT confused sending swapped reply");
}