How to send XI2 events from a client to the other client(s) ?

Park Sung-Jin input.hacker at
Thu Aug 26 02:54:43 PDT 2010

I'd like to know how to send XI2 events (such as XI_KeyPress, XI_KeyRelease)
from a client to the other client(s).

I'm working on 1.8.0 version of Xorg server and have a special application.
The special application (which grabs all slave key devices except
XTestKeyboard) receives every key event and delivers it to the proper
client's window.

Most of the other applications are ready to receive KeyPress/KeyRelease
So XSendEvent() was used for deliverying the key event in the first time...
but some applications only can receive XI2 events (such as
XI_KeyPress/XI_KeyRelease) and they want to get the key events
when they're not on the top of window stack (eg. background application).

I tried to send XI2 key events using XSendExtension()  but I realized the
function was not proper for sending XI2 (Generic) events.

I really appreciate your helps in advance.
Thanks :)

- Sung-Jin Park
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg mailing list