gpt4 book ai didi

java - 使用 Java HID API(管理来自多个键盘的输入)打开 HID 设备时出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 08:54:21 25 4
gpt4 key购买 nike

这个问题可能与 this 重复和 this线。但是由于他们都没有为我的问题提供明确的解决方案,所以我再次询问。

我需要的任务是通过 USB 连接 2 个键盘,然后通过 Java 应用程序分别管理每个键盘的输入。此要求已在 first thread I have mentioned above 中得到一些进展@nan 但他的解决方案对我来说并不准确。您可以在他的解决方案上找到他的博客文章 here .他使用 java-hid-api 完成了解决方案它看起来准确且有效。

然而,我坚持的重点是打开 HID 设备。当我尝试使用 HIDManager 使用 openByPath()openById() 方法打开设备时,它只返回 null,因此它抛出 NullPointerException。当我使用 HIDDeviceInfoopen() 方法尝试时,情况是一样的。 this issue is listed也在 java-hid-api 页面中,但到目前为止似乎还没有人提供有效的解决方案。

我正在使用的操作系统是 Windows 7 32 位

这是我尝试打开 HID 设备的所有 3 次尝试

  1. HIDDevice hidDevice = HIDManager.getInstance().openByPath(hidDeviceInfo.getPath());

  2. HIDDevice hidDevice = HIDManager.getInstance().openById(hidDeviceInfo.getVendor_id(), hidDeviceInfo.getProduct_id(), hidDeviceInfo.getSerial_number());

  3. HIDDevice hidDevice = hidDeviceInfo.open();

有人能解决这个问题吗?如果是这样,非常感谢您的帮助。

谢谢!

更新 1:我刚刚发现这个任务可以用 JInput 完成,根据@paul-whelan 在 this thread 中提供的答案.我现在要尝试一下,但我在这里首先要寻求任何确认或指导,如果有人已经知道并已经完成它的话。

最佳答案

这是初始化库的操作:

ClassPathLibraryLoader.loadNativeHIDLibrary();
HIDManager hm=HIDManager.getInstance();

然后你可以读取设备等:

HIDDeviceInfo[] dvl = hm.listDevices();
for (HIDDeviceInfo dv:dvl){
System.out.println(dv.getManufacturer_string());
}

关于java - 使用 Java HID API(管理来自多个键盘的输入)打开 HID 设备时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com