Hmm...nie wiedziałem o tym jusb...ale i tak uważam że samemu przez JNA (JNI to dev/null :) ) da radę wszystko oprogramować.
Oczywiście się zgadzam z tym ze Java z założenia bazuje na "wyższych" elementach systemu i nie jej sprawą jest ingerencja w niskopoziomowe systemowe sprawy.
Co do JNA jest świetny ale na początek doradzam J/Invoke i przeczytanie tego linka gdzie kolo właśnie rozpoznaje i czyta urządzenie USB (w tym wypadku jakieś pedały feedback). Zamiast footpedala można wybadac inne urządzenie (ale nie myszke i klawiature)
http://www.jinvoke.com/USB-hardware-access-from-Java#comment-752
W ogóle jeżeli chodzi o USB wysyłanie/odczytanie bajtów bazowanie na ogólnym sterowniku windows zdaje egzamin a programowanie i mapowanie tych struktur do Javy jest w miare proste.