[Xevie] XevieSendEvent events not received
Heinrich Janzing
heinrich.janzing at student.kuleuven.be
Tue Feb 6 02:41:50 PST 2007
Hi,
I'm having trouble sending modified/synthetic events using XevieSendEvent...
The events do not seem to be "arriving" (I have tested this using xev).
Here's a part of my code:
XWindowHit hit = findXWindowAt((int) objCoords.x, (int) objCoords.y);
#ifdef VERBOSE
if (hit.window != None)
cout << "Found X window at click location!" << endl;
#endif
if (hit.window != None)
{
XButtonEvent changedEvent = event;
changedEvent.window = hit.window;
changedEvent.x = hit.relX;
changedEvent.y = hit.relY;
XevieSendEvent(Settings::getDisplay(),
reinterpret_cast<XEvent*>(&changedEvent), XEVIE_MODIFIED);
//XSendEvent(Settings::getDisplay(), hit.window, true,
NoEventMask,
reinterpret_cast<XEvent*>(&changedEvent));
}
I do not get any xlib errors concerning the XevieSendEvent request.
"event" is the original buttonpress event
captured through Xevie. If I use the XSendEvent statement instead of the
XevieSendEvent one, the events do arrive (but with the synthetic flag of
course).
Most likely I don't understand enough of how Xevie works... What fields of the
event structure are filled in automatically by the server after sending them
and which ones do I need to supply? And what exactly am I doing wrong? I am
running Ubuntu Edgy and my app is running under Xgl.
Thanks,
Heinrich
More information about the xevie
mailing list