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

C# 如何在osr自定义浏览器中正确设置键盘事件,c#,keyboard,chromium-embedded,cefglue,C#,Keyboard,Chromium Embedded,Cefglue,我正在尝试使用CefGlue将键盘事件发送到CEF(v90.0.4),在Windows 10上,如何正确设置KeyEvent属性以使其像在普通浏览器中一样进行复制还不是很清楚。 我需要实现这样的事件,因为我必须在OSR中的应用程序中使用CEF,该应用程序有一个自定义的虚拟键盘,所以我不能将其与物理键盘挂钩 我已经尝试了以下属性的组合,但在使用以下站点进行调试时仍然发现错误的值 我的浏览器: 火狐: 从第一个屏幕可以看到,DOM3和遗留值是不同的。 CefGlue在keyevent中有几个属性

我正在尝试使用CefGlue将键盘事件发送到CEF(v90.0.4),在Windows 10上,如何正确设置KeyEvent属性以使其像在普通浏览器中一样进行复制还不是很清楚。 我需要实现这样的事件,因为我必须在OSR中的应用程序中使用CEF,该应用程序有一个自定义的虚拟键盘,所以我不能将其与物理键盘挂钩

我已经尝试了以下属性的组合,但在使用以下站点进行调试时仍然发现错误的值

我的浏览器:

火狐:

从第一个屏幕可以看到,DOM3和遗留值是不同的。 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应该对应于LPRAM,但这对我帮助不大


提前感谢

CEF示例应用程序有一个运行演示