xev 输出中的“合成”是什么意思?

xev 输出中的“合成”是什么意思?

如果运行 xev 并按 Alt,它会生成以下事件:

KeyPress event, serial 37, synthetic NO, window 0xa600001,
    root 0x5bc, subw 0x0, time 823983987, (672,346), root:(672,411),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

在这种情况下“合成”到底意味着什么?

答案1

如果syntheticYES而不是NO,则意味着该事件是“假”事件,由另一个 X11 客户端生成XSendEvent(3),不是由服务器。

许多程序(例如xtermfirefox)忽略合成事件(ClientMessage 事件除外)。与任何类型的真正安全性相比,这更像是一种感觉良好的措施,因为 X11 客户端可以通过 XTest 扩展(默认情况下存在并启用)轻松生成按键和鼠标事件。

相关内容