0

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

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

我的浏览器: 我的自定义浏览器

火狐: 火狐

从第一个屏幕可以看出,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,本机,但这对我没有太大帮助。

提前致谢

4

0 回答 0