我需要在我的应用程序 (qt VS2008) 中支持带有 9 针串行端口连接器的轨迹球鼠标(制造商:Cortron Inc)。我的操作系统 (Windows XP) 无法识别此鼠标(我看不到光标)。我没有驱动程序,也无法在线找到设备规格。我尝试通过编写 COM1 侦听器来获取鼠标输入,如链接中所述 http://www.robbayer.com/files/serial-win.pdf。代码没有给出任何错误,但我没有在读取的字节中看到任何值。我更改了波特率和超时参数。有趣的是,我看到这个鼠标在另一个应用程序内工作(这里也是,当这个应用程序没有运行时,我看不到光标)在另一台电脑的相同操作系统中。
我已将另一个轨迹球鼠标(制造商:-A 4 Tech)连接到相同的 9 针串行端口,并且该鼠标可以正常工作(显示鼠标光标,行为与常规系统鼠标一样)。即使在这里,我也没有安装任何驱动程序,也没有收到错误消息。COM1 侦听器显示“无效句柄”,portmon.exe(Com 端口嗅探器)显示“Portmon 无法连接到 Serial0 - 设备可能正在使用中”。可能是什么问题?驱动程序是必需的吗?我需要支持 Cortron Inc 轨迹球,而不是 A4 Tech 轨迹球。
答案1
我现在可以检测到轨迹球了 :)。问题出在串行端口设置上,但网站中没有提到。此鼠标遵循鼠标系统 Rs232 协议。传递正确的参数后,输入开始被捕获。有关更多协议详细信息,您可以查阅http://www.mousetrak.com/rs232mousespec.htm