我正在尝试阅读在Android上的双USB游戏手柄上按下的按钮。
我尝试了android的USB包中提供的所有方法,包括 bulkTransfer,controlTransfer,requestWait 。但按下按钮时,所有这些都会返回相同的内容。我甚至无法得到该设备的真实姓名。
我安装了USB \ BT JoyCenter,它检测到按下的键,并显示连接的游戏手柄的名称。我真的无法弄清楚如何阅读游戏手柄和Android文档并没有完全涵盖如何做到这一点。
答案 0 :(得分:2)
我发现了问题所在。实际上我直接打印出字节数组。我认为java打印字节内存位置而不是它的内容。我使用了一个字节到十六进制转换器,它现在工作正常。
答案 1 :(得分:1)
您可能要做的第一件事就是将设备插入Linux机箱并输入lsusb。您需要了解USB设备支持哪些USB类。将您的答案发布在此处供其他人查看。
然后你需要确定Android是否直接支持这个类。如果它确实那么事情应该相对容易(所以阅读手册)。如果没有,您可能需要使用libusb或类似的方法来进行实际的低级别交互。这不是一个简单的路径,但如果libusb支持USB类,你可以到达那里。
一旦你知道了你正在使用的课程,你可以从standard docos找到你需要在开始发送你感兴趣的数据之前打开的东西。