I have been working on Jabra SPEAK 410 speakerphone integration into Jitsi.
Basically, the device is stateful, and communicates via the HID Telephony
usage pages (not keyboard) so requires some code to get it working. The
main thing is that the device must be set off-hook/on-hook properly or the
buttons won't work right.
And it does work now, answering calls and hangup works via buttons on the
device etc, via a new bundle in jitsi.
I've written a state machine to manage the device, and a "device driver" in
java using /dev/hidraw devices in Linux - so it's pure java. But there's
no support for other OS.
I have also explored with some success (on linux) using hid4java library
(from github) which uses JNA to use the hidapi library which claims support
for Linux, Mac and Windows (native libraries).
There are other USB devices that require some state tweaking to get working
that I haven't explored yet - I believe they require the same on/off hook
handling (and ring status possbile) to get the devices working properly.
Is there interest in this in the jitsi community? I can put a pull request
up for review on github with the code as is. Tons of it is copied from the
GlobalShortcut handling code.
Will it be possible to include a library that uses JNA to access native