mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-16 00:19:55 +00:00
XFree86 4.3.0.1
This commit is contained in:
parent
9508a382f8
commit
d568221710
438 changed files with 42562 additions and 37394 deletions
253
Xi/exevents.c
253
Xi/exevents.c
|
|
@ -44,6 +44,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|||
SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/Xi/exevents.c,v 3.10 2001/12/14 19:58:55 dawes Exp $ */
|
||||
|
||||
/********************************************************************
|
||||
*
|
||||
|
|
@ -62,6 +63,14 @@ SOFTWARE.
|
|||
#include "windowstr.h"
|
||||
#include "miscstruct.h"
|
||||
#include "region.h"
|
||||
#include "exevents.h"
|
||||
#include "extnsionst.h"
|
||||
#include "extinit.h" /* LookupDeviceIntRec */
|
||||
#include "exglobals.h"
|
||||
#include "dixevents.h" /* DeliverFocusedEvent */
|
||||
#include "dixgrabs.h" /* CreateGrab() */
|
||||
|
||||
#include "chgptr.h"
|
||||
|
||||
#define WID(w) ((w) ? ((w)->drawable.id) : 0)
|
||||
#define AllModifiersMask ( \
|
||||
|
|
@ -72,24 +81,17 @@ SOFTWARE.
|
|||
#define Motion_Filter(class) (DevicePointerMotionMask | \
|
||||
(class)->state | (class)->motionMask)
|
||||
|
||||
void ActivateKeyboardGrab();
|
||||
void DeactivateKeyboardGrab();
|
||||
void ProcessOtherEvent();
|
||||
void RecalculateDeviceDeliverableEvents();
|
||||
static Bool ShouldFreeInputMasks();
|
||||
static Bool MakeInputMasks ();
|
||||
extern int DeviceKeyPress;
|
||||
extern int DeviceButtonPress;
|
||||
extern int DeviceValuator;
|
||||
extern Mask DevicePointerMotionMask;
|
||||
extern Mask DeviceMappingNotifyMask;
|
||||
extern Mask DeviceButtonMotionMask;
|
||||
extern Mask DeviceButtonGrabMask;
|
||||
extern Mask DeviceOwnerGrabButtonMask;
|
||||
extern Mask PropagateMask[];
|
||||
extern WindowPtr GetSpriteWindow();
|
||||
extern InputInfo inputInfo;
|
||||
extern int RT_INPUTCLIENT;
|
||||
static Bool ShouldFreeInputMasks(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /* pWin */,
|
||||
Bool /* ignoreSelectedEvents */
|
||||
#endif
|
||||
);
|
||||
static Bool MakeInputMasks (
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /* pWin */
|
||||
#endif
|
||||
);
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
|
|
@ -99,47 +101,40 @@ extern int RT_INPUTCLIENT;
|
|||
|
||||
void
|
||||
RegisterOtherDevice (device)
|
||||
DevicePtr device;
|
||||
DeviceIntPtr device;
|
||||
{
|
||||
device->processInputProc = ProcessOtherEvent;
|
||||
device->realInputProc = ProcessOtherEvent;
|
||||
((DeviceIntPtr)device)->ActivateGrab = ActivateKeyboardGrab;
|
||||
((DeviceIntPtr)device)->DeactivateGrab = DeactivateKeyboardGrab;
|
||||
device->public.processInputProc = ProcessOtherEvent;
|
||||
device->public.realInputProc = ProcessOtherEvent;
|
||||
(device)->ActivateGrab = ActivateKeyboardGrab;
|
||||
(device)->DeactivateGrab = DeactivateKeyboardGrab;
|
||||
}
|
||||
|
||||
extern int DeviceMotionNotify;
|
||||
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
ProcessOtherEvent (xE, other, count)
|
||||
deviceKeyButtonPointer *xE;
|
||||
xEventPtr xE;
|
||||
register DeviceIntPtr other;
|
||||
int count;
|
||||
{
|
||||
extern int DeviceKeyRelease;
|
||||
extern int DeviceButtonRelease;
|
||||
extern int ProximityIn;
|
||||
extern int ProximityOut;
|
||||
register BYTE *kptr;
|
||||
register int i;
|
||||
register CARD16 modifiers;
|
||||
register CARD16 mask;
|
||||
GrabPtr grab = other->grab;
|
||||
Bool deactivateDeviceGrab = FALSE;
|
||||
int key, bit, rootX, rootY;
|
||||
int key = 0, bit = 0, rootX, rootY;
|
||||
ButtonClassPtr b = other->button;
|
||||
KeyClassPtr k = other->key;
|
||||
ValuatorClassPtr v = other->valuator;
|
||||
void NoticeEventTime();
|
||||
deviceValuator *xV = (deviceValuator *) xE;
|
||||
|
||||
if (xE->type != DeviceValuator) {
|
||||
if (xE->u.u.type != DeviceValuator) {
|
||||
GetSpritePosition(&rootX, &rootY);
|
||||
xE->root_x = rootX;
|
||||
xE->root_y = rootY;
|
||||
key = xE->detail;
|
||||
xE->u.keyButtonPointer.rootX = rootX;
|
||||
xE->u.keyButtonPointer.rootY = rootY;
|
||||
key = xE->u.u.detail;
|
||||
NoticeEventTime(xE);
|
||||
xE->state = inputInfo.keyboard->key->state |
|
||||
xE->u.keyButtonPointer.state = inputInfo.keyboard->key->state |
|
||||
inputInfo.pointer->button->state;
|
||||
bit = 1 << (key & 7);
|
||||
}
|
||||
|
|
@ -186,7 +181,7 @@ ProcessOtherEvent (xE, other, count)
|
|||
}
|
||||
}
|
||||
|
||||
if (xE->type == DeviceKeyPress)
|
||||
if (xE->u.u.type == DeviceKeyPress)
|
||||
{
|
||||
modifiers = k->modifierMap[key];
|
||||
kptr = &k->down[key >> 3];
|
||||
|
|
@ -194,9 +189,9 @@ ProcessOtherEvent (xE, other, count)
|
|||
{
|
||||
if (!modifiers)
|
||||
{
|
||||
xE->type = DeviceKeyRelease;
|
||||
xE->u.u.type = DeviceKeyRelease;
|
||||
ProcessOtherEvent(xE, other, count);
|
||||
xE->type = DeviceKeyPress;
|
||||
xE->u.u.type = DeviceKeyPress;
|
||||
/* release can have side effects, don't fall through */
|
||||
ProcessOtherEvent(xE, other, count);
|
||||
}
|
||||
|
|
@ -222,7 +217,7 @@ ProcessOtherEvent (xE, other, count)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (xE->type == DeviceKeyRelease)
|
||||
else if (xE->u.u.type == DeviceKeyRelease)
|
||||
{
|
||||
kptr = &k->down[key >> 3];
|
||||
if (!(*kptr & bit)) /* guard against duplicates */
|
||||
|
|
@ -249,7 +244,7 @@ ProcessOtherEvent (xE, other, count)
|
|||
if (other->fromPassiveGrab && (key == other->activatingKey))
|
||||
deactivateDeviceGrab = TRUE;
|
||||
}
|
||||
else if (xE->type == DeviceButtonPress)
|
||||
else if (xE->u.u.type == DeviceButtonPress)
|
||||
{
|
||||
kptr = &b->down[key >> 3];
|
||||
*kptr |= bit;
|
||||
|
|
@ -257,18 +252,18 @@ ProcessOtherEvent (xE, other, count)
|
|||
other->valuator->motionHintWindow = NullWindow;
|
||||
b->buttonsDown++;
|
||||
b->motionMask = DeviceButtonMotionMask;
|
||||
xE->detail = b->map[key];
|
||||
if (xE->detail == 0)
|
||||
xE->u.u.detail = b->map[key];
|
||||
if (xE->u.u.detail == 0)
|
||||
return;
|
||||
if (xE->detail <= 5)
|
||||
b->state |= (Button1Mask >> 1) << xE->detail;
|
||||
if (xE->u.u.detail <= 5)
|
||||
b->state |= (Button1Mask >> 1) << xE->u.u.detail;
|
||||
SetMaskForEvent(Motion_Filter(b),DeviceMotionNotify);
|
||||
if (!grab)
|
||||
if (CheckDeviceGrabs(other, xE, 0, count))
|
||||
return;
|
||||
|
||||
}
|
||||
else if (xE->type == DeviceButtonRelease)
|
||||
else if (xE->u.u.type == DeviceButtonRelease)
|
||||
{
|
||||
kptr = &b->down[key >> 3];
|
||||
*kptr &= ~bit;
|
||||
|
|
@ -276,18 +271,18 @@ ProcessOtherEvent (xE, other, count)
|
|||
other->valuator->motionHintWindow = NullWindow;
|
||||
if (!--b->buttonsDown)
|
||||
b->motionMask = 0;
|
||||
xE->detail = b->map[key];
|
||||
if (xE->detail == 0)
|
||||
xE->u.u.detail = b->map[key];
|
||||
if (xE->u.u.detail == 0)
|
||||
return;
|
||||
if (xE->detail <= 5)
|
||||
b->state &= ~((Button1Mask >> 1) << xE->detail);
|
||||
if (xE->u.u.detail <= 5)
|
||||
b->state &= ~((Button1Mask >> 1) << xE->u.u.detail);
|
||||
SetMaskForEvent(Motion_Filter(b),DeviceMotionNotify);
|
||||
if (!b->state && other->fromPassiveGrab)
|
||||
deactivateDeviceGrab = TRUE;
|
||||
}
|
||||
else if (xE->type == ProximityIn)
|
||||
else if (xE->u.u.type == ProximityIn)
|
||||
other->valuator->mode &= ~OutOfProximity;
|
||||
else if (xE->type == ProximityOut)
|
||||
else if (xE->u.u.type == ProximityOut)
|
||||
other->valuator->mode |= OutOfProximity;
|
||||
|
||||
if (grab)
|
||||
|
|
@ -302,9 +297,9 @@ ProcessOtherEvent (xE, other, count)
|
|||
(*other->DeactivateGrab)(other);
|
||||
}
|
||||
|
||||
InitProximityClassDeviceStruct(dev)
|
||||
DeviceIntPtr dev;
|
||||
{
|
||||
int
|
||||
InitProximityClassDeviceStruct( DeviceIntPtr dev)
|
||||
{
|
||||
register ProximityClassPtr proxc;
|
||||
|
||||
proxc = (ProximityClassPtr)xalloc(sizeof(ProximityClassRec));
|
||||
|
|
@ -312,15 +307,17 @@ InitProximityClassDeviceStruct(dev)
|
|||
return FALSE;
|
||||
dev->proximity = proxc;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
InitValuatorAxisStruct(dev, axnum, minval, maxval, resolution, min_res, max_res)
|
||||
DeviceIntPtr dev;
|
||||
int axnum;
|
||||
int minval;
|
||||
int maxval;
|
||||
int resolution;
|
||||
{
|
||||
void
|
||||
InitValuatorAxisStruct( DeviceIntPtr dev,
|
||||
int axnum,
|
||||
int minval,
|
||||
int maxval,
|
||||
int resolution,
|
||||
int min_res,
|
||||
int max_res )
|
||||
{
|
||||
register AxisInfoPtr ax = dev->valuator->axes + axnum;
|
||||
|
||||
ax->min_value = minval;
|
||||
|
|
@ -328,18 +325,27 @@ InitValuatorAxisStruct(dev, axnum, minval, maxval, resolution, min_res, max_res)
|
|||
ax->resolution = resolution;
|
||||
ax->min_resolution = min_res;
|
||||
ax->max_resolution = max_res;
|
||||
}
|
||||
}
|
||||
|
||||
static void FixDeviceStateNotify (dev, ev, k, b, v, first)
|
||||
static void
|
||||
#if NeedFunctionPrototypes
|
||||
FixDeviceStateNotify (
|
||||
DeviceIntPtr dev,
|
||||
deviceStateNotify *ev,
|
||||
KeyClassPtr k,
|
||||
ButtonClassPtr b,
|
||||
ValuatorClassPtr v,
|
||||
int first)
|
||||
#else
|
||||
FixDeviceStateNotify (dev, ev, k, b, v, first)
|
||||
DeviceIntPtr dev;
|
||||
deviceStateNotify *ev;
|
||||
KeyClassPtr k;
|
||||
ButtonClassPtr b;
|
||||
ValuatorClassPtr v;
|
||||
int first;
|
||||
{
|
||||
extern int DeviceStateNotify;
|
||||
|
||||
#endif
|
||||
{
|
||||
ev->type = DeviceStateNotify;
|
||||
ev->deviceid = dev->id;
|
||||
ev->time = currentTime.milliseconds;
|
||||
|
|
@ -376,12 +382,21 @@ static void FixDeviceStateNotify (dev, ev, k, b, v, first)
|
|||
}
|
||||
}
|
||||
|
||||
static void FixDeviceValuator (dev, ev, v, first)
|
||||
static void
|
||||
#if NeedFunctionPrototypes
|
||||
FixDeviceValuator (
|
||||
DeviceIntPtr dev,
|
||||
deviceValuator *ev,
|
||||
ValuatorClassPtr v,
|
||||
int first)
|
||||
#else
|
||||
FixDeviceValuator (dev, ev, v, first)
|
||||
DeviceIntPtr dev;
|
||||
deviceValuator *ev;
|
||||
ValuatorClassPtr v;
|
||||
int first;
|
||||
{
|
||||
#endif
|
||||
{
|
||||
int nval = v->numAxes - first;
|
||||
|
||||
ev->type = DeviceValuator;
|
||||
|
|
@ -400,18 +415,12 @@ static void FixDeviceValuator (dev, ev, v, first)
|
|||
first += ev->num_valuators;
|
||||
}
|
||||
|
||||
void
|
||||
DeviceFocusEvent(dev, type, mode, detail, pWin)
|
||||
DeviceIntPtr dev;
|
||||
int type, mode, detail;
|
||||
register WindowPtr pWin;
|
||||
{
|
||||
extern int DeviceFocusIn;
|
||||
extern int DeviceFocusOut;
|
||||
extern int DeviceKeyStateNotify;
|
||||
extern int DeviceButtonStateNotify;
|
||||
extern int DeviceValuatorStateNotify;
|
||||
extern Mask DeviceStateNotifyMask;
|
||||
extern Mask DeviceFocusChangeMask;
|
||||
deviceFocus event;
|
||||
|
||||
if (type == FocusIn)
|
||||
|
|
@ -426,15 +435,13 @@ DeviceFocusEvent(dev, type, mode, detail, pWin)
|
|||
event.window = pWin->drawable.id;
|
||||
event.time = currentTime.milliseconds;
|
||||
|
||||
(void)
|
||||
DeliverEventsToWindow(pWin, &event, 1, DeviceFocusChangeMask, NullGrab,
|
||||
dev->id);
|
||||
(void) DeliverEventsToWindow(pWin, (xEvent *)&event, 1,
|
||||
DeviceFocusChangeMask, NullGrab, dev->id);
|
||||
|
||||
if ((type == DeviceFocusIn) &&
|
||||
(wOtherInputMasks(pWin)) &&
|
||||
(wOtherInputMasks(pWin)->inputEvents[dev->id] & DeviceStateNotifyMask))
|
||||
{
|
||||
int i,j;
|
||||
int evcount = 1;
|
||||
deviceStateNotify *ev, *sev;
|
||||
deviceKeyStateNotify *kev;
|
||||
|
|
@ -518,19 +525,34 @@ DeviceFocusEvent(dev, type, mode, detail, pWin)
|
|||
nval -= 3;
|
||||
if (nval > 0) {
|
||||
(ev-1)->deviceid |= MORE_EVENTS;
|
||||
FixDeviceValuator (dev, ev++, v, first);
|
||||
FixDeviceValuator (dev, (deviceValuator *) ev++, v, first);
|
||||
first += 3;
|
||||
nval -= 3;
|
||||
}
|
||||
}
|
||||
|
||||
(void) DeliverEventsToWindow(pWin, sev, evcount, DeviceStateNotifyMask,
|
||||
NullGrab, dev->id);
|
||||
(void) DeliverEventsToWindow(pWin, (xEvent *)sev, evcount,
|
||||
DeviceStateNotifyMask, NullGrab, dev->id);
|
||||
xfree (sev);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
#if NeedFunctionPrototypes
|
||||
GrabButton(
|
||||
ClientPtr client,
|
||||
DeviceIntPtr dev,
|
||||
BYTE this_device_mode,
|
||||
BYTE other_devices_mode,
|
||||
CARD16 modifiers,
|
||||
DeviceIntPtr modifier_device,
|
||||
CARD8 button,
|
||||
Window grabWindow,
|
||||
BOOL ownerEvents,
|
||||
Cursor rcursor,
|
||||
Window rconfineTo,
|
||||
Mask eventMask)
|
||||
#else
|
||||
GrabButton(client, dev, this_device_mode, other_devices_mode, modifiers,
|
||||
modifier_device, button, grabWindow, ownerEvents, rcursor, rconfineTo,
|
||||
eventMask)
|
||||
|
|
@ -546,11 +568,10 @@ GrabButton(client, dev, this_device_mode, other_devices_mode, modifiers,
|
|||
Cursor rcursor;
|
||||
Window rconfineTo;
|
||||
Mask eventMask;
|
||||
|
||||
#endif
|
||||
{
|
||||
WindowPtr pWin, confineTo;
|
||||
CursorPtr cursor;
|
||||
GrabPtr CreateGrab();
|
||||
GrabPtr grab;
|
||||
|
||||
if ((this_device_mode != GrabModeSync) &&
|
||||
|
|
@ -609,6 +630,19 @@ GrabButton(client, dev, this_device_mode, other_devices_mode, modifiers,
|
|||
}
|
||||
|
||||
int
|
||||
#if NeedFunctionPrototypes
|
||||
GrabKey(
|
||||
ClientPtr client,
|
||||
DeviceIntPtr dev,
|
||||
BYTE this_device_mode,
|
||||
BYTE other_devices_mode,
|
||||
CARD16 modifiers,
|
||||
DeviceIntPtr modifier_device,
|
||||
CARD8 key,
|
||||
Window grabWindow,
|
||||
BOOL ownerEvents,
|
||||
Mask mask)
|
||||
#else
|
||||
GrabKey(client, dev, this_device_mode, other_devices_mode, modifiers,
|
||||
modifier_device, key, grabWindow, ownerEvents, mask)
|
||||
ClientPtr client;
|
||||
|
|
@ -621,10 +655,9 @@ GrabKey(client, dev, this_device_mode, other_devices_mode, modifiers,
|
|||
Window grabWindow;
|
||||
BOOL ownerEvents;
|
||||
Mask mask;
|
||||
|
||||
#endif
|
||||
{
|
||||
WindowPtr pWin;
|
||||
GrabPtr CreateGrab();
|
||||
GrabPtr grab;
|
||||
KeyClassPtr k = dev->key;
|
||||
|
||||
|
|
@ -673,8 +706,6 @@ GrabKey(client, dev, this_device_mode, other_devices_mode, modifiers,
|
|||
return AddPassiveGrabToList(grab);
|
||||
}
|
||||
|
||||
extern Mask DevicePointerMotionHintMask;
|
||||
|
||||
int
|
||||
SelectForWindow(dev, pWin, client, mask, exclusivemasks, validmasks)
|
||||
DeviceIntPtr dev;
|
||||
|
|
@ -803,7 +834,7 @@ RecalculateDeviceDeliverableEvents(pWin)
|
|||
pChild = pWin;
|
||||
while (1)
|
||||
{
|
||||
if (inputMasks = wOtherInputMasks(pChild))
|
||||
if ((inputMasks = wOtherInputMasks(pChild)) != 0)
|
||||
{
|
||||
for (others = inputMasks->inputClients; others;
|
||||
others = others->next)
|
||||
|
|
@ -892,10 +923,10 @@ SendEvent (client, d, dest, propagate, ev, mask, count)
|
|||
Bool propagate;
|
||||
xEvent *ev;
|
||||
Mask mask;
|
||||
int count;
|
||||
{
|
||||
WindowPtr pWin;
|
||||
WindowPtr effectiveFocus = NullWindow; /* only set if dest==InputFocus */
|
||||
WindowPtr GetCurrentRootWindow();
|
||||
WindowPtr spriteWin=GetSpriteWindow();
|
||||
|
||||
if (dest == PointerWindow)
|
||||
|
|
@ -996,7 +1027,7 @@ SetModifierMapping(client, dev, len, rlen, numKeyPerModifier, inputMap, k)
|
|||
KeyCode *inputMap;
|
||||
KeyClassPtr *k;
|
||||
{
|
||||
KeyCode *map;
|
||||
KeyCode *map = NULL;
|
||||
int inputMapLen;
|
||||
register int i;
|
||||
|
||||
|
|
@ -1070,15 +1101,22 @@ SetModifierMapping(client, dev, len, rlen, numKeyPerModifier, inputMap, k)
|
|||
return(MappingSuccess);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
#if NeedFunctionPrototypes
|
||||
SendDeviceMappingNotify(
|
||||
CARD8 request,
|
||||
KeyCode firstKeyCode,
|
||||
CARD8 count,
|
||||
DeviceIntPtr dev)
|
||||
#else
|
||||
SendDeviceMappingNotify(request, firstKeyCode, count, dev)
|
||||
CARD8 request, count;
|
||||
KeyCode firstKeyCode;
|
||||
DeviceIntPtr dev;
|
||||
{
|
||||
#endif
|
||||
{
|
||||
xEvent event;
|
||||
deviceMappingNotify *ev = (deviceMappingNotify *) &event;
|
||||
extern int DeviceMappingNotify;
|
||||
|
||||
ev->type = DeviceMappingNotify;
|
||||
ev->request = request;
|
||||
|
|
@ -1090,10 +1128,21 @@ SendDeviceMappingNotify(request, firstKeyCode, count, dev)
|
|||
ev->count = count;
|
||||
}
|
||||
|
||||
SendEventToAllWindows (dev, DeviceMappingNotifyMask, ev, 1);
|
||||
SendEventToAllWindows (dev, DeviceMappingNotifyMask, (xEvent *)ev, 1);
|
||||
}
|
||||
|
||||
int
|
||||
#if NeedFunctionPrototypes
|
||||
ChangeKeyMapping(
|
||||
ClientPtr client,
|
||||
DeviceIntPtr dev,
|
||||
unsigned len,
|
||||
int type,
|
||||
KeyCode firstKeyCode,
|
||||
CARD8 keyCodes,
|
||||
CARD8 keySymsPerKeyCode,
|
||||
KeySym *map)
|
||||
#else
|
||||
ChangeKeyMapping(client, dev, len, type, firstKeyCode, keyCodes,
|
||||
keySymsPerKeyCode, map)
|
||||
ClientPtr client;
|
||||
|
|
@ -1104,6 +1153,7 @@ ChangeKeyMapping(client, dev, len, type, firstKeyCode, keyCodes,
|
|||
CARD8 keyCodes;
|
||||
CARD8 keySymsPerKeyCode;
|
||||
KeySym *map;
|
||||
#endif
|
||||
{
|
||||
KeySymsRec keysyms;
|
||||
KeyClassPtr k = dev->key;
|
||||
|
|
@ -1158,7 +1208,7 @@ DeleteWindowFromAnyExtEvents(pWin, freeResources)
|
|||
DeleteDeviceFromAnyExtEvents(pWin, dev);
|
||||
|
||||
if (freeResources)
|
||||
while (inputMasks = wOtherInputMasks(pWin))
|
||||
while ((inputMasks = wOtherInputMasks(pWin)) != 0)
|
||||
{
|
||||
ic = inputMasks->inputClients;
|
||||
for (i=0; i<EMASKSIZE; i++)
|
||||
|
|
@ -1167,6 +1217,7 @@ DeleteWindowFromAnyExtEvents(pWin, freeResources)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
DeleteDeviceFromAnyExtEvents(pWin, dev)
|
||||
WindowPtr pWin;
|
||||
DeviceIntPtr dev;
|
||||
|
|
@ -1241,7 +1292,6 @@ MaybeSendDeviceMotionNotifyHint (pEvents, mask)
|
|||
Mask mask;
|
||||
{
|
||||
DeviceIntPtr dev;
|
||||
DeviceIntPtr LookupDeviceIntRec ();
|
||||
|
||||
dev = LookupDeviceIntRec (pEvents->deviceid & DEVICE_BITS);
|
||||
if (pEvents->type == DeviceMotionNotify)
|
||||
|
|
@ -1262,7 +1312,7 @@ MaybeSendDeviceMotionNotifyHint (pEvents, mask)
|
|||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
CheckDeviceGrabAndHintWindow (pWin, type, xE, grab, client, deliveryMask)
|
||||
WindowPtr pWin;
|
||||
int type;
|
||||
|
|
@ -1272,7 +1322,6 @@ CheckDeviceGrabAndHintWindow (pWin, type, xE, grab, client, deliveryMask)
|
|||
Mask deliveryMask;
|
||||
{
|
||||
DeviceIntPtr dev;
|
||||
DeviceIntPtr LookupDeviceIntRec ();
|
||||
|
||||
dev = LookupDeviceIntRec (xE->deviceid & DEVICE_BITS);
|
||||
if (type == DeviceMotionNotify)
|
||||
|
|
|
|||
Loading…
Reference in a new issue