1
  1. 一个程序调用了 XGrabKey() 来创建一个热键。
  2. 用户按下该组合键(同时聚焦另一个窗口)。
  3. 程序接收控制以响应按键组合来执行某些操作。同时,该程序暂时被关注(因为 XGrabKey 的影响(参见man XGrabKey, man XGrabKeyboard))。

我希望程序为最初聚焦的窗口创建一个合成 X 事件(按键或鼠标单击)。在某些情况下,这意味着我需要在向它发送事件之前聚焦该窗口(Firefox 在未聚焦时会忽略合成事件),这意味着我需要知道它是哪个窗口。我怎样才能知道它是哪个窗口?

4

1 回答 1

0

Wait for the next FocusOut event, verify that the mode is set to NotifyUngrab, get the focus with XGetInputFocus(), and send away your synthetic events.

于 2012-11-23T22:07:12.373 回答