如何在 osr 自定义浏览器中正确设置键盘事件

问题描述

我正在尝试使用 Cefglue 将键盘事件发送到 CEF (v90.0.4),在 Windows 10 上,不是很清楚,但是如何正确设置 KeyEvent 属性以使其复制,就像我在普通浏览器中一样。 我需要实现这样的事件,因为我必须在具有自定义虚拟键盘​​的应用程序中使用 OSR 中的 CEF,因此我无法将其连接到物理键盘

我尝试了以下属性的组合,但在使用 https://dvcs.w3.org/hg/d4e/raw-file/tip/key-event-test.html 等网站调试时我仍然看到错误的值

我的浏览器:

My custom browser

火狐:

Firefox

从第一个屏幕可以看出,DOM3 和 Legacy 值是不同的。 Cefglue 在 keyevent 中有几个属性。这就是我正在修改内容,事件类型属性似乎工作正常,基本上我通过发送 keydown、char 和 keyup 来使用所有 3 个,对于这三个我配置其他参数,例如“q”:

keyEvent.Character = character;//value: 113 'q'
keyEvent.UnmodifiedCharacter = character;
keyEvent.WindowsKeyCode = k.WindowsKeyCode;//value: 0x51
keyEvent.NativeKeyCode = 0;

我做错了什么?我找不到任何可以复制的示例,所以我在这里问。 我读过 WindowsKeyCode 应该与 wParam 和 NativeKeyCode 对应于 lParam,本机,但这对我没有多大帮助。

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)