有人可以澄清 X11 服务器的默认焦点处理吗?我的理解是,焦点“跟随鼠标”,并且如果我在不同的终端之间移动鼠标,我可以看到光标随着每个窗口获取/失去焦点而变化。
但是,当我运行两个 xev 窗口并在它们之间移动指针时,当指针从一个窗口移动到另一个窗口时,我会看到大量 MotionNotify/EnterNotify/LeaveNotify - 但无处可见 FocusIn 和 FocusOut。这在xev中是一个奇怪的现象吗?是否需要应用一些特殊的掩码或属性才能生成这些事件?
非常感谢,R.
虽然我不完全理解答案,但我很感谢 Parkydr、Minitech 和任何其他可能来过的人。
再次感谢,R。
获得焦点是指当您按下某个键时接收键盘输入的窗口。
焦点处理取决于您的窗口管理器。最常见的模式是单击聚焦,您的窗口管理器设置为这种模式,只有当您单击窗口时才能获得焦点。另一种方法是键盘焦点跟随鼠标,这正是您所期望的。
您的窗口管理器设置中应该有一个设置可以更改此设置。
光标改变并不表示焦点,只是终端定义了不同的光标。
为了进行演示,请打开一个终端和一个 xev 窗口。
- 单击 xev 窗口并按下某个键,您将看到按键事件。
- 将鼠标移动到终端窗口,您将看到动作和离开事件
- 按一个键,您仍然会看到来自 xev 的关键事件
- 点击终端窗口,xev会给出焦点移出事件
- 按一个键,字符将显示在终端窗口中
- 将鼠标移到 xev 窗口上并按下一个键,字符仍然会在终端窗口中出现
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)