如何使用 Ubuntu 13.10 设置 Dual Shock 4 控制器?

use*_*257 7 gamepad bluetooth steam games

我得到了我的第一个带有 Ubuntu 的 NAS 盒,安装了 Steam 并被邀请参加游戏流测试!为了改善体验,我得到了一个双冲击 4 控制器。

我知道可以玩它,任何人都可以通过这个握住我的手来帮助我吗?我有一个受支持的蓝牙加密狗,仅此而已。

小智 7

ds4drv

ds4drv 是适用于 Linux 的 Sony DualShock 4 用户空间驱动程序。

特征

  • 模拟 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
Run Code Online (Sandbox Code Playgroud)

[…]

使用

ds4drv 有两种不同的模式来查找 DS4 设备,根据您的用例决定使用哪一种。

原始蓝牙模式

支持的协议:蓝牙

除非您的系统使用 BlueZ 5.14(最近发布)或更高版本,否则无法与 DS4 配对。因此,存在此解决方法,当 DS4 在配对模式下启动时直接连接到 DS4(通过按住 Share + PS 按钮直到 LED 开始快速闪烁)。

这是在没有任何选项的情况下运行时的默认模式:

$ ds4drv
Run Code Online (Sandbox Code Playgroud)

[…]

权限

如果您想以普通用户身份使用 ds4drv,您需要确保 ds4drv 有权使用您系统上的某些功能。

ds4drv 使用内核模块uinput在用户区创建输入设备,使用模块hidraw与 DualShock 4 控制器通信(使用时--hidraw),但这通常需要 root 权限。您可以通过将udev 规则文件复制到/etc/udev/rules.d/.

在此之后,您可能需要重新加载您的 udev 规则:

$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
Run Code Online (Sandbox Code Playgroud)

[…]

已知问题/限制

  • 已知蓝牙 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%
Run Code Online (Sandbox Code Playgroud)