nos*_*e99 6 c++ windows mouse winapi
最近我发现了光学鼠标作为增量位置编码器的美感.
光学鼠标通常包含一个组件,其中相机链接到链接到USB接口的图像处理器.分辨率取决于相机分辨率.在互联网上,很容易找到这类组件的数据表,这些数据表还描述了如何使用它们进行读/写.
我首先需要解决的问题是如何确保笔记本电脑/ PC不会将编码器鼠标看作指点设备,而不会禁用它所连接的USB端口.我需要使用2个编码器,这意味着需要在我的PC(运行Windows XP)上使用3个USB端口,一个用于鼠标作为指点设备,两个用于鼠标作为编码器.
第二个问题是如何通过USB端口从/向编码器鼠标读/写指令/数据?有人可以给我发一个C++教程/示例的链接吗?
首先十分感谢,
斯特凡
USB 鼠标微控制器可能是硬编码的,以发送将自身标识为 HID 设备的 USB 帧。在这种情况下,您几乎不可能成功阻止 Windows 将其用作鼠标。毕竟这是一只老鼠。
如果您是 DIY,您可以尝试通过拆焊组件/电线来破解鼠标板,并使用您的 arduino 直接控制编码器。这样,Arduino 就可以从编码器读取数据,并使用自己的 USB 串行端口将其发送到 PC。
请参阅那里的示例:
http://www.martijnthe.nl/2009/07/interface-an-optical-mouse-sensor-to-your-arduino/
有关 HID 设备的更多信息:http : //en.wikipedia.org/wiki/USB_human_interface_device_class 摘录:“与 USB HID 相关的 API 有两个级别:USB 级别和操作系统级别。在 USB 级别,有一种协议,用于设备宣布其功能和操作系统来解析它获得的数据。然后操作系统为应用程序提供更高级别的视图,应用程序不需要包括对单个设备的支持,而是对设备类别的支持。这种抽象层允许游戏与任何 USB 控制器一起工作,例如,即使是在游戏之后创建的。”
| 归档时间: |
|
| 查看次数: |
2788 次 |
| 最近记录: |