diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-04 17:38:02 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-06 14:37:33 +1000 |
commit | d220d6907d1d5138d1528c48b739e77f65616225 (patch) | |
tree | caaaa8b401f9de2115f649557afeb74d9917fc87 /Xi/extinit.c | |
parent | 1b593ced171d02f1d00034f0f733060706bb6d41 (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.c | 11 |
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"); } |