diff --git a/Xext/xtest.c b/Xext/xtest.c index 4d2910a60..f03d8c951 100644 --- a/Xext/xtest.c +++ b/Xext/xtest.c @@ -148,7 +148,7 @@ ProcXTestCompareCursor(ClientPtr client) return Success; } -static void +void XTestDeviceSendEvents(DeviceIntPtr dev, int type, int detail, @@ -645,9 +645,6 @@ AllocXTestDevice(ClientPtr client, const char *name, XIGetKnownProperty(XI_PROP_XTEST_DEVICE), FALSE); XIRegisterPropertyHandler(*keybd, DeviceSetXTestProperty, NULL, NULL); - - (*ptr)->sendEventsProc = XTestDeviceSendEvents; - (*keybd)->sendEventsProc = XTestDeviceSendEvents; } free(xtestname); diff --git a/dix/devices.c b/dix/devices.c index 39cb42b0d..dca98c8d1 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -283,6 +283,8 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart) dev->deviceGrab.DeactivateGrab = DeactivateKeyboardGrab; dev->deviceGrab.sync.event = calloc(1, sizeof(InternalEvent)); + dev->sendEventsProc = XTestDeviceSendEvents; + XkbSetExtension(dev, ProcessKeyboardEvent); dev->coreEvents = TRUE; diff --git a/include/exevents.h b/include/exevents.h index c900c7b2c..7e3029fc9 100644 --- a/include/exevents.h +++ b/include/exevents.h @@ -305,4 +305,11 @@ XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client, extern int XICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len); +void +XTestDeviceSendEvents(DeviceIntPtr dev, + int type, + int detail, + int flags, + const ValuatorMask *mask); + #endif /* EXEVENTS_H */