有人可以解释有关Xlib中事件的这一部分吗?

问题描述 投票:1回答:1

我很困惑的部分来自Volume One: Xlib Programming Manual

键盘和指针事件在最小的窗口中生成封闭指针(或抓住指针,如第8.3.2.2节“键盘和指针的抓取”)。然后是这些类型之一(仅)通过窗口向上传播直到事件类型在event_mask或窗口的do_not_propagate_mask属性。如果找到事件首先在event_mask中(或在同一窗口中)就像在该窗口中发生一样发送,并且在do_not_propagate_mask首先,然后再也不会发送。的ID最终接收到事件的窗口(如果有)被放置在窗口中事件结构的成员。

作者关于键盘和指针事件的“生成”是什么意思?

x11 xlib xorg
1个回答
0
投票

[所有事件都序列化为32字节的数据,在您的上下文中“生成”是“用所有必需的信息填充32字节的数据(某些事件在诸如目标窗口ID,事件服务器时间之类的事件中通用,某些事件特定于事件类型例如指针位置的x,y或按下的键的键代码)“ +将其发送到与连接关联的套接字

https://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html

事件长度为32个字节。事件中未使用的字节不是保证为零。每个事件都包含一个8位类型代码。的如果生成了事件,则此代码中的最高有效位将被设置来自SendEvent请求。事件代码64至127保留用于扩展,尽管核心协议未定义用于选择对此类事件的兴趣。每个核心事件((KeymapNotify的例外)也包含最低有效16位客户端发出的最后一个请求的序列号已(或当前正在)由服务器处理。

© www.soinside.com 2019 - 2024. All rights reserved.