int (*XESetWireToEvent(display, event_number, proc))()
      Display *display;
      int event_number;
      Status (*proc)();


display Specifies the connection to the X server.
event_number Specifies the event code.
proc Specifies the procedure to call when converting an event.


The XESetWireToEvent() function defines a procedure to be called when an event needs to be converted from wire format (xEvent) to host format (XEvent). The event number defines which protocol event number to install a conversion procedure for. XESetWireToEvent() returns any previously defined procedure.


You can replace a core event conversion function with one of your own, although this is not encouraged. It would, however, allow you to intercept a core event and modify it before being placed in the queue or otherwise examined.
When Xlib needs to convert an event from wire format to host format, your procedure is called with these arguments:

Status (*proc)(display, re, event)
	Display *display;
	XEvent *re;
	xEvent *event;

Your procedure must return status to indicate if the conversion succeeded. The re argument is a pointer to where the host format event should be stored, and the event argument is the 32-byte wire event structure. In the XEvent structure you are creating, you must fill in the five required members of the event structure. You should fill in the type member with the type specified for the xEvent structure. You should copy all other members from the xEvent structure (wire format) to the XEvent structure (host format). Your conversion procedure should return True if the event should be placed in the queue or False if it should not be placed in the queue.

See also

XESetBeforeFlush(), XESetCloseDisplay(), XESetCopyGC(), XESetCreateFont(), XESetCreateGC(), XESetError(), XESetErrorString(), XESetEventToWire(), XESetFlushGC(), XESetFreeFont(), XESetFreeGC(), XESetPrintErrorValues(), XESetWireToError(), _XSetLastRequestRead(), "Hooks into the Library"
Christophe Tronche, [email protected]