如何查usb hid设备的厂商号?急
比如鼠标,操纵杆 在/dev/usb下 和插拔顺序有关 分别是hid0和hid1 那在不知插拔顺序时 我如何知道0对应的是鼠标还是杆?我需要open我的操纵杆 read数据去分析啊 如何知道?急啊 有劳大家了 手机发贴真累
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如鼠标,操纵杆 在/dev/usb下 和插拔顺序有关 分别是hid0和hid1 那在不知插拔顺序时 我如何知道0对应的是鼠标还是杆?我需要open我的操纵杆 read数据去分析啊 如何知道?急啊 有劳大家了 手机发贴真累
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
现在有了些进展
1、在网上看到solaris支持libusb无驱式的库
于是先跑了个例子,遍历usb设备的例子
就是usb_init 、usb_find_busses、usb_find_devices
然后循环遍历总线和设备
但是找不到HID设备,但U盘设备却可以
于是用libusb通过HID的VID/PID查找设备,然后读写的想法暂时失败了
网上那个人也是找不到HID设备
2、然后,仔细看了下libusb.txt文档
里面说到,Solaris要通过libusb访问USB设备,必须用ugen来绑定设备啥的
不是太明白
man ugen查看文档,看了半天,瞎捣腾了会
利用updated_drv -a -i '"usbxxxx,yyyy"' ugen 命令后
发现/dev/usb下就多了xxxx.yyyy的目录,里面放着好多子设备
这些设备有USB控制、传输端点、还有设备状态devstat等等设备文件
此时,再跑libusb的遍历设备的例子,就可以定位到我的hid设备了
然后,就可以用libusb的一系列API函数,来定位我的操作杆了
比如我的操作杆VID、PID分别为xxxx、yyyy
然后,通过遍历总线和设备,查找到对应的libusb的设备结构体
然后通过它就可以读写设备了
3、实际上、ugen创建的设备alias别名目录下的设备,都可以open进行read、write
man ugen手册讲的很细
比如open("/dev/usb/xxxx.yyyy/if0in1",O_RDONLY)就是打开设备的0接口的1号端点用于read
然后就能read数据了
详细的我也没时间看了
分享下我的经验
4、实际上linux可以通过遍历hid设备目录下的所有hid0~hidx
每打开一个,通过ioctl的HIDIOCGDEVINFO来获取hid节点的VID/PID,然后比较你自己的设备
就能知道hidx是你要的设备了
而且,hid设备节点打开后,还支持select
但if0in1形式的端点设备节点,open后,不支持select操作
汗了 真没研究这个
自己再顶
居然是手机发帖,顶。