我希望在项目中使用罗技无线触摸板。我有兴趣使用这种设备来驱动显微镜载物台。理想情况下,我会将触摸板与计算机连接起来,其唯一目的是驱动舞台,而不是像鼠标一样。常规鼠标将用于浏览窗口和程序的用户界面。
问题在于:我不确定如何重新配置此设备的功能。看起来我似乎需要为触摸板编写一个新的驱动程序。然而,听起来像为设备编写新的驱动程序可能是一项艰巨的任务,如果做得不正确会造成严重后果。从来没有写过司机,我相信我会搞砸一些东西。
以下是我的具体问题:
是否需要编写一个新的驱动程序来重新配置鼠标以进行其他操作?
如果没有,怎么做这样的重新配置? (任何方法都可以接受)。
我能否以某种方式简单地将从设备输出的数据读取到计算机中以获取要处理的事件?
这里有一些其他可能有用的信息:我在Windows 7上用Python编程。我只需要知道触摸板上触摸的(x,y)坐标。任何帮助或建议总比没有好。如果这个问题需要改进才能得到正确回答,请告诉我!提前谢谢!
答案 0 :(得分:1)
1。是否正在编写一个新的驱动程序来重新配置鼠标以进行其他操作?
没有。无论其他问题如何,您仍然需要相同的驱动程序才能从鼠标中读取数据。
2。如果没有,怎么可能做这样的重新配置? (任何方法都可以接受)。
您只需要使指针不是“核心”设备。在Linux下,您只需告诉xinput将其从X下的虚拟核心指针中分离出来。
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ Logitech USB-PS/2 Optical Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Acer CrystalEye webcam id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
$ xinput float 12
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Acer CrystalEye webcam id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
∼ Logitech USB-PS/2 Optical Mouse id=12 [floating slave]
我确信其他操作系统上存在类似的程序。
3。我能以某种方式简单地读取从设备输出到计算机的数据,以便抓取要处理的事件吗?
绝对。这就是event subsystem(以及它对其他操作系统的类比)的用途。