为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
用于USB HID设备的libusb recommend using hidapi。 hidapi可以根据操作系统使用不同的后端,例如: Windows中的hid.dll,Linux中的hidraw或libusb,所以它使用本机USB驱动程序。
请注意,虽然hidapi不会对您发送的数据包进行相同级别的控制。它比libusb更高级,并且它用于请求的一些参数是固定的(例如bRequest值)。
如果这是你关注的话,hidapi也是not currently maintained。
我个人会说使用hidapi如果它适用于你的项目,但如果设备的协议不符合HID标准,那么你将遇到麻烦,可能需要libusb给你的控制。