Android Things:树莓派游戏手柄 USB

Posted

技术标签:

【中文标题】Android Things:树莓派游戏手柄 USB【英文标题】:Android Things: Raspberry Pi Gamepad usb 【发布时间】:2018-06-23 21:55:37 【问题描述】:

有人知道如何在android的东西中实现树莓派的usb游戏手柄的使用,我已经尝试了所有的UsbManager,InputDevice,但我无法让它工作。

https://developer.android.com/training/game-controllers/controller-input https://developer.android.com/guide/topics/connectivity/usb/host

【问题讨论】:

它不仅有效吗? Android 在框架中支持少数 USB 输入设备。 【参考方案1】:

原则上,Android Things 应该与 Android 一样工作,因此,大多数游戏手柄就像 HID 设备一样工作,并将按钮注册为按键,因此您只需覆盖 onKeyDown / onKeyUp。

对于具有多个位置的操纵杆,您有一个 MotionEvent,您可以覆盖 onGenericMotionEvent。

我知道这是您的链接之一,但我一直这样做是为了在 Android 上添加游戏手柄支持:https://developer.android.com/training/game-controllers/controller-input

【讨论】:

问题是树莓派没有检测到游戏手柄,所以我正在寻找替代品。 可能是控制器问题。前段时间我确实用过一个来控制机器人汽车,它工作得很好,而且它是一个非常便宜的控制器。 那个奇怪,我用的是ps3的usb控件,我试试换个控件看看问题是否解决。【参考方案2】:

正版 SIXAXIS/Dualshock3 游戏手柄应该可以在大多数基于 Linux 的操作系统上运行,包括 Raspberry Pi 和 Android,因为它们是通过 hid-sony 内核模块支持的。有时您需要更新的内核版本来支持更新的设备,但 DS3 支持已经足够老,您不需要更新任何东西。

您的游戏手柄是正品索尼设备吗?如果它是第三方游戏手柄,它可能无法通过 hid-sony 工作。它可能仍可用作通用 HID 游戏手柄。

您可以检查 Linux 是否检测到该设备:

ls /dev/input/js*

Linux 上的“操纵杆”设备显示为 /dev/input/js0js1js2 等。如果您在此处没有看到任何内容,则表示操作系统不认为它是游戏手柄,而且可能不是不去上班。

如果 Linux 看到它,但您无法通过 Android Things 访问它,我不知道是什么问题。

【讨论】:

以上是关于Android Things:树莓派游戏手柄 USB的主要内容,如果未能解决你的问题,请参考以下文章

玩转树莓派——支持XBOX手柄

玩转树莓派——支持PS3手柄

树莓派为啥不支持android

达人改造树莓派Pico 让鼠标在初代PS上运行

树莓派3 蓝牙连接 PS3手柄

树莓派 之 连接显示器