有人知道如何在Android事物中实现对树莓派使用usb游戏手柄,我已经尝试了所有UsbManager,InputDevice,但无法使其工作。
https://developer.android.com/training/game-controllers/controller-input https://developer.android.com/guide/topics/connectivity/usb/host
答案 0 :(得分:0)
原则上,Android Things应该与Android相同,因此,大多数游戏手柄都可以作为HID设备使用,并将按钮注册为按键,因此您只需要覆盖onKeyDown / onKeyUp。
在操纵杆具有多个位置的情况下,您有一个MotionEvent,可以覆盖onGenericMotionEvent。
我知道这是您的链接之一,但这是我一直在添加Android上的游戏手柄支持的过程:https://developer.android.com/training/game-controllers/controller-input
答案 1 :(得分:0)
真正的SIXAXIS / Dualshock3游戏手柄应该可以在大多数基于Linux的操作系统(包括Raspberry Pi和Android)上运行,因为它们是由hid-sony内核模块支持的。有时您需要较新的内核版本来支持较新的设备,但是DS3支持已经足够旧,因此您无需更新任何内容。
您的游戏手柄是正版Sony设备吗?如果它是第三方游戏手柄,则可能无法通过“隐藏式索尼”工作。它可能仍然可以用作通用的HID游戏手柄。
您可以检查Linux是否检测到设备:
ls /dev/input/js*
Linux上的“游戏杆”设备显示为/dev/input/js0
,js1
,js2
等。如果在此处看不到任何内容,则表示操作系统不认为它是游戏手柄,可能无法正常工作。
如果Linux可以看到它,但是您无法通过Android Things访问它,那么我不知道问题出在哪里。