首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux中的hidapi vs libusb

Linux中的hidapi vs libusb
EN

Stack Overflow用户
提问于 2019-03-21 01:41:56
回答 1查看 6.2K关注 0票数 6

为USB鼠标编写一些C代码。

更具体地写配置和信息到鼠标,如投票,灵敏度,按钮动作,颜色(光),触觉变化,OLED等。

这篇旧文章开始,这里推荐libhid而不是libusb

看着libhid,它似乎已经死了。最后一次参与这个项目是在2012年,那就是C++。但我发现了一些链接,其中一个应该转到hidapi

然而,希达皮似乎也相当死气沉沉。最后一次承诺是2016年。或者说它是简单稳定的?

毕竟,使用libusb看起来更好。从一篇有15年历史的文章开始--这并不算太牵强。

的问题是我是不是遗漏了什么?libusb 是该走的路吗?

已经用libusb-1.0.0-dev做了一些快速测试

代码语言:javascript
复制
#include <libusb-1.0/libusb.h>

而且效果很好--至少对于我所做的快速测试来说是这样。但是藏匿的图书馆也许会更好?

从本机包选项中,我至少有:

代码语言:javascript
复制
libhidapi-dev      
libhidapi-libusb0  
libhidrd0-dbg      
libhidapi-hidraw0  
libhidrd0          
libhidrd0-dev

代码语言:javascript
复制
libusb-0.1-4                 libusbmuxd4
libusb-1.0-0                 libusbmuxd-dev
libusb-1.0-0-dev             libusbmuxd-tools
libusb-1.0-doc               libusb-ocaml
libusbauth-configparser1     libusb-ocaml-dev
libusbauth-configparser-dev  libusbprog0v5
libusb-dev                   libusbprog-dev
libusbguard0                 libusbredirhost1
libusbhid-common             libusbredirhost-dev
libusb-java                  libusbredirparser1
libusb-java-dbg              libusbredirparser-dev
libusb-java-doc              libusbtc08-1
libusb-java-lib              libusbtc08-dev
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 17:50:25

用于USB设备的libusb 推荐使用希达皮。hidapi可以根据操作系统使用不同的后端,例如Windows中的hid.dll,Linux中的hidraw或libusb,所以它使用的是本机USB驱动程序。

但是,要注意的是,hidapi并没有给您提供对您发送的数据包的相同级别的控制。它比libusb级别更高,它用于请求的一些参数是固定的(例如,bRequest值)。

hidapi也是目前未维护,如果这是您关心的问题的话。

Update:截至2019年6月4日,hidapi被移动到libusb/hidapi,现在又在积极地进行维护。

就我个人而言,如果对您的项目有效,请使用hidapi,但是如果设备的协议不符合HID标准,那么您将遇到麻烦,可能需要libusb提供的控制。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55272593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档