我得到了我的第一个装有 Ubuntu 的 NAS 盒,安装了 Steam,并被邀请参加游戏流媒体测试版!为了改善体验,我买了一个 Dual Shock 4 控制器。
我知道可以玩这个,有人能帮我解决这个问题吗?我有一个受支持的蓝牙适配器,就是这样。
答案1
ds4drv
ds4drv 是适用于 Linux 的 Sony DualShock 4 用户空间驱动程序。
- 讨论:https://groups.google.com/forum/#!forum/ds4drv
- GitHub:https://github.com/chrippa/ds4drv
- PyPI:https://pypi.python.org/pypi/ds4drv
特征
- 选择模拟 Xbox 360 控制器以兼容 Steam 游戏
- 设置 LED 颜色
- 通过 LED 闪烁提醒您电池电量不足
- 将触控板用作鼠标
- 自定义映射,将按钮和操纵杆映射到您想要的任何鼠标、按键或操纵杆操作
- 可以通过按钮绑定循环切换的设置配置文件
安装
依赖项
- Python 2.7 或 3.3+(对于 Debian/Ubuntu,您需要安装 python2.7-dev 或 python3.3-dev 包)
- python-setuptools
- hcitool(通常在 bluez-utils 或等效包中可用)
这些软件包通常会由安装脚本自动安装,但如果可用,您可能希望使用您的发行版的软件包:
- pyudev 0.16 或更高版本
- python-evdev 0.3.0 或更高版本
稳定版本
使用 pip 安装最新版本很简单:
sudo pip install ds4drv
[…]
使用
ds4drv 有两种不同的模式来查找 DS4 设备,请根据您的使用情况决定使用哪一种。
原始蓝牙模式
支持的协议:蓝牙
除非您的系统使用的是 BlueZ 5.14(最近发布)或更高版本,否则无法与 DS4 配对。因此存在此解决方法,当 DS4 以配对模式启动时(通过按住分享 + PS 按钮直到 LED 开始快速闪烁)。
这是不带任何选项运行时的默认模式:
$ ds4drv
[…]
权限
如果您想以普通用户身份使用 ds4drv,则需要确保 ds4drv 有权使用系统上的某些功能。
ds4drv 使用内核模块输入框在用户空间和模块中创建输入设备希德拉夫与 DualShock 4 控制器通信(使用 时
--hidraw
),但这通常需要 root 权限。您可以通过复制udev 规则文件到/etc/udev/rules.d/
。此后,您可能需要使用以下命令重新加载 udev 规则:
$ sudo udevadm control --reload-rules $ sudo udevadm trigger
[…]
已知问题/限制
- 已知蓝牙 2.0 适配器存在问题,建议使用 2.1+。
- 控制器永远不会关闭,你需要手动按住 PS 按钮直到控制器关闭
- 不支持震动
[…]
结果(通过 Steam 玩游戏时):
$ ds4drv --trackpad-mouse --emulate-xpad-wireless
[info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event20 (evdev)
[info][bluetooth] Scanning for devices
[info][bluetooth] Found device aa:bb:cc:dd:ee:ff
[info][controller 1] Connected to Bluetooth Controller (aa:bb:cc:dd:ee:ff)
[info][bluetooth] Scanning for devices
[info][controller 1] Battery: 62%
[info][controller 1] Battery: 50%
[warning][controller 1] Signal strength is low (44 reports/s)
[info][controller 1] Battery: 37%
答案2
Steam 上的 DS4
DS4 似乎在 Steam 中具有原生支持(客户端从 2016-01-01 开始,在带有 HWE 内核的 Ubuntu 14.04 和 15.10 上进行测试)并且大屏幕模式可以通过 USB 和蓝牙按预期工作。
要在 Ubuntu 中配对 DS4,请转到蓝牙设置,然后按配对设备列表下方的加号按钮 (+) 进入配对对话框,然后按住控制器上的PS+Share直到 LED 开始闪烁,然后选择无线控制器一旦出现即可配对。
通过 USB 连接 ds4drv
为了回答 Lucas 的评论,REAMDME 已更新,现在包含以下内容:
Hidraw 模式
支持的协议:蓝牙和USB
此模式使用 Linux 内核功能 hidraw 与系统上已经存在的设备通信。
$ ds4drv --hidraw
[…]
要在此模式下通过 USB 使用 DS4,只需通过微型 USB 电缆将 DS4 连接到计算机。
注意:不幸的是,由于内核错误,目前在该模式下使用蓝牙设备时无法使用任何 LED 功能。