为USB鼠标编写一些C代码。
更具体地说,将配置和信息写入鼠标,例如民意测验,灵敏度,按钮动作,颜色(浅色),触觉改变,OLED等。
从this old article开始,其中推荐libhid
胜过libusb
。
看着libhid似乎已经死了。该项目的最后一次提交是在2012年,它是C ++。但是我发现一些链接说应该转到hidapi
。
但是,hidapi似乎也已经死了。上一次提交时间为2016年。也许它只是稳定的?
使用libusb
似乎是更好的选择。从一篇长达15年的文章开始-不需要花费太多时间。
问题是我是否缺少某些东西? libusb
可行吗?
已使用libusb-1.0.0-dev
#include <libusb-1.0/libusb.h>
,并且效果很好-至少对于我已经完成的快速测试。但是HID库可能会更好?
从本机软件包选项中我至少有:
libhidapi-dev
libhidapi-libusb0
libhidrd0-dbg
libhidapi-hidraw0
libhidrd0
libhidrd0-dev
和
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
答案 0 :(得分:1)
libusb recommend using hidapi。 hidapi可以根据操作系统使用不同的后端,例如在Windows中为hid.dll,在Linux中为hidraw或libusb,因此它使用的是本机USB驱动程序。
请注意,尽管hidapi对您发送的数据包没有提供相同级别的控制。它的级别比libusb高,并且它用于请求的某些参数是固定的(例如bRequest值)。
如果您担心的话,hidapi也是not currently maintained。
个人而言,如果它对您的项目运行正常,我会说使用hidapi,但是如果设备的协议未遵循HID标准,那么您将遇到麻烦,并且可能需要libusb为您提供的控制。