Java usb输入平台独立

时间:2012-11-01 11:21:57

标签: java input usb platform joystick

我很难找到能够获取通过USB连接的任何设备的输入的Java API。 我找到了jUsb,但它看起来已经过时了。

我想要的是:

  • 独立于平台的API(适用于Unix,Windows,Mac)
  • 一个可以从任何设备获取输入的API(实际上我想将操纵杆连接到我的USB端口)

3 个答案:

答案 0 :(得分:3)

我们的USB传感器遇到了同样的问题:没有100%的Java解决方案。您将始终需要使用其他语言编写的操作系统特定代码(并且可以访问本机API)。

我们发现最便携的解决方案是实现一种将USB数据封装在localhost TCP套接字上的网关。我们有3个网关实现(OSX,UNIX和Windows),它们将调用本机API与USB设备进行交互。 Java代码将通过TCP网关发送/接收USB流量。我们已经完成了一些benchmarks,我们测量了纯C ++代码和Java实现之间的总体差异小于10ms(对于大型45ms事务),而一旦有了,则延迟可以忽略不计(没有影响)一个开放的渠道。

我们撰写了一篇解释our solution here的文章。

答案 1 :(得分:0)

您需要先安装可以检测设备的设备驱动程序。

在设备管理器中 - >端口(COM和LPT)您可以看到设备所连接的端口。例如COM1 / COM2 / COM3

您可以编写代码来添加侦听器事件,以便从这些端口读取数据。 有许多库可用于COM端口。这个link对您有用。

我使用comm.jar从手持扫描仪设备读取输入。

答案 2 :(得分:0)

在过去,我使用过libusb.并不简单,但如果你足够了,你可以获得几个操作系统和Java绑定的驱动程序。