[PATCH 01/12] Xi: remove all new XI2 protocol requests and their handling.
Peter Hutterer
peter.hutterer at who-t.net
Thu Nov 27 23:02:59 PST 2008
From: Peter Hutterer <peter.hutterer at redhat.com>
This commit reverts to XI 1.4 requests, plus the input device property
requests.
Signed-off-by: Peter Hutterer <peter.hutterer at redhat.com>
---
Xi/Makefile.am | 18 +---
Xi/chdevcur.c | 111 --------------------
Xi/chdevcur.h | 39 -------
Xi/chdevhier.c | 305 --------------------------------------------------------
Xi/chdevhier.h | 42 --------
Xi/extgrbdev.c | 216 ---------------------------------------
Xi/extgrbdev.h | 43 --------
Xi/extinit.c | 39 +-------
Xi/getcptr.c | 108 --------------------
Xi/getcptr.h | 43 --------
Xi/querydp.c | 168 -------------------------------
Xi/querydp.h | 44 --------
Xi/setcptr.c | 103 -------------------
Xi/setcptr.h | 36 -------
Xi/warpdevp.c | 175 --------------------------------
Xi/warpdevp.h | 39 -------
Xi/xiselev.c | 81 ---------------
Xi/xiselev.h | 40 --------
18 files changed, 4 insertions(+), 1646 deletions(-)
delete mode 100644 Xi/chdevcur.c
delete mode 100644 Xi/chdevcur.h
delete mode 100644 Xi/chdevhier.c
delete mode 100644 Xi/chdevhier.h
delete mode 100644 Xi/extgrbdev.c
delete mode 100644 Xi/extgrbdev.h
delete mode 100644 Xi/getcptr.c
delete mode 100644 Xi/getcptr.h
delete mode 100644 Xi/querydp.c
delete mode 100644 Xi/querydp.h
delete mode 100644 Xi/setcptr.c
delete mode 100644 Xi/setcptr.h
delete mode 100644 Xi/warpdevp.c
delete mode 100644 Xi/warpdevp.h
delete mode 100644 Xi/xiselev.c
delete mode 100644 Xi/xiselev.h
diff --git a/Xi/Makefile.am b/Xi/Makefile.am
index 09dd41d..557e207 100644
--- a/Xi/Makefile.am
+++ b/Xi/Makefile.am
@@ -5,12 +5,8 @@ AM_CFLAGS = $(DIX_CFLAGS)
libXi_la_SOURCES = \
allowev.c \
allowev.h \
- chdevcur.c \
- chdevcur.h \
chgdctl.c \
chgdctl.h \
- chdevhier.c \
- chdevhier.h \
chgfctl.c \
chgfctl.h \
chgkbd.c \
@@ -27,13 +23,9 @@ libXi_la_SOURCES = \
devbell.h \
exevents.c \
exglobals.h \
- extgrbdev.c \
- extgrbdev.h \
extinit.c \
getbmap.c \
getbmap.h \
- getcptr.c \
- getcptr.h \
getdctl.c \
getdctl.h \
getfctl.c \
@@ -62,8 +54,6 @@ libXi_la_SOURCES = \
listdev.h \
opendev.c \
opendev.h \
- querydp.c \
- querydp.h \
queryst.c \
queryst.h \
selectev.c \
@@ -72,8 +62,6 @@ libXi_la_SOURCES = \
sendexev.h \
setbmap.c \
setbmap.h \
- setcptr.c \
- setcptr.h \
setdval.c \
setdval.h \
setfocus.c \
@@ -88,11 +76,7 @@ libXi_la_SOURCES = \
ungrdevb.h \
ungrdevk.c \
ungrdevk.h \
- warpdevp.c \
- warpdevp.h \
xiproperty.c \
- xiproperty.h \
- xiselev.c \
- xiselev.h
+ xiproperty.h
EXTRA_DIST = stubs.c
diff --git a/Xi/chdevcur.c b/Xi/chdevcur.c
deleted file mode 100644
index 121f792..0000000
--- a/Xi/chdevcur.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request to change a given device pointer's cursor.
- *
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-#include "input.h"
-
-#include "chdevcur.h"
-
-/***********************************************************************
- *
- * This procedure allows a client to set one pointer's cursor.
- *
- */
-
-int
-SProcXChangeDeviceCursor(ClientPtr client)
-{
- char n;
-
- REQUEST(xChangeDeviceCursorReq);
- swaps(&stuff->length, n);
- REQUEST_SIZE_MATCH(xChangeDeviceCursorReq);
- return (ProcXChangeDeviceCursor(client));
-}
-
-int ProcXChangeDeviceCursor(ClientPtr client)
-{
- int rc;
- WindowPtr pWin = NULL;
- DeviceIntPtr pDev = NULL;
- CursorPtr pCursor = NULL;
-
- REQUEST(xChangeDeviceCursorReq);
- REQUEST_SIZE_MATCH(xChangeDeviceCursorReq);
-
- rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixSetAttrAccess);
- if (rc != Success)
- return rc;
-
- if (stuff->win != None)
- {
- rc = dixLookupWindow(&pWin, stuff->win, client, DixSetAttrAccess);
- if (rc != Success)
- return rc;
- }
-
- if (stuff->cursor == None)
- {
- if (pWin == WindowTable[pWin->drawable.pScreen->myNum])
- pCursor = rootCursor;
- else
- pCursor = (CursorPtr)None;
- }
- else
- {
- pCursor = (CursorPtr)SecurityLookupIDByType(client, stuff->cursor,
- RT_CURSOR, DixReadAccess);
- if (!pCursor)
- {
- return BadCursor;
- }
- }
-
- ChangeWindowDeviceCursor(pWin, pDev, pCursor);
-
- return Success;
-}
-
diff --git a/Xi/chdevcur.h b/Xi/chdevcur.h
deleted file mode 100644
index e6df9eb..0000000
--- a/Xi/chdevcur.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef CHDEVCUR_H
-#define CHDEVCUR_H 1
-
-int SProcXChangeDeviceCursor(ClientPtr /* client */
- );
-
-int ProcXChangeDeviceCursor(ClientPtr /* client */
- );
-
-#endif /* CHDEVCUR_H */
diff --git a/Xi/chdevhier.c b/Xi/chdevhier.c
deleted file mode 100644
index db16349..0000000
--- a/Xi/chdevhier.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request change in the device hierarchy.
- *
- */
-
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include <X11/extensions/geproto.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-#include "geext.h"
-#include "xace.h"
-
-#include "chdevhier.h"
-
-
-/***********************************************************************
- *
- * This procedure allows a client to change the device hierarchy through
- * adding new master devices, removing them, etc.
- *
- */
-
-int SProcXChangeDeviceHierarchy(ClientPtr client)
-{
- char n;
-
- REQUEST(xChangeDeviceHierarchyReq);
- swaps(&stuff->length, n);
- return (ProcXChangeDeviceHierarchy(client));
-}
-
-#define SWAPIF(cmd) if (client->swapped) { cmd; }
-
-int
-ProcXChangeDeviceHierarchy(ClientPtr client)
-{
- DeviceIntPtr ptr, keybd;
- DeviceIntRec dummyDev;
- xAnyHierarchyChangeInfo *any;
- int required_len = sizeof(xChangeDeviceHierarchyReq);
- char n;
- int rc = Success;
- int nchanges = 0;
- deviceHierarchyChangedEvent ev;
-
- REQUEST(xChangeDeviceHierarchyReq);
- REQUEST_AT_LEAST_SIZE(xChangeDeviceHierarchyReq);
-
- any = (xAnyHierarchyChangeInfo*)&stuff[1];
- while(stuff->num_changes--)
- {
- SWAPIF(swapl(&any->type, n));
- SWAPIF(swaps(&any->length, n));
-
- required_len += any->length;
- if ((stuff->length * 4) < required_len)
- return BadLength;
-
- switch(any->type)
- {
- case CH_CreateMasterDevice:
- {
- xCreateMasterInfo* c = (xCreateMasterInfo*)any;
- char* name;
-
- SWAPIF(swaps(&c->namelen, n));
- name = xcalloc(c->namelen + 1, sizeof(char));
- strncpy(name, (char*)&c[1], c->namelen);
-
-
- rc = AllocMasterDevice(client, name, &ptr, &keybd);
- if (rc != Success)
- {
- xfree(name);
- goto unwind;
- }
-
- if (!c->sendCore)
- ptr->coreEvents = keybd->coreEvents = FALSE;
-
- ActivateDevice(ptr);
- ActivateDevice(keybd);
-
- if (c->enable)
- {
- EnableDevice(ptr);
- EnableDevice(keybd);
- }
- xfree(name);
- nchanges++;
- }
- break;
- case CH_RemoveMasterDevice:
- {
- xRemoveMasterInfo* r = (xRemoveMasterInfo*)any;
-
- if (r->returnMode != AttachToMaster &&
- r->returnMode != Floating)
- return BadValue;
-
- rc = dixLookupDevice(&ptr, r->deviceid, client,
- DixDestroyAccess);
- if (rc != Success)
- goto unwind;
-
- if (!ptr->isMaster)
- {
- client->errorValue = r->deviceid;
- rc = BadDevice;
- goto unwind;
- }
-
- /* XXX: For now, don't allow removal of VCP, VCK */
- if (ptr == inputInfo.pointer ||
- ptr == inputInfo.keyboard)
- {
- rc = BadDevice;
- goto unwind;
- }
-
- /* disable keyboards first */
- if (IsPointerDevice(ptr))
- {
- rc = dixLookupDevice(&keybd,
- ptr->spriteInfo->paired->id,
- client,
- DixDestroyAccess);
- if (rc != Success)
- goto unwind;
- }
- else
- {
- keybd = ptr;
- rc = dixLookupDevice(&ptr,
- keybd->spriteInfo->paired->id,
- client,
- DixDestroyAccess);
- if (rc != Success)
- goto unwind;
- }
-
-
- /* Disabling sends the devices floating, reattach them if
- * desired. */
- if (r->returnMode == AttachToMaster)
- {
- DeviceIntPtr attached,
- newptr,
- newkeybd;
-
- rc = dixLookupDevice(&newptr, r->returnPointer,
- client, DixWriteAccess);
- if (rc != Success)
- goto unwind;
-
- if (!newptr->isMaster)
- {
- client->errorValue = r->returnPointer;
- rc = BadDevice;
- goto unwind;
- }
-
- rc = dixLookupDevice(&newkeybd, r->returnKeyboard,
- client, DixWriteAccess);
- if (rc != Success)
- goto unwind;
-
- if (!newkeybd->isMaster)
- {
- client->errorValue = r->returnKeyboard;
- rc = BadDevice;
- goto unwind;
- }
-
- for (attached = inputInfo.devices;
- attached;
- attached = attached->next)
- {
- if (!attached->isMaster) {
- if (attached->u.master == ptr)
- AttachDevice(client, attached, newptr);
- if (attached->u.master == keybd)
- AttachDevice(client, attached, newkeybd);
- }
- }
- }
-
- /* can't disable until we removed pairing */
- keybd->spriteInfo->paired = NULL;
- ptr->spriteInfo->paired = NULL;
- DisableDevice(keybd);
- DisableDevice(ptr);
-
- RemoveDevice(keybd);
- RemoveDevice(ptr);
- nchanges++;
- }
- break;
- case CH_ChangeAttachment:
- {
- xChangeAttachmentInfo* c = (xChangeAttachmentInfo*)any;
-
- rc = dixLookupDevice(&ptr, c->deviceid, client,
- DixWriteAccess);
- if (rc != Success)
- goto unwind;
-
- if (ptr->isMaster)
- {
- client->errorValue = c->deviceid;
- rc = BadDevice;
- goto unwind;
- }
-
- if (c->changeMode == Floating)
- AttachDevice(client, ptr, NULL);
- else
- {
- DeviceIntPtr newmaster;
- rc = dixLookupDevice(&newmaster, c->newMaster,
- client, DixWriteAccess);
- if (rc != Success)
- goto unwind;
- if (!newmaster->isMaster)
- {
- client->errorValue = c->newMaster;
- rc = BadDevice;
- goto unwind;
- }
-
- if (!((IsPointerDevice(newmaster) &&
- IsPointerDevice(ptr)) ||
- (IsKeyboardDevice(newmaster) &&
- IsKeyboardDevice(ptr))))
- {
- rc = BadDevice;
- goto unwind;
- }
- AttachDevice(client, ptr, newmaster);
- }
- nchanges++;
- }
- break;
- }
-
- any = (xAnyHierarchyChangeInfo*)((char*)any + any->length);
- }
-
-unwind:
-
- if (nchanges > 0) /* even if an error occured, we need to send an event if
- we changed anything in the hierarchy. */
- {
- ev.type = GenericEvent;
- ev.extension = IReqCode;
- ev.length = 0;
- ev.evtype = XI_DeviceHierarchyChangedNotify;
- ev.time = GetTimeInMillis();
-
- SendEventToAllWindows(&dummyDev, XI_DeviceHierarchyChangedMask,
- (xEvent*)&ev, 1);
- }
- return rc;
-}
-
diff --git a/Xi/chdevhier.h b/Xi/chdevhier.h
deleted file mode 100644
index 07afd53..0000000
--- a/Xi/chdevhier.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request change in the device hierarchy.
- *
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef CHDEVHIER_H
-#define CHDEVHIER_H 1
-
-int SProcXChangeDeviceHierarchy(ClientPtr /* client */);
-int ProcXChangeDeviceHierarchy(ClientPtr /* client */);
-
-#endif
diff --git a/Xi/extgrbdev.c b/Xi/extgrbdev.c
deleted file mode 100644
index 050984a..0000000
--- a/Xi/extgrbdev.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request to fake data for a given device.
- *
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include <X11/extensions/Xge.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-
-#include "grabdev.h" /* CreateMaskFromList */
-
-#include "extgrbdev.h"
-
-int
-SProcXExtendedGrabDevice(ClientPtr client)
-{
- char n;
- int i;
- long* p;
-
- REQUEST(xExtendedGrabDeviceReq);
- swaps(&stuff->length, n);
- REQUEST_AT_LEAST_SIZE(xExtendedGrabDeviceReq);
-
- swapl(&stuff->grab_window, n);
- swapl(&stuff->time, n);
- swapl(&stuff->confine_to, n);
- swapl(&stuff->cursor, n);
- swaps(&stuff->event_count, n);
- swaps(&stuff->generic_event_count, n);
-
- p = (long *)&stuff[1];
- for (i = 0; i < stuff->event_count; i++) {
- swapl(p, n);
- p++;
- }
-
- for (i = 0; i < stuff->generic_event_count; i++) {
- p++; /* first 4 bytes are extension type and padding */
- swapl(p, n);
- p++;
- }
-
- return ProcXExtendedGrabDevice(client);
-}
-
-
-int
-ProcXExtendedGrabDevice(ClientPtr client)
-{
- xExtendedGrabDeviceReply rep;
- DeviceIntPtr dev;
- int rc = Success,
- errval = 0,
- i;
- WindowPtr grab_window,
- confineTo = 0;
- CursorPtr cursor = NULL;
- struct tmask tmp[EMASKSIZE];
- TimeStamp time;
- XGenericEventMask* xgeMask;
- GenericMaskPtr gemasks = NULL;
-
- REQUEST(xExtendedGrabDeviceReq);
- REQUEST_AT_LEAST_SIZE(xExtendedGrabDeviceReq);
-
- rep.repType = X_Reply;
- rep.RepType = X_ExtendedGrabDevice;
- rep.sequenceNumber = client->sequence;
- rep.length = 0;
-
- if (stuff->length != (sizeof(xExtendedGrabDeviceReq) >> 2) +
- stuff->event_count + 2 * stuff->generic_event_count)
- {
- errval = 0;
- rc = BadLength;
- goto cleanup;
- }
-
- rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess);
- if (rc != Success) {
- goto cleanup;
- }
-
- rc = dixLookupWindow(&grab_window,
- stuff->grab_window,
- client,
- DixReadAccess);
- if (rc != Success)
- {
- errval = stuff->grab_window;
- goto cleanup;
- }
-
- if (stuff->confine_to)
- {
- rc = dixLookupWindow(&confineTo,
- stuff->confine_to,
- client,
- DixReadAccess);
- if (rc != Success)
- {
- errval = stuff->confine_to;
- goto cleanup;
- }
- }
-
- if (stuff->cursor)
- {
- cursor = (CursorPtr)SecurityLookupIDByType(client,
- stuff->cursor,
- RT_CURSOR,
- DixReadAccess);
- if (!cursor)
- {
- errval = stuff->cursor;
- rc = BadCursor;
- goto cleanup;
- }
- }
-
- if (CreateMaskFromList(client,
- (XEventClass*)&stuff[1],
- stuff->event_count,
- tmp,
- dev,
- X_GrabDevice) != Success)
- return Success;
-
- time = ClientTimeToServerTime(stuff->time);
-
- if (stuff->generic_event_count)
- {
- xgeMask =
- (XGenericEventMask*)(((XEventClass*)&stuff[1]) + stuff->event_count);
-
- gemasks = xcalloc(1, sizeof(GenericMaskRec));
- gemasks->resource = FakeClientID(client->index);
- gemasks->next = NULL;
- gemasks->eventMask[xgeMask->extension & 0x7F] = xgeMask->evmask;
-
- xgeMask++;
- for (i = 1; i < stuff->generic_event_count; i++, xgeMask++)
- gemasks->eventMask[xgeMask->extension & 0x7F]= xgeMask->evmask;
- }
-
- rep.status = ExtGrabDevice(client, dev, stuff->device_mode,
- grab_window, confineTo, time,
- stuff->owner_events, cursor,
- tmp[stuff->deviceid].mask,
- gemasks);
-cleanup:
-
- if (gemasks)
- xfree(gemasks);
-
- if (rc == Success)
- {
- WriteReplyToClient(client, sizeof(xGrabDeviceReply), &rep);
- }
- else
- {
- return rc;
- }
- return Success;
-}
-
-void
-SRepXExtendedGrabDevice(ClientPtr client, int size,
- xExtendedGrabDeviceReply* rep)
-{
- char n;
- swaps(&rep->sequenceNumber, n);
- swaps(&rep->length, n);
- WriteToClient(client, size, (char*)rep);
-}
diff --git a/Xi/extgrbdev.h b/Xi/extgrbdev.h
deleted file mode 100644
index 6e3e371..0000000
--- a/Xi/extgrbdev.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef EXTGRBDEV_H
-#define EXTGRBDEV_H 1
-
-int SProcXExtendedGrabDevice(ClientPtr /* client */
- );
-
-int ProcXExtendedGrabDevice(ClientPtr /* client */
- );
-
-void SRepXExtendedGrabDevice(ClientPtr client,
- int size,
- xExtendedGrabDeviceReply* rep);
-
-#endif /* EXTGRBDEV_H */
diff --git a/Xi/extinit.c b/Xi/extinit.c
index 673a7ee..d167b76 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -76,19 +76,15 @@ SOFTWARE.
/* modules local to Xi */
#include "allowev.h"
-#include "chdevcur.h"
#include "chgdctl.h"
-#include "chdevhier.h"
#include "chgfctl.h"
#include "chgkbd.h"
#include "chgprop.h"
#include "chgptr.h"
#include "closedev.h"
-#include "extgrbdev.h"
#include "devbell.h"
#include "getbmap.h"
#include "getbmap.h"
-#include "getcptr.h"
#include "getdctl.h"
#include "getfctl.h"
#include "getfocus.h"
@@ -104,13 +100,11 @@ SOFTWARE.
#include "gtmotion.h"
#include "listdev.h"
#include "opendev.h"
-#include "querydp.h"
#include "queryst.h"
#include "selectev.h"
#include "sendexev.h"
#include "chgkmap.h"
#include "setbmap.h"
-#include "setcptr.h"
#include "setdval.h"
#include "setfocus.h"
#include "setmmap.h"
@@ -118,8 +112,6 @@ SOFTWARE.
#include "ungrdev.h"
#include "ungrdevb.h"
#include "ungrdevk.h"
-#include "warpdevp.h"
-#include "xiselev.h"
#include "xiproperty.h"
@@ -134,8 +126,7 @@ Mask ExtExclusiveMasks[EMASKSIZE];
* Evtype is index, mask is value at index.
*/
static Mask xi_filters[4] = {
- XI_DeviceHierarchyChangedMask,
- XI_DeviceClassesChangedMask,
+ XI_DeviceClassesChangedMask
};
static struct dev_type
@@ -211,16 +202,7 @@ static int (*ProcIVector[])(ClientPtr) = {
ProcXListDeviceProperties, /* 36 */
ProcXChangeDeviceProperty, /* 37 */
ProcXDeleteDeviceProperty, /* 38 */
- ProcXGetDeviceProperty, /* 39 */
- /* XI 2 */
- ProcXQueryDevicePointer, /* 40 */
- ProcXWarpDevicePointer, /* 41 */
- ProcXChangeDeviceCursor, /* 42 */
- ProcXChangeDeviceHierarchy, /* 43 */
- ProcXSetClientPointer, /* 44 */
- ProcXGetClientPointer, /* 45 */
- ProcXiSelectEvent, /* 46 */
- ProcXExtendedGrabDevice /* 47 */
+ ProcXGetDeviceProperty /* 39 */
};
/* For swapped clients */
@@ -264,15 +246,7 @@ static int (*SProcIVector[])(ClientPtr) = {
SProcXListDeviceProperties, /* 36 */
SProcXChangeDeviceProperty, /* 37 */
SProcXDeleteDeviceProperty, /* 38 */
- SProcXGetDeviceProperty, /* 39 */
- SProcXQueryDevicePointer, /* 40 */
- SProcXWarpDevicePointer, /* 41 */
- SProcXChangeDeviceCursor, /* 42 */
- SProcXChangeDeviceHierarchy, /* 43 */
- SProcXSetClientPointer, /* 44 */
- SProcXGetClientPointer, /* 45 */
- SProcXiSelectEvent, /* 46 */
- SProcXExtendedGrabDevice /* 47 */
+ SProcXGetDeviceProperty /* 39 */
};
/*****************************************************************
@@ -472,13 +446,6 @@ SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep)
SRepXListDeviceProperties(client, len, (xListDevicePropertiesReply*)rep);
else if (rep->RepType == X_GetDeviceProperty)
SRepXGetDeviceProperty(client, len, (xGetDevicePropertyReply *) rep);
- else if (rep->RepType == X_QueryDevicePointer)
- SRepXQueryDevicePointer(client, len,
- (xQueryDevicePointerReply *) rep);
- else if (rep->RepType == X_GetClientPointer)
- SRepXGetClientPointer(client, len, (xGetClientPointerReply*) rep);
- else if (rep->RepType == X_ExtendedGrabDevice)
- SRepXExtendedGrabDevice(client, len, (xExtendedGrabDeviceReply*) rep);
else {
FatalError("XINPUT confused sending swapped reply");
}
diff --git a/Xi/getcptr.c b/Xi/getcptr.c
deleted file mode 100644
index ae45b13..0000000
--- a/Xi/getcptr.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "extnsionst.h"
-#include "extinit.h" /* LookupDeviceIntRec */
-#include "exevents.h"
-#include "exglobals.h"
-
-#include "getcptr.h"
-
-/***********************************************************************
- * This procedure allows a client to query another client's client pointer
- * setting.
- */
-
-int
-SProcXGetClientPointer(ClientPtr client)
-{
- char n;
- REQUEST(xGetClientPointerReq);
-
- swaps(&stuff->length, n);
- swapl(&stuff->win, n);
- return ProcXGetClientPointer(client);
-}
-
-int ProcXGetClientPointer(ClientPtr client)
-{
- int err;
- WindowPtr win;
- ClientPtr winclient;
- xGetClientPointerReply rep;
- REQUEST(xGetClientPointerReq);
- REQUEST_SIZE_MATCH(xGetClientPointerReq);
-
- err = dixLookupWindow(&win, stuff->win, client, DixReadAccess);
- if (err != Success)
- {
- SendErrorToClient(client, IReqCode, X_GetClientPointer,
- stuff->win, err);
- return Success;
- }
-
- winclient = wClient(win);
-
- rep.repType = X_Reply;
- rep.RepType = X_GetClientPointer;
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
- rep.set = (winclient->clientPtr != NULL);
- rep.deviceid = (winclient->clientPtr) ? winclient->clientPtr->id : 0;
-
- WriteReplyToClient(client, sizeof(xGetClientPointerReply), &rep);
- return Success;
-}
-
-/***********************************************************************
- *
- * This procedure writes the reply for the XGetClientPointer function,
- * if the client and server have a different byte ordering.
- *
- */
-
-void
-SRepXGetClientPointer(ClientPtr client, int size,
- xGetClientPointerReply* rep)
-{
- char n;
- swaps(&rep->sequenceNumber, n);
- swapl(&rep->length, n);
- WriteToClient(client, size, (char *)rep);
-}
-
diff --git a/Xi/getcptr.h b/Xi/getcptr.h
deleted file mode 100644
index 2745833..0000000
--- a/Xi/getcptr.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef GETCPTR_H
-#define GETCPTR_H 1
-int SProcXGetClientPointer(ClientPtr /* client */
- );
-
-int ProcXGetClientPointer(ClientPtr /* client */
- );
-
-void SRepXGetClientPointer(ClientPtr /* client */,
- int /* size */,
- xGetClientPointerReply* /* rep */
- );
-
-#endif /* GETCPTR_H */
diff --git a/Xi/querydp.c b/Xi/querydp.c
deleted file mode 100644
index 744a295..0000000
--- a/Xi/querydp.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request to query the pointer location of an extension input device.
- *
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-
-#ifdef PANORAMIX
-#include "panoramiXsrv.h"
-#endif
-
-#include "querydp.h"
-
-/***********************************************************************
- *
- * This procedure allows a client to query the pointer of a device.
- *
- */
-
-int
-SProcXQueryDevicePointer(ClientPtr client)
-{
- char n;
-
- REQUEST(xQueryDevicePointerReq);
- swaps(&stuff->length, n);
- return (ProcXQueryDevicePointer(client));
-}
-
-int
-ProcXQueryDevicePointer(ClientPtr client)
-{
- int rc;
- xQueryDevicePointerReply rep;
- DeviceIntPtr pDev, kbd;
- WindowPtr pWin, t;
- SpritePtr pSprite;
-
- REQUEST(xQueryDevicePointerReq);
- REQUEST_SIZE_MATCH(xQueryDevicePointerReq);
-
- rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixReadAccess);
- if (rc != Success)
- return rc;
-
- if (pDev->valuator == NULL)
- {
- client->errorValue = stuff->deviceid;
- return BadDevice;
- }
-
- rc = dixLookupWindow(&pWin, stuff->win, client, DixReadAccess);
- if (rc != Success)
- {
- SendErrorToClient(client, IReqCode, X_QueryDevicePointer,
- stuff->win, rc);
- return Success;
- }
-
- if (pDev->valuator->motionHintWindow)
- MaybeStopHint(pDev, client);
-
- kbd = GetPairedDevice(pDev);
-
- pSprite = pDev->spriteInfo->sprite;
- rep.repType = X_Reply;
- rep.RepType = X_QueryDevicePointer;
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
- rep.mask = pDev->button->state | (kbd && kbd->key) ? kbd->key->state : 0;
- rep.root = (GetCurrentRootWindow(pDev))->drawable.id;
- rep.rootX = pSprite->hot.x;
- rep.rootY = pSprite->hot.y;
- rep.child = None;
- rep.deviceid = pDev->id;
-
- if (pSprite->hot.pScreen == pWin->drawable.pScreen)
- {
- rep.sameScreen = xTrue;
- rep.winX = pSprite->hot.x - pWin->drawable.x;
- rep.winY = pSprite->hot.y - pWin->drawable.y;
- for (t = pSprite->win; t; t = t->parent)
- if (t->parent == pWin)
- {
- rep.child = t->drawable.id;
- break;
- }
- } else
- {
- rep.sameScreen = xFalse;
- rep.winX = 0;
- rep.winY = 0;
- }
-
-#ifdef PANORAMIX
- if(!noPanoramiXExtension) {
- rep.rootX += panoramiXdataPtr[0].x;
- rep.rootY += panoramiXdataPtr[0].y;
- if (stuff->win == rep.root)
- {
- rep.winX += panoramiXdataPtr[0].x;
- rep.winY += panoramiXdataPtr[0].y;
- }
- }
-#endif
-
- WriteReplyToClient(client, sizeof(xQueryDevicePointerReply), &rep);
- return Success;
-}
-
-/***********************************************************************
- *
- * This procedure writes the reply for the XQueryDevicePointer function,
- * if the client and server have a different byte ordering.
- *
- */
-
-void
-SRepXQueryDevicePointer(ClientPtr client, int size,
- xQueryDevicePointerReply * rep)
-{
- char n;
-
- swaps(&rep->sequenceNumber, n);
- swapl(&rep->length, n);
- WriteToClient(client, size, (char *)rep);
-}
-
diff --git a/Xi/querydp.h b/Xi/querydp.h
deleted file mode 100644
index 5370ed4..0000000
--- a/Xi/querydp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef QUERYDP_H
-#define QUERYDP_H 1
-
-int SProcXQueryDevicePointer(ClientPtr /* client */
- );
-
-int ProcXQueryDevicePointer(ClientPtr /* client */
- );
-
-void SRepXQueryDevicePointer(ClientPtr /* client */ ,
- int /* size */ ,
- xQueryDevicePointerReply * /* rep */
- );
-
-#endif /* QUERYDP_H */
diff --git a/Xi/setcptr.c b/Xi/setcptr.c
deleted file mode 100644
index 81ce66b..0000000
--- a/Xi/setcptr.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request to set the client pointer for the owner of the given window.
- * All subsequent calls that are ambiguous will choose the client pointer as
- * default value.
- */
-
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-
-#include "setcptr.h"
-
-int
-SProcXSetClientPointer(ClientPtr client)
-{
- char n;
-
- REQUEST(xSetClientPointerReq);
- swaps(&stuff->length, n);
- REQUEST_SIZE_MATCH(xSetClientPointerReq);
- return (ProcXSetClientPointer(client));
-}
-
-int
-ProcXSetClientPointer(ClientPtr client)
-{
- DeviceIntPtr pDev;
- ClientPtr targetClient;
- int rc;
-
- REQUEST(xSetClientPointerReq);
- REQUEST_SIZE_MATCH(xSetClientPointerReq);
-
-
- rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixWriteAccess);
- if (rc != Success)
- return rc;
-
- if (!IsPointerDevice(pDev) || !pDev->isMaster)
- {
- client->errorValue = stuff->deviceid;
- return BadDevice;
- }
-
- if (stuff->win != None)
- {
- rc = dixLookupClient(&targetClient, stuff->win, client,
- DixWriteAccess);
-
- if (rc != Success)
- return rc;
-
- } else
- targetClient = client;
-
- if (!SetClientPointer(targetClient, client, pDev))
- {
- client->errorValue = stuff->win;
- return BadAccess;
- }
-
- return Success;
-}
diff --git a/Xi/setcptr.h b/Xi/setcptr.h
deleted file mode 100644
index df38add..0000000
--- a/Xi/setcptr.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef SETCPTR_H
-#define SETCPTR_H 1
-
-int SProcXSetClientPointer(ClientPtr /* client */);
-int ProcXSetClientPointer(ClientPtr /* client */);
-
-#endif /* SETCPTR_H */
diff --git a/Xi/warpdevp.c b/Xi/warpdevp.c
deleted file mode 100644
index c8e8d61..0000000
--- a/Xi/warpdevp.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-/***********************************************************************
- *
- * Request to Warp the pointer location of an extension input device.
- *
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h> /* for inputstr.h */
-#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "extnsionst.h"
-#include "exevents.h"
-#include "exglobals.h"
-#include "mipointer.h" /* for miPointerUpdateSprite */
-
-
-#include "warpdevp.h"
-/***********************************************************************
- *
- * This procedure allows a client to warp the pointer of a device.
- *
- */
-
-int
-SProcXWarpDevicePointer(ClientPtr client)
-{
- char n;
-
- REQUEST(xWarpDevicePointerReq);
- swaps(&stuff->length, n);
- return (ProcXWarpDevicePointer(client));
-}
-
-int
-ProcXWarpDevicePointer(ClientPtr client)
-{
- int rc;
- int x, y;
- WindowPtr dest = NULL;
- DeviceIntPtr pDev;
- SpritePtr pSprite;
- ScreenPtr newScreen;
-
- REQUEST(xWarpDevicePointerReq);
- REQUEST_SIZE_MATCH(xWarpDevicePointerReq);
-
- /* FIXME: panoramix stuff is missing, look at ProcWarpPointer */
-
- rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixWriteAccess);
-
- if (rc != Success)
- return rc;
-
- if (stuff->dst_win != None)
- {
- rc = dixLookupWindow(&dest, stuff->dst_win, client, DixReadAccess);
- if (rc != Success)
- {
- return rc;
- }
- }
-
- pSprite = pDev->spriteInfo->sprite;
- x = pSprite->hotPhys.x;
- y = pSprite->hotPhys.y;
-
- if (stuff->src_win != None)
- {
- int winX, winY;
- WindowPtr src;
-
- rc = dixLookupWindow(&src, stuff->src_win, client, DixReadAccess);
- if (rc != Success)
- {
- return rc;
- }
-
- winX = src->drawable.x;
- winY = src->drawable.y;
- if (src->drawable.pScreen != pSprite->hotPhys.pScreen ||
- x < winX + stuff->src_x ||
- y < winY + stuff->src_y ||
- (stuff->src_width != 0 &&
- winX + stuff->src_x + (int)stuff->src_width < 0) ||
- (stuff->src_height != 0 &&
- winY + stuff->src_y + (int)stuff->src_height < y) ||
- !PointInWindowIsVisible(src, x, y))
- return Success;
- }
-
- if (dest)
- {
- x = dest->drawable.x;
- y = dest->drawable.y;
- newScreen = dest->drawable.pScreen;
- } else
- newScreen = pSprite->hotPhys.pScreen;
-
- x += stuff->dst_x;
- y += stuff->dst_y;
-
- if (x < 0)
- x = 0;
- else if (x > newScreen->width)
- x = newScreen->width - 1;
-
- if (y < 0)
- y = 0;
- else if (y > newScreen->height)
- y = newScreen->height - 1;
-
- if (newScreen == pSprite->hotPhys.pScreen)
- {
- if (x < pSprite->physLimits.x1)
- x = pSprite->physLimits.x1;
- else if (x >= pSprite->physLimits.x2)
- x = pSprite->physLimits.x2 - 1;
-
- if (y < pSprite->physLimits.y1)
- y = pSprite->physLimits.y1;
- else if (y >= pSprite->physLimits.y2)
- y = pSprite->physLimits.y2 - 1;
-
- if (pSprite->hotShape)
- ConfineToShape(pDev, pSprite->hotShape, &x, &y);
- (*newScreen->SetCursorPosition)(pDev, newScreen, x, y, TRUE);
- } else if (!PointerConfinedToScreen(pDev))
- {
- NewCurrentScreen(pDev, newScreen, x, y);
- }
-
- /* if we don't update the device, we get a jump next time it moves */
- pDev->last.valuators[0] = x;
- pDev->last.valuators[1] = x;
- miPointerUpdateSprite(pDev);
-
- /* FIXME: XWarpPointer is supposed to generate an event. It doesn't do it
- here though. */
- return Success;
-}
-
diff --git a/Xi/warpdevp.h b/Xi/warpdevp.h
deleted file mode 100644
index 00a4dff..0000000
--- a/Xi/warpdevp.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef WARPDEVP_H
-#define WARPDEVP_H 1
-
-int SProcXWarpDevicePointer(ClientPtr /* client */
- );
-
-int ProcXWarpDevicePointer(ClientPtr /* client */
- );
-
-#endif /* WARPDEVP_H */
diff --git a/Xi/xiselev.c b/Xi/xiselev.c
deleted file mode 100644
index 0f84334..0000000
--- a/Xi/xiselev.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/extensions/XIproto.h>
-
-#include "dixstruct.h"
-#include "windowstr.h"
-
-#include "exglobals.h"
-#include "xiselev.h"
-#include "geext.h"
-
-int
-SProcXiSelectEvent(ClientPtr client)
-{
- char n;
-
- REQUEST(xXiSelectEventReq);
- swaps(&stuff->length, n);
- REQUEST_SIZE_MATCH(xXiSelectEventReq);
- swapl(&stuff->window, n);
- swapl(&stuff->mask, n);
- return (ProcXiSelectEvent(client));
-}
-
-
-int
-ProcXiSelectEvent(ClientPtr client)
-{
- int rc;
- WindowPtr pWin;
- DeviceIntPtr pDev;
- REQUEST(xXiSelectEventReq);
- REQUEST_SIZE_MATCH(xXiSelectEventReq);
-
- rc = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess);
- if (rc != Success)
- return rc;
-
- if (stuff->deviceid & (0x1 << 7)) /* all devices */
- pDev = NULL;
- else {
- rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixReadAccess);
- if (rc != Success)
- return rc;
- }
-
- GEWindowSetMask(client, pDev, pWin, IReqCode, stuff->mask);
-
- return Success;
-}
-
diff --git a/Xi/xiselev.h b/Xi/xiselev.h
deleted file mode 100644
index b751c5d..0000000
--- a/Xi/xiselev.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2007-2008 Peter Hutterer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Author: Peter Hutterer, University of South Australia, NICTA
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef XISELEV_H
-#define XISELEV_H 1
-
-int SProcXiSelectEvent(ClientPtr /* client */
- );
-
-int ProcXiSelectEvent(ClientPtr /* client */
- );
-
-#endif /* XISELEV_H */
-
--
1.6.0.3
More information about the xorg
mailing list