NullPointerException podczas otwierania urządzenia HID przy użyciu interfejsu API HID Java (zarządzanie wejściami z wielu klawiatur)
To pytanie jest możliwym duplikatemto ito wątek. Ale ponieważ żaden z nich nie dał jasnego rozwiązania mojego problemu, proszę o to ponownie.
Moim wymaganym zadaniem jest podłączenie 2 klawiatur przez USB, a następnie zarządzanie wejściami każdej klawiatury oddzielnie przez aplikację Java. Ten wymóg został poddany pewnym postępom wpierwszy wątek, o którym wspomniałem powyżej @nan, ale jego rozwiązanie nie działało dokładnie dla mnie. Możesz znaleźć jego post na swoim rozwiązaniututaj. Zrobił rozwiązanie za pomocąjava-hid-api i wydaje się dokładne i działające.
Jednak punkt, w którym utknąłem, polega na otwarciu urządzenia HID. Kiedy próbuję otworzyć urządzenie za pomocąHIDManager
używając alboopenByPath()
alboopenById()
metody zwraca tylko wartość null i dlatego rzucaNullPointerException
. to samo, gdy próbuję użyćopen()
metodaHIDDeviceInfo
. ten problem jest wymieniony na stronie java-hid-api, ale jak dotąd nikt chyba nie przedstawił działającego rozwiązania.
System operacyjny, nad którym pracuję, to 32-bitowy system Windows 7
Oto wszystkie 3 próby, które podjąłem, aby otworzyć urządzenie HID
HIDDevice hidDevice = HIDManager.getInstance().openByPath(hidDeviceInfo.getPath());
HIDDevice hidDevice = HIDManager.getInstance().openById(hidDeviceInfo.getVendor_id(), hidDeviceInfo.getProduct_id(), hidDeviceInfo.getSerial_number());
HIDDevice hidDevice = hidDeviceInfo.open();
Czy ktoś był w stanie rozwiązać ten problem? Jeśli tak, twoja pomoc jest bardzo ceniona.
Dziękuję Ci!
Aktualizacja 1: Właśnie dowiedziałem się, że zadanie to można wykonaćJInput, zgodnie z odpowiedzią udzieloną przez @ paul-whelan wten wątek. Spróbuję tego teraz, ale stwierdzam, że najpierw szukam potwierdzenia lub przewodnika, jak to zrobić, jeśli ktoś już wie i dokonał tego.