欢迎随时在 vbox-dev 邮件列表<1>上提供关于此页面的反馈和改进建议!
调查 VirtualBox 中的键盘输入问题
本页面旨在帮助具备编程技能的用户调查 VirtualBox 中的键盘输入问题。
默认用户界面从主机捕获键盘事件的代码位于以下文件中
src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
遗憾的是,此处没有可用的日志记录。读取键盘的代码在 Windows、X11 和 OS X 上是不同的。
之后,事件会传递给 Main,它是前端和虚拟机之间的中间层。
src/VBox/Main/src-client/KeyboardImpl.cpp
Main 负责处理所有前端本需要做的事情(键盘方面不多),然后将事件传递给设备仿真代码。这里的路径将因我们使用的是 PS/2 键盘仿真(几乎总是如此)还是 USB 键盘而异。设备仿真使得事件在客户机虚拟硬件上显示。
src/VBox/Devices/Input/
这里有日志记录<2>代码,分别对应日志组 "dev_kbd" 和 "usb_kbd"
要精确监控客户机所看到的内容,最好在客户机操作系统中使用原生工具,例如 Linux/X11 客户机中的 evtest、xinput 和 xev,以及 Windows 客户机中的 keylook<3>。
注意: 查看 TracWiki 获取使用维基的帮助。