我正在使用一个设备(wiimote),它通过数据管道接收命令,并且只接受与命令本身一样长的命令数据包。例如,它将接受:0x110x10但它不会接受:0x110x100x000x000x00...etc.这是Windows上的一个问题,因为Windows上的WriteFile()要求传递给它的byte[]至少与caps.OutputReportByteLength一样长。在没有此限制的Mac上,我的代码可以正常工作。以下是导致此问题的hid.c中的代码:/*MakesuretherightnumberofbytesarepassedtoWriteFile.Windowsexpectsth
我正在为团队中的通用USBHID设备编写控制软件,在Windows7上工作。由于我是实习生,我的可能性有限:软件必须在Windows上运行软件必须使用Windows提供的默认HID驱动程序我的问题是,无论我在使用HidUSB驱动程序时尝试访问设备(根据Zadig的说法),我的中断传输读取尝试总是导致超时,而设备实际上确实在发送数据。写入设备一直有效,无论我是否使用HIDAPI,是否使用libusb,只有读取失败。(这是一个原始设备atm,甚至还没有完成最终的数据包数据规范,目前它只是向主机发送一个ON或OFF字符串,写入设备会改变LED的状态,在7种颜色和关闭状态之间,这样肯定可以工作
我在Linux上有一个应用程序,它使用hidapi读取复杂设备的数据(由Qt5.3创建)。该设备有多个接口(interface)HID,一种是“鼠标”,一种是“键盘”。在Linux上,我可以毫无问题地获取所有数据。我还需要在Windows上部署我的应用程序。我可以显示所有几个设备和接口(interface),但我无法打开接口(interface)类型为“鼠标”或“键盘”的连接。(hid_open_path返回null)。我看到Windows不允许打开与鼠标和键盘的连接(因为此设备已被Windows使用)。我怎样才能绕过这个禁令?我怎样才能阻止Windows使用特定的键盘或鼠标打开句柄?
前言本人最近在社区里说想做稚晖君的那个瀚文键盘来着,结果遇到两个老哥一个老哥送了我电路板,一个送了我焊接好元件的电路板,既然大家这么舍得,那我也就真的投入制作了这把客制化键盘,当然我为了省钱也是特意把外壳模型重新切割,用3D打印机打印了整个外壳,不得不说省了八九百的CNC费用。键盘介绍我就不说了,键盘主要特色是左边的拓展模块,有墨水屏和手感超好的旋钮,当然也支持自定义开发,能开发也是我写这篇文章的原因,毕竟是为了开发功能,效果图如下,大家可以关注我的b站账号绿荫阿广,来学习交流一些有趣的东西。技术选型在我查阅了一些社区键盘资料发现社区固件有几个版本,稚晖君原版的固件太老了不好用,送我键盘的老哥
编辑:此处报告的问题:https://github.com/signal11/hidapi/issues/276Inkling是Wacom的笔式设备。(InklingReader)是一个开源项目,可以从中获取实时数据。我正在尝试整理InklingReader以使用HIDAPI而不是libusb(因为它在更高级别工作:HID而不是原始USB,因此更加紧凑和适用。而且libusb在最近的OSX上失败了)。HIDAPI一个小库:一个.h,一个(每个平台).c。我的代码是这样的:unsignedshortinklingVendorId=0x056a,inklingProductId=0x022