在XGrabKey(板)期间,发现哪个窗口已被聚焦

时间:2012-11-22 01:16:12

标签: x11

  1. 程序调用XGrabKey()来制作热键。
  2. 用户按下该组合键(同时聚焦另一个窗口)。
  3. 程序接收控件以响应键组合做某事。同时,该程序暂时关注(由于XGrabKey的影响(见man XGrabKeyman XGrabKeyboard))。
  4. 我希望程序为最初聚焦的窗口创建合成X事件(按键或鼠标单击)。在某些情况下,这意味着我需要在发送事件之前关注该窗口(Firefox在没有聚焦的情况下忽略合成事件),这意味着我需要知道它是哪个窗口。我怎样才能找出它是哪个窗口?

1 个答案:

答案 0 :(得分:0)

等待下一个FocusOut事件,验证mode是否设置为NotifyUngrab,使用XGetInputFocus()获得焦点,然后发送合成事件。