【问题标题】:Can I get the input data by directly reading the IOport of an USB keyboard我可以通过直接读取USB键盘的IOport来获取输入数据吗
【发布时间】:2014-02-01 01:02:31
【问题描述】:

我在Xen平台上工作,现在我想拦截HVM域上的中断来读取键盘的原始数据(扫描码)。

一个想法是管理程序遵循路径UHCI帧列表->与键盘设备相关的TD->数据缓冲区来获取原始数据。但是,当产生中断时,TD 已经从 TD 列表中删除。这样hypervisor就找不到数据缓冲区,也就无法读取原始数据了。

另一种思路是直接读取键盘的IOport。

我知道可以通过读取 IOport 0x60 和 0x64 来获取 PS2 键盘的输入 但我目前的工作设备是 USB 键盘。

现在我的问题是是否可以获取USB键盘的输入原始数据 通过直接读取 IOports。

如果可以,如何实现,请给我一个简单的例子。

或者还有其他方法可以读取输入的原始数据吗?

【问题讨论】:

    标签: io keyboard usb xen


    【解决方案1】:

    似乎没有导出端口(例如 USB 键盘)供客人读取此类信息。

    但我发现,即使控制器成功完成数据传输,UHCI 控制器也不会自动从列表中删除 TD。删除操作在uhci-irq函数中完成

    这样,我们就可以在调用uhci-irq函数之前读取数据缓冲区了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      相关资源
      最近更新 更多