menghuijinxi

Results 1 comments of menghuijinxi

我找到了一个解决该问题的方法,但它不是通用方案,适用场景有限,可能无法满足所有需求。相比传统的基于截图和像素比对的输入检测方式,该方案在性能上有明显提升。 实现思路如下: 整个网页作为 UI 覆盖层完全覆盖在后端应用(如 Unreal Engine)窗口之上。然而,网页中很大一部分区域并不需要前端交互(例如背景区域或仅用于展示的 UI),这些区域的输入应由后端直接处理。 我们可以通过 JavaScript 监听键盘事件,并判断当前是否需要前端响应。如果当前上下文不需要前端处理输入(比如光标位于非交互区域),则通过 window.chrome.webview.postMessage() 将按键事件转发给后端(也可使用 WebSocket 等其他通信方式)。 后端接收到消息后,通过模拟原生平台输入事件的方式触发对应行为。例如,在 Unreal Engine 中,我通过调用底层平台消息处理接口: `FSlateApplication::Get().GetPlatformApplication()->GetMessageHandler()->OnKeyDown(...)` 来模拟向平台发送键盘按下消息。这种方式绕过了前端 UI 系统,直接注入输入事件,从而实现“输入穿透”的效果 —— 即:网页虽覆盖窗口,但特定区域的输入仍能被后端正确接收和响应。