阅读:3947回复:8
是在Inf文件中还是在驱动程序中?
我发现USB力反馈手柄不用驱动程序也可以用。不过没有力反馈功能
请问有谁知道实现力反馈是不是在驱动程序中实现?或者是在Inf 文件中住注册表中加一些东东。 |
|
|
沙发#
发布于:2001-05-07 18:01
应该是在驱动中实现,力反馈可是专有硬件的功能
除非这个力反馈硬件现在也有统一标准,且MS默认 支持,但只建议有经验的用户改动,你才有可能往 注册表中加一些东东就使用这个功能。 你说的不写驱动也能用是因为USB手柄是一种标准设备 WINDOWS自动安装他的默认驱动程序 |
|
板凳#
发布于:2001-05-08 16:42
我用的是Logitech的手柄,我把Logitech安装在System32\drivers下
的所有驱动程序全部删除之后仍然可以用它的力反馈功能。我想应该 不是在驱动程序中实现力反馈。不知你有何高见。 |
|
|
地板#
发布于:2001-05-08 18:48
首先,明确一个问题,外设硬件必须安装驱动才能使用,若不是专用驱动则必然是默认驱动,想想你是先装WINDOWS还是先装的显卡驱动。Logitech算是名厂,就算MS特地给他们做了一个驱动也不希奇,退一步,WINDOWS中带了Logitech自己写的驱动也很普通,添加新硬件时可以选择的不是有一大堆吗。
力反馈手柄的驱动我没做过,不过我想力反馈实现可能是用I/O刷几个控制寄存器,力反馈命令一般是游戏(应用软件)发,硬件只负责执行,比较复杂的可能会用中断。 所以,若你确定你删的是Logitech的专用驱动,那解释就是WINDOWS重新检测到了新硬件,并安装了自带的驱动,且这个驱动要么默认支持Logitech,要麽干脆就是Logitech自己写的以前版本。还有一种可能是你根本没有删掉这个驱动,在手柄未拔出的情况下,你恐怕删不掉那个驱动,USB的我没试过,但在2000下你可以尝试删掉I8042prt.sys,这是键盘驱动,你会发现删掉后几秒钟他又重新出现,而且也覆盖不了。你可以试试看。 [wuqix 编辑于 2001-05-08 20:09] |
|
地下室#
发布于:2001-05-09 06:31
力反馈设备属于HID(Human Interface Device),操作系统本身就含有此类的驱动。有一点需要注意的时,在开发usb产品时,只要
描述符的设置符合hid的规范,加之有相应的firmware来支持的话,一般不需要写驱动,除非您有特殊的要求。当然,这类属于usb的中断传输方式。如果要用批量或等时同步方式的话,一般应该自己写驱动。目前的2000操作系统里,对usb上层驱动的支持,一是hid类,二是storage类。不知道我的愚见能否解答您的问题?同时谢谢此网站给大家提供了一个很好的驱动交流场所! |
|
5楼#
发布于:2001-05-09 09:22
bjcjg兄高见
小弟还有一事不了解,力反馈是一个标准吗?也就是说有相关硬件的协议好象PNP似的。换句话说,有没有可能我做一个USB键盘也支持力反馈,而且只装默认驱动就可以用力反馈功能。若是标准,那协议在哪可以下载,而且力反馈的功能是不是用过滤驱动实现,多谢指教。 |
|
6楼#
发布于:2001-05-09 11:01
感谢大家的回复。
这两天又研究了一下Joystick。通过在系统的HidUsb.Sys中下断点, 我发现力反馈是通过WriteReport来实现的。但不知是哪个驱动程序 或是应用程序向HidUsb.sys发出的WriteReport请求。 |
|
|
7楼#
发布于:2001-05-10 05:23
力反馈属于hid类,在usb.org可以找到相应的标准。
在应用层对于hid类的调用时通过读写报告描述符来实现的。至于详细的细节,与directx有关,属于硬件无关性。 |
|
8楼#
发布于:2001-05-10 05:27
目前市场上出现的usb键盘、鼠标、操纵杆等均属于usb 的hid类,所以按照规范的标准自己做usb键盘是可能的。
|
|