FocusIn / FocusOut未生成

时间:2013-08-14 14:12:16

标签: x11

有人可以澄清X11服务器的默认焦点处理吗?我的理解是焦点'跟随鼠标',当然,如果我在不同的终端之间移动鼠标,我可以看到光标随着每个窗口获取/失去焦点而改变。

但是当我运行两个xev窗口并在它们之间移动指针时,当指针从一个窗口移动到另一个窗口时,我看到大量的MotionNotify / EnterNotify / LeaveNotify - 但是FocusIn和FocusOut无处可见。这在xev中是一个奇怪的吗?是否有一些特殊的掩码或属性需要应用才能生成这些事件?

非常感谢,R。

虽然我不完全理解答案,但我很感谢parkydr,minitech和其他可能已经停下来的人。

再次感谢,R。

1 个答案:

答案 0 :(得分:2)

焦点是指按键时接收键盘输入的窗口。

焦点处理取决于您的窗口管理器。最常见的模式是单击焦点,您的窗口管理器设置为,您只能在单击窗口时获得焦点。另一种选择是键盘焦点跟随鼠标,这正是您所期望的。

应该有一个设置可以在窗口管理器设置中更改它。

光标更改不表示焦点,只是终端定义了不同的光标。

要演示,请打开终端和xev窗口。

  • 单击xev窗口并按一个键,您将看到关键事件。
  • 将鼠标移动到终端窗口,您将看到动作并离开事件
  • 按一个键,您仍会看到来自xev的重要事件
  • 单击终端窗口,xev将显示焦点事件
  • 按一个键,字符将显示在终端窗口中
  • 将鼠标移到xev窗口上并按一个键,该字符仍将在终端窗口中显示