我正在寻找为简单的无线 HID 接口设备编写一个 Linux/Windows/Mac Java HID 控制器。我对 USB4Java LibUsb 库进行了修改,但没有成功,我已经转向 JavaHIDAPI 的方向。
不幸的是,对我来说,除了相当不错的高级编程技能集(C#/VB.Net)之外,我真的不知道自己在做什么,而切换到这一点简直要了我的命。
The 方向我发现说我首先需要编译找到的 HIDAPI 库here。它说它将构建一个名为 hidapi-jni.dll 的东西(但它没有)。
不管怎样,我认为这就是我需要去的地方,因为 HID 什么也不做,只是简单地向无线控制器发送信号和从无线控制器接收信号(并对收到的信号做出响应)。
有没有使用 JavaHIDAPI 的分步教程?或者有更好的库吗? (我注意到这有点……过时了)。
我自己尝试了以下方法:
static{ System.loadLibrary("hidapi"); }
.
.
.
public static void main(string[] Args) throws . . . {
ClassPathLibraryLoader.loadNativeHIDLibrary();
HIDDevice dev = HIDManager.getInstance().openById(VEND_ID, PROD_ID, null);
.
.
.
}
我遇到的问题是(除了 HIDAPI 似乎没有构建到 HIDAPI-jni.dll 中这一事实之外)是 HIDManager.openById(. . .) 总是返回 null。另外,我将内置的 hidapi.dll 移动到了 C:...\Java...\bin 目录...或者其他东西,我确信它是正确的,因为没有任何不满意的链接错误。这真的很令人沮丧,因为似乎没有任何关于 Java 和 HID 的新手指南。
我在这里做错了什么?
我回答这个问题有点晚了,但我写了一个名为hid4java这可能会解决你的问题。
它基于 Java Native Access (JNA),这比处理复杂的 JNI 咒语要简单得多。
我不得不写它,因为 javahidapi 已经过时了,底层的signal11/hidapi代码已经发生了很大的变化。旧版本的 hidapi 库在 OS X 上存在附加/分离事件问题,现已修复,因此需要升级。
另外,我发现无法在 OS X 上通过 usb4java 声明 USB HID 设备,因此我最终编写了这个库来解决该问题。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)